WO2021095959A1 - System and method for inserting scene information or shot information into video file - Google Patents

System and method for inserting scene information or shot information into video file Download PDF

Info

Publication number
WO2021095959A1
WO2021095959A1 PCT/KR2019/015971 KR2019015971W WO2021095959A1 WO 2021095959 A1 WO2021095959 A1 WO 2021095959A1 KR 2019015971 W KR2019015971 W KR 2019015971W WO 2021095959 A1 WO2021095959 A1 WO 2021095959A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
data
shot
scene information
chunk
Prior art date
Application number
PCT/KR2019/015971
Other languages
French (fr)
Korean (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 전자부품연구원
Publication of WO2021095959A1 publication Critical patent/WO2021095959A1/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/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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments

Definitions

  • the present invention relates to a system and method for inserting scene information or shot information into a video file, and more particularly, to MPEG-4 video scene information or shot information without affecting playback of MPEG-4 standard video. 4 It relates to a system and method for embedding into standard standard video.
  • Video can be composed of individual video frames that can be grouped into multiple shots.
  • a shot means a sequence of frames captured at a predetermined visual angle of the camera.
  • a scene means a collection of shots that can be related in action, place, context and/or time.
  • a scene may be characterized as a continuous set of shots that capture certain actions taking place at a particular location.
  • this method has a disadvantage in that it is difficult to manage a file due to separate management of a video file and a metadata file, and is vulnerable to data omission or truncation when transmitting a video or metadata.
  • an embodiment of the present invention inserts scene information or shot information between chunk data, which is a continuous set of one MPEG-4 standard video file data, without affecting the reproduction of the video.
  • chunk data which is a continuous set of one MPEG-4 standard video file data
  • a method of inserting scene information or shot information into an MPEG-4 video file includes the video file and the scene information. Or opening a file including shot information; Analyzing location information and size information of ftyp (file type box) data, mdat (media data box) data, and moov (movie box) data for the video file; And changing the mdat data based on whether the scene information or shot information is inserted between chunk data according to the analysis result, and modifying the moov data based on the change.
  • changing the mdat data may include inserting the scene information or shot information between the chunk data included in the mdat data, and modifying the size information of the mdat data.
  • the inserting of the scene information or shot information between the chunks includes: determining whether the scene information or shot information to be inserted is present; Analyzing start and end frame information of the scene information or shot information when the scene information or shot information to be inserted is present; Determining whether to insert the scene information or shot information into an end of the first chunk data; And inserting the scene information or shot information into an end of the first chunk data.
  • the determining whether to insert the scene information or shot information into the end of the first chunk data includes the first chunk data including video data and the first chunk data. When the video frame number is greater than the last frame number of the scene information or shot information, it may be determined to be inserted.
  • the step of inserting the scene information or shot information between the chunks is, when it is not determined to be inserted into the first chunk data, at the end of the second chunk data positioned after the first chunk data. It may include determining whether to insert the scene information or shot information.
  • the inserting of the scene information or shot information between the chunks includes: reading scene information or shot information to be inserted next according to the insertion into the first chunk data; And reading the read scene information or second chunk data positioned after the first chunk data into which the shot information is to be inserted.
  • stco (chunk offset box) information including location information of the chunk data included in the moov data may be modified.
  • a system including a memory storing a program for inserting scene information or shot information into an MPEG-4 video file according to the second aspect of the present invention and a processor executing a program stored in the memory , As the processor executes the program, it opens the video file and a file including the scene information or shot information, and ftyp (file type box) data, mdat (media data box) for the video file After analyzing the location information and size information of data and moov (movie box) data, the mdat data is changed based on whether the scene information or shot information is inserted between chunk data according to the analysis result, and the Modifies moov data based on whether it has changed.
  • ftyp file type box
  • mdat media data box
  • FIG. 1 is a diagram for describing a system according to an embodiment of the present invention.
  • FIG. 2 is a flowchart of an insertion method according to an embodiment of the present invention.
  • FIG. 3 is a flowchart illustrating a method of changing mdat data.
  • FIG. 4 is a flowchart illustrating a method of inserting scene information or shot information.
  • FIG. 1 is a diagram illustrating a system 100 according to an embodiment of the present invention.
  • the system 100 includes a memory 110 and a processor 120.
  • a program for inserting scene information or shot information into an MPEG-4 video file is stored in the memory 110.
  • the memory 110 collectively refers to a nonvolatile storage device and a volatile storage device that continuously maintains stored information even when power is not supplied.
  • the memory 120 may be a compact flash (CF) card, a secure digital (SD) card, a memory stick, a solid-state drive (SSD), and a micro SD card.
  • CF compact flash
  • SD secure digital
  • SSD solid-state drive
  • Micro SD card Magnetic computer storage devices such as NAND flash memory, hard disk drives (HDD), such as cards, and optical disc drives such as CD-ROM, DVD-ROM, etc. I can.
  • the processor 120 executes the program stored in the memory 110, it opens a video file and a file including scene information or shot information.
  • the processor 120 analyzes the location information and size information of ftyp (file type box) data, mdat (media data box) data, and moov (movie box) data for the video file, and then chunks ( Chunk)
  • ftyp file type box
  • mdat media data box
  • moov moov
  • Chunk chunks
  • FIG. 1 the constituent elements shown in FIG. 1 according to an embodiment of the present invention may be implemented in software or in hardware such as a Field Programmable Gate Array (FPGA) or an Application Specific Integrated Circuit (ASIC), and perform predetermined roles. can do.
  • FPGA Field Programmable Gate Array
  • ASIC Application Specific Integrated Circuit
  • components are not meant to be limited to software or hardware, and each component may be configured to be in an addressable storage medium or configured to reproduce one or more processors.
  • components are components such as software components, object-oriented software components, class components, and task components, processes, functions, properties, procedures, and sub- Includes routines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays and variables.
  • Components and functions provided within the components can be combined into a smaller number of components or further divided into additional components.
  • FIG. 2 is a flowchart of an insertion method according to an embodiment of the present invention.
  • 3 is a flowchart illustrating a method of changing mdat data.
  • 4 is a flowchart illustrating a method of inserting scene information or shot information.
  • a file including scene information or shot information and an MPEG-4 video file (hereinafter referred to as a video file) to which the scene information or shot information is to be inserted are opened (S110). .
  • location information and size information of ftyp (file type box) data, mdat (media data box) data, and moov (movie box) data based on the start of the video file are analyzed.
  • An MPEG-4 video file consists of ftyp data, which is a file type box that checks the compatibility of files, moov data, which is a movie box that stores all metadata of the media, and mdat data, which is a media data box that stores actual media.
  • stco (chunk offset box) information including location information of each chunk data may be analyzed.
  • moov data is composed of mvhd (movie header box), and a plurality of traks (track boxes), which are boxes defining a single track in a movie.
  • trak includes a sample table box (stbl) that describes information on media sample data.
  • stbl includes table box information such as stsd (sample description box), stts (time-to-sample box), stsz (sample size box), stsc (sample to chunk box), and stco (chunk offset box).
  • stsd sample description box
  • stts time-to-sample box
  • stsz sample size box
  • stsc sample to chunk box
  • stco chunk offset box
  • the mdat data is changed based on whether scene information or shot information is inserted between chunk data according to the analysis result (S130).
  • the step of changing mdat data includes inserting scene information or shot information between chunk data included in mdat data (S131), and correcting size information of mdat data (S132). I can.
  • step S132 is performed.
  • the scene information or shot information is analyzed. In this step, the process of grasping the start frame and end frame information of the scene information or shot information is performed. It is performed (S1312).
  • the first chunk data is analyzed (S1313).
  • a type of data included in the chunk data and a number of a video frame included in the chunk data when the chunk data includes a video are analyzed.
  • first and second chunk data mentioned herein do not mean the chunk data at a specific location. That is, the current chunk data of any one of the chunk data at an arbitrary position is referred to as first chunk data, and the chunk data at the next position is referred to as second chunk data.
  • the location information of the first chunk data is the index value of the current chunk data described in stco
  • the size information is a value obtained by subtracting the index value of the first chunk data from the index value of the second chunk data. I can.
  • insertion is determined (S1314). -Y).
  • scene information or shot information is inserted into the end of the first chunk data (S1315).
  • the second chunk data positioned after the first chunk data is subject to the scene information or the same as the first chunk data. Whether to insert shot information is determined (S1316).
  • the read scene information or second chunk data positioned after the first chunk data into which the shot information is to be inserted is read (S1318). If scene information or shot information is inserted into the second chunk data in the above step, the third chunk data is read, and this process is repeated until all scene information or shot information is inserted.
  • size information of mdat data is corrected (S132).
  • the mdat data is composed of 4 bytes of size information, 4 bytes of type information, and a plurality of chunk data.
  • size information of mdat data is corrected by summing the size of the additional data inserted between the chunk data and the size of the chunk data.
  • an embodiment of the present invention may modify stco information including location information of chunk data included in moov data.
  • the offset information of stco is updated by summing the scene information or shot information inserted between the chunk data from the existing offset information.
  • insertion of scene information or shot information between chunk data in an MPEG-4 standard video is completed.
  • steps S110 to S140 may be further divided into additional steps or may be combined into fewer steps, according to an embodiment of the present invention.
  • some steps may be omitted as necessary, or the order between steps may be changed.
  • the contents already described in Fig. 1 are also applied to the insertion method in Figs.
  • An embodiment of the present invention may be implemented in the form of a computer program stored in a medium executed by a computer or a recording medium including instructions executable by a computer.
  • Computer-readable media can be any available media that can be accessed by a computer, and includes both volatile and nonvolatile media, removable and non-removable media. Further, the computer-readable medium may include both computer storage media and communication media.
  • Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
  • Communication media typically includes computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, or other transmission mechanism, and includes any information delivery media.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Library & Information Science (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

A method for inserting scene information or shot information into an MPEG-4 video file, according to the present invention, comprises the steps of: opening the video file and a file, which includes the scene information or the shot information; analyzing location information and size information about file type box (ftyp) data, media data box (mdat) data, and movie box (moov) data for the video file; changing, according to the analysis result, the mdat data on the basis of whether the scene information or the shot information is inserted between chunk data; and correcting the moov data on the basis of whether the change is performed.

Description

씬 정보 또는 샷 정보를 비디오 파일에 삽입하기 위한 시스템 및 방법System and method for inserting scene information or shot information into a video file
본 발명은 씬 정보 또는 샷 정보를 비디오 파일에 삽입하기 위한 시스템 및 방법에 관한 것으로, 보다 구체적으로는 MPEG-4 표준 규격 비디오의 재생에는 영향을 미치지 않으면서도 비디오의 씬 정보 또는 샷 정보를 MPEG-4 표준 규격 비디오에 삽입하도록 하는 시스템 및 방법에 관한 것이다.The present invention relates to a system and method for inserting scene information or shot information into a video file, and more particularly, to MPEG-4 video scene information or shot information without affecting playback of MPEG-4 standard video. 4 It relates to a system and method for embedding into standard standard video.
비디오는 다수의 샷(shot)들로 그룹핑될 수 있는 개개의 비디오 프레임(video frame)들로 구성될 수 있다. Video can be composed of individual video frames that can be grouped into multiple shots.
예를 들어, 샷(shot)은 카메라의 소정의 시각(visual angle)으로 캡처되는 프레임의 시퀀스(sequence)를 의미한다.For example, a shot means a sequence of frames captured at a predetermined visual angle of the camera.
그리고 씬(scene)은 행동, 장소, 콘텍스트(context) 및/또는 시간에서 관련될 수 있는 샷의 모음을 의미한다.And a scene means a collection of shots that can be related in action, place, context and/or time.
일 예로, 코미디나 연속극 또는 드라마와 같은 몇몇 프로그램의 예에서, 씬은 특정 위치에서 일어나는 소정의 행동을 캡처(capture)하는 샷의 연속 세트(continuous set)로서 특징지어질 수 있다.For example, in some examples of programs such as comedy or soap operas or dramas, a scene may be characterized as a continuous set of shots that capture certain actions taking place at a particular location.
한편, 최근 비디오의 손쉬운 편집이나 비디오의 클립별 재사용과 같이 비디오 파일의 일부분을 가공 및 유통하여 수익을 창출하고자 하는 시도들이 활발히 진행되고 있다.Meanwhile, recent attempts to generate revenue by processing and distributing a part of a video file, such as easy editing of a video or reuse for each clip of a video, have been actively conducted.
이러한 비디오 파일의 경우 전술한 바와 같이 씬 또는 샷 단위로 비디오의 각 부분을 구분하는 것이 일반적이며, 최근에는 AI와 같은 신기술을 기반으로 비디오의 씬 또는 샷을 검출하는 연구들이 활발히 진행되고 있다.In the case of such a video file, as described above, it is common to classify each part of a video in units of scenes or shots, and recently, studies for detecting a scene or shot of a video based on a new technology such as AI have been actively conducted.
씬 또는 샷 단위로 구분된 비디오를 이용하는 종래 기술의 경우에는, 씬 또는 샷 정보를 별도의 메타데이터로 만든 후, 해당 비디오를 전송할 때에 씬 또는 샷 정보가 포함된 메타데이터를 함께 전송하는 방법을 일반적으로 사용하였다.In the case of the prior art using video divided by scene or shot units, a method of creating scene or shot information as separate metadata, and then transmitting metadata including scene or shot information together when transmitting the video is a general method. Was used as.
하지만, 이러한 방법은 비디오 파일과 메타데이터 파일을 별도로 관리함으로 인해 파일 관리의 어려움이 있을 뿐만 아니라 비디오 또는 메타데이터의 전송시 데이터 누락이나 잘림 현상에 취약하다는 단점이 있다.However, this method has a disadvantage in that it is difficult to manage a file due to separate management of a video file and a metadata file, and is vulnerable to data omission or truncation when transmitting a video or metadata.
본 발명의 실시예는 전술한 문제점을 해결하기 위하여, 하나의 MPEG-4 표준 규격 비디오 파일 데이터의 연속된 집합인 청크 데이터 사이에 씬 정보 또는 샷 정보를 삽입하여 비디오의 재생에 영향을 미치지 않으면서 동시에, 비디오 전송시 데이터 누락 또는 잘림 현상이 발생하더라도 전송된 비디오에 대한 씬 정보 또는 샷 정보를 최대한 보존할 수 있도록 하는 비디오 파일을 생성하는 시스템 및 방법을 제공한다.In order to solve the above-described problem, an embodiment of the present invention inserts scene information or shot information between chunk data, which is a continuous set of one MPEG-4 standard video file data, without affecting the reproduction of the video. At the same time, there is provided a system and method for generating a video file that allows the scene information or shot information of the transmitted video to be preserved as much as possible even if data is missing or truncated during video transmission.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.However, the technical problem to be achieved by the present embodiment is not limited to the technical problem as described above, and other technical problems may exist.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따른 씬(Scene) 정보 또는 샷(Shot) 정보를 MPEG-4 비디오 파일에 삽입하는 방법은 상기 비디오 파일과, 상기 씬 정보 또는 샷 정보를 포함하고 있는 파일을 오픈하는 단계; 상기 비디오 파일에 대한 ftyp(file type box) 데이터, mdat(media data box) 데이터 및 moov(movie box) 데이터의 위치 정보 및 크기 정보를 분석하는 단계; 상기 분석 결과에 따라 청크(Chunk) 데이터 간에 상기 씬 정보 또는 샷 정보의 삽입 여부에 기초하여 상기 mdat 데이터를 변경하는 단계 및 상기 변경 여부에 기초하여 moov 데이터를 수정하는 단계를 포함한다.As a technical means for achieving the above-described technical problem, a method of inserting scene information or shot information into an MPEG-4 video file according to the first aspect of the present invention includes the video file and the scene information. Or opening a file including shot information; Analyzing location information and size information of ftyp (file type box) data, mdat (media data box) data, and moov (movie box) data for the video file; And changing the mdat data based on whether the scene information or shot information is inserted between chunk data according to the analysis result, and modifying the moov data based on the change.
일 실시예로, 상기 mdat 데이터를 변경하는 단계는, 상기 mdat 데이터에 포함된 상기 청크 데이터 간에 상기 씬 정보 또는 샷 정보를 삽입하는 단계 및 상기 mdat 데이터의 크기 정보를 수정하는 단계를 포함할 수 있다.In an embodiment, changing the mdat data may include inserting the scene information or shot information between the chunk data included in the mdat data, and modifying the size information of the mdat data. .
일 실시예로, 상기 청크 간에 상기 씬 정보 또는 샷 정보를 삽입하는 단계는, 삽입할 상기 씬 정보 또는 샷 정보의 유무를 판단하는 단계; 상기 삽입할 씬 정보 또는 샷 정보가 존재하는 경우, 상기 씬 정보 또는 샷 정보의 시작 및 종료 프레임 정보를 분석하는 단계; 제 1 청크 데이터의 종말단에 상기 씬 정보 또는 샷 정보의 삽입 여부를 결정하는 단계; 및 상기 씬 정보 또는 샷 정보를 상기 제 1 청크 데이터의 종말단에 삽입하는 단계를 포함할 수 있다.In an embodiment, the inserting of the scene information or shot information between the chunks includes: determining whether the scene information or shot information to be inserted is present; Analyzing start and end frame information of the scene information or shot information when the scene information or shot information to be inserted is present; Determining whether to insert the scene information or shot information into an end of the first chunk data; And inserting the scene information or shot information into an end of the first chunk data.
일 실시예로, 상기 제 1 청크 데이터의 종말단에 상기 씬 정보 또는 샷 정보의 삽입 여부를 결정하는 단계는, 상기 제 1 청크 데이터가 비디오 데이터를 포함하고, 상기 제 1 청크 데이터가 포함하고 있는 비디오 프레임 번호가 상기 씬 정보 또는 샷 정보의 마지막 프레임 번호보다 큰 경우 삽입하도록 결정할 수 있다.In an embodiment, the determining whether to insert the scene information or shot information into the end of the first chunk data includes the first chunk data including video data and the first chunk data. When the video frame number is greater than the last frame number of the scene information or shot information, it may be determined to be inserted.
일 실시예로, 상기 청크 간에 상기 씬 정보 또는 샷 정보를 삽입하는 단계는, 상기 제 1 청크 데이터에 삽입되도록 결정되지 않은 경우, 상기 제 1 청크 데이터 이후에 위치하는 제 2 청크 데이터의 종말단에 상기 씬 정보 또는 샷 정보의 삽입 여부를 결정하는 단계를 포함할 수 있다.In one embodiment, the step of inserting the scene information or shot information between the chunks is, when it is not determined to be inserted into the first chunk data, at the end of the second chunk data positioned after the first chunk data. It may include determining whether to insert the scene information or shot information.
일 실시예로, 상기 청크 간에 상기 씬 정보 또는 샷 정보를 삽입하는 단계는, 상기 제 1 청크 데이터에 삽입됨에 따라 다음 삽입할 씬 정보 또는 샷 정보를 독출하는 단계; 및 상기 독출된 씬 정보 또는 샷 정보를 삽입할 상기 제 1 청크 데이터 이후에 위치하는 제 2 청크 데이터를 독출하는 단계를 포함할 수 있다.In one embodiment, the inserting of the scene information or shot information between the chunks includes: reading scene information or shot information to be inserted next according to the insertion into the first chunk data; And reading the read scene information or second chunk data positioned after the first chunk data into which the shot information is to be inserted.
일 실시예로, 상기 moov 데이터를 수정하는 단계는, 상기 moov 데이터에 포함된 상기 청크 데이터의 위치 정보를 포함하고 있는 stco(chunk offset box) 정보를 수정할 수 있다.In an embodiment, in the modifying the moov data, stco (chunk offset box) information including location information of the chunk data included in the moov data may be modified.
또한, 본 발명의 제 2 측면에 따른 씬(Scene) 정보 또는 샷(Shot) 정보를 MPEG-4 비디오 파일에 삽입하기 위한 프로그램이 저장된 메모리 및 상기 메모리에 저장된 프로그램을 실행시키는 프로세서를 포함하는 시스템은, 상기 프로세서는 상기 프로그램을 실행시킴에 따라, 상기 비디오 파일과 상기 씬 정보 또는 샷 정보를 포함하고 있는 파일을 오픈하고, 상기 비디오 파일에 대한 ftyp(file type box) 데이터, mdat(media data box) 데이터 및 moov(movie box) 데이터의 위치 정보 및 크기 정보를 분석한 후, 상기 분석 결과에 따라 청크(Chunk) 데이터 간에 상기 씬 정보 또는 샷 정보의 삽입 여부에 기초하여 상기 mdat 데이터를 변경하고, 상기 변경 여부에 기초하여 moov 데이터를 수정한다.In addition, a system including a memory storing a program for inserting scene information or shot information into an MPEG-4 video file according to the second aspect of the present invention and a processor executing a program stored in the memory , As the processor executes the program, it opens the video file and a file including the scene information or shot information, and ftyp (file type box) data, mdat (media data box) for the video file After analyzing the location information and size information of data and moov (movie box) data, the mdat data is changed based on whether the scene information or shot information is inserted between chunk data according to the analysis result, and the Modifies moov data based on whether it has changed.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공될 수 있다.In addition to this, another method for implementing the present invention, another system, and a computer-readable recording medium for recording a computer program for executing the method may be further provided.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 비디오 파일 및 씬/샷 데이터를 별도의 파일로 관리하는 방법에 비하여 파일 관리가 보다 효율적이라는 장점이 있다.According to any one of the above-described problem solving means of the present invention, there is an advantage in that file management is more efficient than a method of managing video files and scene/shot data as separate files.
또한, 청크 데이터의 사이에 씬 정보 또는 샷 정보를 삽입함으로써 MPEG-4 비디오의 재생에는 영향을 미치지 않는다는 효과가 있다.In addition, by inserting scene information or shot information between chunk data, there is an effect that the reproduction of MPEG-4 video is not affected.
이와 더불어, 청크 데이터의 종말단에 씬 정보 또는 샷 정보를 삽입함으로써 비디오 전송시 데이터의 누락이나 잘림 현상이 발생하더라도 전송된 비디오에 대한 씬 정보 또는 샷 정보를 최대한 보존할 수 있다는 효과가 있다.In addition, by inserting scene information or shot information at the end of the chunk data, it is possible to preserve the scene information or shot information of the transmitted video as much as possible even if data is missing or truncated during video transmission.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.
도 1은 본 발명의 일 실시예에 따른 시스템을 설명하기 위한 도면이다.1 is a diagram for describing a system according to an embodiment of the present invention.
도 2는 본 발명의 일 실시예에 따른 삽입 방법의 순서도이다. 2 is a flowchart of an insertion method according to an embodiment of the present invention.
도 3은 mdat 데이터를 변경하는 방법을 설명하기 위한 순서도이다. 3 is a flowchart illustrating a method of changing mdat data.
도 4는 씬 정보 또는 샷 정보를 삽입하는 방법을 설명하기 위한 순서도이다.4 is a flowchart illustrating a method of inserting scene information or shot information.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those of ordinary skill in the art can easily implement the present invention. However, the present invention may be implemented in various different forms and is not limited to the embodiments described herein. In the drawings, parts not related to the description are omitted in order to clearly describe the present invention.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.In the entire specification, when a certain part "includes" a certain component, it means that other components may be further included rather than excluding other components unless otherwise stated.
도 1은 본 발명의 일 실시예에 따른 시스템(100)을 설명하기 위한 도면이다.1 is a diagram illustrating a system 100 according to an embodiment of the present invention.
본 발명의 일 실시예에 따른 시스템(100)은 메모리(110) 및 프로세서(120)를 포함한다.The system 100 according to an embodiment of the present invention includes a memory 110 and a processor 120.
메모리(110)에는 씬 정보 또는 샷 정보를 MPEG-4 비디오 파일에 삽입하기 위한 프로그램이 저장된다. A program for inserting scene information or shot information into an MPEG-4 video file is stored in the memory 110.
이때, 메모리(110)는 전원이 공급되지 않아도 저장된 정보를 계속 유지하는 비휘발성 저장장치 및 휘발성 저장장치를 통칭하는 것이다. 예를 들어, 메모리(120)는 콤팩트 플래시(compact flash; CF) 카드, SD(secure digital) 카드, 메모리 스틱(memory stick), 솔리드 스테이트 드라이브(solid-state drive; SSD) 및 마이크로(micro) SD 카드 등과 같은 낸드 플래시 메모리(NAND flash memory), 하드 디스크 드라이브(hard disk drive; HDD) 등과 같은 마그네틱 컴퓨터 기억 장치 및 CD-ROM, DVD-ROM 등과 같은 광학 디스크 드라이브(optical disc drive) 등을 포함할 수 있다.In this case, the memory 110 collectively refers to a nonvolatile storage device and a volatile storage device that continuously maintains stored information even when power is not supplied. For example, the memory 120 may be a compact flash (CF) card, a secure digital (SD) card, a memory stick, a solid-state drive (SSD), and a micro SD card. Magnetic computer storage devices such as NAND flash memory, hard disk drives (HDD), such as cards, and optical disc drives such as CD-ROM, DVD-ROM, etc. I can.
프로세서(120)는 메모리(110)에 저장된 프로그램을 실행시킴에 따라, 비디오 파일과 그리고 씬 정보 또는 샷 정보를 포함하고 있는 파일을 오픈한다.As the processor 120 executes the program stored in the memory 110, it opens a video file and a file including scene information or shot information.
그리고 프로세서(120)는 비디오 파일에 대한 ftyp(file type box) 데이터, mdat(media data box) 데이터 및 moov(movie box) 데이터의 위치 정보 및 크기 정보를 분석한 후, 상기 분석 결과에 따라 청크(Chunk) 데이터 간에 상기 씬 정보 또는 샷 정보의 삽입 여부에 기초하여 상기 mdat 데이터를 변경하고, 상기 변경 여부에 기초하여 moov 데이터를 수정한다.In addition, the processor 120 analyzes the location information and size information of ftyp (file type box) data, mdat (media data box) data, and moov (movie box) data for the video file, and then chunks ( Chunk) The mdat data is changed based on whether the scene information or shot information is inserted between data, and the moov data is modified based on the change.
참고로, 본 발명의 실시예에 따른 도 1에 도시된 구성 요소들은 소프트웨어 또는 FPGA(Field Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit)와 같은 하드웨어 형태로 구현될 수 있으며, 소정의 역할들을 수행할 수 있다.For reference, the constituent elements shown in FIG. 1 according to an embodiment of the present invention may be implemented in software or in hardware such as a Field Programmable Gate Array (FPGA) or an Application Specific Integrated Circuit (ASIC), and perform predetermined roles. can do.
그렇지만 '구성 요소들'은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 각 구성 요소는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다.However,'components' are not meant to be limited to software or hardware, and each component may be configured to be in an addressable storage medium or configured to reproduce one or more processors.
따라서, 일 예로서 구성 요소는 소프트웨어 구성 요소들, 객체지향 소프트웨어 구성 요소들, 클래스 구성 요소들 및 태스크 구성 요소들과 같은 구성 요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다.Thus, as an example, components are components such as software components, object-oriented software components, class components, and task components, processes, functions, properties, procedures, and sub- Includes routines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays and variables.
구성 요소들과 해당 구성 요소들 안에서 제공되는 기능은 더 작은 수의 구성 요소들로 결합되거나 추가적인 구성 요소들로 더 분리될 수 있다.Components and functions provided within the components can be combined into a smaller number of components or further divided into additional components.
이하에서는 도 2 내지 도 4를 참조하여 상기 시스템(100)에서 수행되는 방법에 대하여 보다 구체적으로 설명하도록 한다.Hereinafter, a method performed in the system 100 will be described in more detail with reference to FIGS. 2 to 4.
도 2는 본 발명의 일 실시예에 따른 삽입 방법의 순서도이다. 도 3은 mdat 데이터를 변경하는 방법을 설명하기 위한 순서도이다. 도 4는 씬 정보 또는 샷 정보를 삽입하는 방법을 설명하기 위한 순서도이다.2 is a flowchart of an insertion method according to an embodiment of the present invention. 3 is a flowchart illustrating a method of changing mdat data. 4 is a flowchart illustrating a method of inserting scene information or shot information.
본 발명의 일 실시예는 먼저, 씬 정보 또는 샷 정보를 포함하고 있는 파일과, 상기 씬 정보 또는 샷 정보를 삽입하고자 하는 MPEG-4 비디오 파일(이하, 비디오 파일이라 한다)을 오픈한다(S110).According to an embodiment of the present invention, first, a file including scene information or shot information and an MPEG-4 video file (hereinafter referred to as a video file) to which the scene information or shot information is to be inserted are opened (S110). .
다음으로, 오픈된 비디오 파일의 구조를 분석한다(S120). Next, the structure of the opened video file is analyzed (S120).
이 단계에서는 비디오 파일의 시작을 기준으로 하는 ftyp(file type box) 데이터, mdat(media data box) 데이터 및 moov(movie box) 데이터의 위치 정보 및 크기 정보를 분석한다.In this step, location information and size information of ftyp (file type box) data, mdat (media data box) data, and moov (movie box) data based on the start of the video file are analyzed.
MPEG-4 비디오 파일은 파일의 호환성을 확인하는 파일 타입 박스인 ftyp 데이터와, 미디어의 모든 메타데이터를 저장하는 무비 박스인 moov 데이터, 그리고 실제 미디어를 저장하는 미디어 데이터 박스인 mdat 데이터로 구성된다.An MPEG-4 video file consists of ftyp data, which is a file type box that checks the compatibility of files, moov data, which is a movie box that stores all metadata of the media, and mdat data, which is a media data box that stores actual media.
일 실시예로, 이 단계에서는 moov 데이터가 포함하고 있는 정보 중에서, 각 청크 데이터의 위치 정보를 포함하고 있는 stco(chunk offset box) 정보를 분석할 수 있다.As an embodiment, in this step, among information included in moov data, stco (chunk offset box) information including location information of each chunk data may be analyzed.
참고로, moov 데이터는 mvhd(movie header box), 무비 안의 단일 트랙을 정의하는 박스인 다수개의 trak(track box)로 구성된다. 그리고 trak은 미디어 샘플 데이터의 정보를 기술하는 stbl(sample table box)를 포함하고 있다.For reference, moov data is composed of mvhd (movie header box), and a plurality of traks (track boxes), which are boxes defining a single track in a movie. And trak includes a sample table box (stbl) that describes information on media sample data.
또한, stbl은 stsd(sample description box), stts(time-to-sample box), stsz(sample size box), stsc(sample to chunk box), stco(chunk offset box) 등과 같은 테이블 박스 정보를 포함한다.In addition, stbl includes table box information such as stsd (sample description box), stts (time-to-sample box), stsz (sample size box), stsc (sample to chunk box), and stco (chunk offset box). .
다음으로, 상기 분석 결과에 따라 청크 데이터 간에 씬 정보 또는 샷 정보의 삽입 여부에 기초하여 mdat 데이터를 변경한다(S130).Next, the mdat data is changed based on whether scene information or shot information is inserted between chunk data according to the analysis result (S130).
일 실시예로, mdat 데이터를 변경하는 단계는, mdat 데이터에 포함된 청크 데이터 간에 씬 정보 또는 샷 정보를 삽입하는 단계(S131)와, mdat 데이터의 크기 정보를 수정하는 단계(S132)를 포함할 수 있다.In one embodiment, the step of changing mdat data includes inserting scene information or shot information between chunk data included in mdat data (S131), and correcting size information of mdat data (S132). I can.
먼저, mdat 데이터에 포함된 청크 데이터 간에 씬 정보 또는 샷 정보를 삽입하는 단계(S131)에 대하여 설명하면 다음과 같다.First, the step of inserting scene information or shot information between chunk data included in mdat data (S131) will be described as follows.
우선 삽입할 씬 정보나 샷 정보가 존재하는지 여부를 판단한다(S1311). First, it is determined whether there is scene information or shot information to be inserted (S1311).
여기에서 삽입할 씬 정보나 샷 정보가 더 이상 존재하지 않는 경우에는(S1311-N) 단계 S132를 수행하게 된다.Here, when the scene information or shot information to be inserted no longer exists (S1311-N), step S132 is performed.
이와 달리 삽입할 씬 정보나 샷 정보가 존재하는 경우에는(S1311-Y), 씬 정보 또는 샷 정보를 분석하게 되는데, 해당 단계에서는 씬 정보 또는 샷 정보의 시작 프레임 및 종료 프레임 정보를 파악하는 과정이 수행된다(S1312).In contrast, if there is scene information or shot information to be inserted (S1311-Y), the scene information or shot information is analyzed. In this step, the process of grasping the start frame and end frame information of the scene information or shot information is performed. It is performed (S1312).
이후, 제 1 청크 데이터를 분석한다(S1313). 제 1 청크 데이터를 분석하는 단계는, 청크 데이터가 포함하고 있는 데이터의 종류, 청크 데이터가 비디오를 포함하고 있는 경우 청크 데이터가 포함하고 있는 비디오 프레임의 번호를 분석한다.Thereafter, the first chunk data is analyzed (S1313). In the step of analyzing the first chunk data, a type of data included in the chunk data and a number of a video frame included in the chunk data when the chunk data includes a video are analyzed.
이때, 청크 데이터를 독출하기 위해서는 현재 청크 데이터의 위치 정보와 크기 정보가 필요하다.At this time, in order to read the chunk data, location information and size information of the current chunk data are required.
한편, 여기에서 언급하는 제 1 및 제 2 청크 데이터는 특정 위치에 있는 청크 데이터를 의미하는 것이 아니다. 즉, 임의의 위치에 있는 어느 하나의 청크 데이터 중 현재 청크 데이터를 제 1 청크 데이터라 하고, 그 다음 위치에 있는 청크 데이터를 제 2 청크 데이터라 한다.Meanwhile, the first and second chunk data mentioned herein do not mean the chunk data at a specific location. That is, the current chunk data of any one of the chunk data at an arbitrary position is referred to as first chunk data, and the chunk data at the next position is referred to as second chunk data.
일 실시예로, 제 1 청크 데이터의 위치 정보는 stco에 기술된 현재 청크 데이터의 인덱스 값이 사용되며, 크기 정보는 제 2 청크 데이터의 인덱스 값에서 제 1 청크 데이터의 인덱스 값을 뺀 값을 사용할 수 있다.In one embodiment, the location information of the first chunk data is the index value of the current chunk data described in stco, and the size information is a value obtained by subtracting the index value of the first chunk data from the index value of the second chunk data. I can.
다음으로, 제 1 청크 데이터의 종말단에 씬 정보 또는 샷 정보를 삽입할지 여부를 결정한다(S1314).Next, it is determined whether to insert scene information or shot information into the end of the first chunk data (S1314).
일 실시예로, 제 1 청크 데이터가 포함하고 있는 데이터의 종류가 비디오 데이터이고, 제 1 청크 데이터가 포함하고 있는 비디오 플레임 번호가 씬 정보 또는 샷 정보의 마지막 프레임 번호보다 큰 경우 삽입 결정한다(S1314-Y).In an embodiment, if the type of data included in the first chunk data is video data, and the video frame number included in the first chunk data is greater than the last frame number of the scene information or the shot information, insertion is determined (S1314). -Y).
이와 같은 결정에 따라 씬 정보 또는 샷 정보를 제 1 청크 데이터의 종말단에 삽입한다(S1315).According to this determination, scene information or shot information is inserted into the end of the first chunk data (S1315).
이와 달리, 씬 정보 또는 샷 정보가 제 1 청크 데이터에 삽입되도록 결정되지 않은 경우(S1314-N), 제 1 청크 데이터 이후에 위치하는 제 2 청크 데이터를 대상으로 제 1 청크 데이터와 마찬가지로 씬 정보 또는 샷 정보의 삽입 여부를 결정하게 된다(S1316). On the contrary, when it is not determined that scene information or shot information is inserted into the first chunk data (S1314-N), the second chunk data positioned after the first chunk data is subject to the scene information or the same as the first chunk data. Whether to insert shot information is determined (S1316).
이에 따라, 제 2 청크 데이터를 분석하는 과정을 거친 후, 삽입 여부를 판단하여 결정하는 과정을 수행하게 된다.Accordingly, after a process of analyzing the second chunk data is performed, a process of determining whether to insert or not is determined is performed.
다음으로, 제 1 청크 데이터에 씬 정보 또는 샷 정보가 삽입되고 나면 다음 삽입할 씬 정보 또는 샷 정보를 독출한다(S1317).Next, after scene information or shot information is inserted into the first chunk data, the next scene information or shot information to be inserted is read (S1317).
그리고 독출된 씬 정보 또는 샷 정보를 삽입할 제 1 청크 데이터 이후에 위치하는 제 2 청크 데이터를 독출한다(S1318). 만약 위 단계에서 제 2 청크 데이터에 씬 정보 또는 샷 정보를 삽입한 경우에는 제 3 청크 데이터를 독출하게 되며, 이러한 과정은 씬 정보 또는 샷 정보가 모두 삽입될 때까지 반복 수행된다.Then, the read scene information or second chunk data positioned after the first chunk data into which the shot information is to be inserted is read (S1318). If scene information or shot information is inserted into the second chunk data in the above step, the third chunk data is read, and this process is repeated until all scene information or shot information is inserted.
다시 도 3을 참조하면, 청크 데이터 간에 씬 정보 또는 샷 정보의 삽입이 완료되면, mdat 데이터의 크기 정보를 수정하게 된다(S132).Referring back to FIG. 3, when insertion of scene information or shot information between chunk data is completed, size information of mdat data is corrected (S132).
mdat 데이터는 4bytes의 크기(size) 정보, 4bytes의 타입(type) 정보, 그리고 다수의 청크 데이터로 구성된다.The mdat data is composed of 4 bytes of size information, 4 bytes of type information, and a plurality of chunk data.
이 과정에서는 청크 데이터 간에 삽입된 부가 데이터들의 크기와 청크 데이터의 크기를 합산하여 mdat 데이터의 크기 정보를 수정하게 된다.In this process, size information of mdat data is corrected by summing the size of the additional data inserted between the chunk data and the size of the chunk data.
mdat 크기 정보 수정이 완료되면, moov 데이터를 수정한다(S140).When the modification of the mdat size information is completed, the moov data is modified (S140).
씬 정보 또는 샷 정보를 삽입한 이후에도 비디오의 정상적인 재생을 위해서는 moov 데이터의 정보를 수정해야 한다.Even after inserting scene information or shot information, moov data information must be modified for normal video playback.
이를 위해 본 발명의 일 실시예는 moov 데이터에 포함된 청크 데이터의 위치 정보를 포함하고 있는 stco 정보를 수정할 수 있다.To this end, an embodiment of the present invention may modify stco information including location information of chunk data included in moov data.
stco 정보는 각 청크 데이터의 위치 정보를 가지고 있는바, 기존의 오프셋(offset) 정보에서 청크 데이터 간에 삽입된 씬 정보 또는 샷 정보를 합산하여 stco의 오프셋 정보를 갱신하게 된다.Since stco information has position information of each chunk data, the offset information of stco is updated by summing the scene information or shot information inserted between the chunk data from the existing offset information.
이와 같은 본 발명의 일 실시예에 따라, MPEG-4 표준 규격 비디오에서의 청크 데이터 사이에 씬 정보 또는 샷 정보의 삽입이 완료된다.According to an embodiment of the present invention, insertion of scene information or shot information between chunk data in an MPEG-4 standard video is completed.
상술한 설명에서, 단계 S110 내지 단계 S140는 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다. 아울러, 기타 생략된 내용이라 하더라도 도 1에서 이미 기술된 내용은 도 2 내지 도 4에서의 삽입 방법에도 적용된다.In the above description, steps S110 to S140 may be further divided into additional steps or may be combined into fewer steps, according to an embodiment of the present invention. In addition, some steps may be omitted as necessary, or the order between steps may be changed. In addition, even if other contents are omitted, the contents already described in Fig. 1 are also applied to the insertion method in Figs.
본 발명의 일 실시예는 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램 또는 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다. An embodiment of the present invention may be implemented in the form of a computer program stored in a medium executed by a computer or a recording medium including instructions executable by a computer. Computer-readable media can be any available media that can be accessed by a computer, and includes both volatile and nonvolatile media, removable and non-removable media. Further, the computer-readable medium may include both computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Communication media typically includes computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, or other transmission mechanism, and includes any information delivery media.
본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.Although the methods and systems of the present invention have been described in connection with specific embodiments, some or all of their components or operations may be implemented using a computer system having a general-purpose hardware architecture.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The above description of the present invention is for illustrative purposes only, and those of ordinary skill in the art to which the present invention pertains will be able to understand that other specific forms can be easily modified without changing the technical spirit or essential features of the present invention. will be. Therefore, it should be understood that the embodiments described above are illustrative and non-limiting in all respects. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as being distributed may also be implemented in a combined form.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is indicated by the claims to be described later rather than the detailed description, and all changes or modified forms derived from the meaning and scope of the claims and their equivalent concepts should be interpreted as being included in the scope of the present invention do.

Claims (8)

  1. 씬(Scene) 정보 또는 샷(Shot) 정보를 MPEG-4 비디오 파일에 삽입하는 방법에 있어서,In the method of inserting scene information or shot information into an MPEG-4 video file,
    상기 비디오 파일과, 상기 씬 정보 또는 샷 정보를 포함하고 있는 파일을 오픈하는 단계;Opening the video file and a file including the scene information or shot information;
    상기 비디오 파일에 대한 ftyp(file type box) 데이터, mdat(media data box) 데이터 및 moov(movie box) 데이터의 위치 정보 및 크기 정보를 분석하는 단계; Analyzing location information and size information of ftyp (file type box) data, mdat (media data box) data, and moov (movie box) data for the video file;
    상기 분석 결과에 따라 청크(chunk) 데이터 간에 상기 씬 정보 또는 샷 정보의 삽입 여부에 기초하여 상기 mdat 데이터를 변경하는 단계 및Changing the mdat data based on whether the scene information or shot information is inserted between chunk data according to the analysis result; and
    상기 변경 여부에 기초하여 moov 데이터를 수정하는 단계를 포함하는 삽입 방법.And modifying moov data based on the change.
  2. 제 1 항에 있어서,The method of claim 1,
    상기 mdat 데이터를 변경하는 단계는,The step of changing the mdat data,
    상기 mdat 데이터에 포함된 상기 청크 데이터 간에 상기 씬 정보 또는 샷 정보를 삽입하는 단계 및Inserting the scene information or shot information between the chunk data included in the mdat data, and
    상기 mdat 데이터의 크기 정보를 수정하는 단계를 포함하는 것인 삽입 방법.And modifying the size information of the mdat data.
  3. 제 2 항에 있어서,The method of claim 2,
    상기 청크 간에 상기 씬 정보 또는 샷 정보를 삽입하는 단계는,Inserting the scene information or shot information between the chunks,
    삽입할 상기 씬 정보 또는 샷 정보의 유무를 판단하는 단계;Determining the presence or absence of the scene information or shot information to be inserted;
    상기 삽입할 씬 정보 또는 샷 정보가 존재하는 경우, 상기 씬 정보 또는 샷 정보의 시작 및 종료 프레임 정보를 분석하는 단계;Analyzing start and end frame information of the scene information or shot information when the scene information or shot information to be inserted is present;
    제 1 청크 데이터의 종말단에 상기 씬 정보 또는 샷 정보의 삽입 여부를 결정하는 단계; 및Determining whether to insert the scene information or shot information into an end of the first chunk data; And
    상기 씬 정보 또는 샷 정보를 상기 제 1 청크 데이터의 종말단에 삽입하는 단계를 포함하는 삽입 방법.Inserting the scene information or shot information into an end of the first chunk data.
  4. 제 3 항에 있어서,The method of claim 3,
    상기 제 1 청크 데이터의 종말단에 상기 씬 정보 또는 샷 정보의 삽입 여부를 결정하는 단계는,The step of determining whether to insert the scene information or shot information at the end of the first chunk data,
    상기 제 1 청크 데이터가 비디오 데이터를 포함하고, 상기 제 1 청크 데이터가 포함하고 있는 비디오 프레임 번호가 상기 씬 정보 또는 샷 정보의 마지막 프레임 번호보다 큰 경우 삽입하도록 결정하는 것인 삽입 방법.And determining to insert when the first chunk data includes video data and the video frame number included in the first chunk data is greater than the last frame number of the scene information or shot information.
  5. 제 3 항에 있어서,The method of claim 3,
    상기 청크 간에 상기 씬 정보 또는 샷 정보를 삽입하는 단계는,Inserting the scene information or shot information between the chunks,
    상기 제 1 청크 데이터에 삽입되도록 결정되지 않은 경우, 상기 제 1 청크 데이터 이후에 위치하는 제 2 청크 데이터의 종말단에 상기 씬 정보 또는 샷 정보의 삽입 여부를 결정하는 단계를 포함하는 삽입 방법.And determining whether to insert the scene information or shot information at an end of second chunk data positioned after the first chunk data when it is not determined to be inserted into the first chunk data.
  6. 제 3 항에 있어서,The method of claim 3,
    상기 청크 간에 상기 씬 정보 또는 샷 정보를 삽입하는 단계는,Inserting the scene information or shot information between the chunks,
    상기 제 1 청크 데이터에 삽입됨에 따라 다음 삽입할 씬 정보 또는 샷 정보를 독출하는 단계; 및Reading scene information or shot information to be inserted next as it is inserted into the first chunk data; And
    상기 독출된 씬 정보 또는 샷 정보를 삽입할 상기 제 1 청크 데이터 이후에 위치하는 제 2 청크 데이터를 독출하는 단계를 포함하는 삽입 방법.And reading second chunk data positioned after the first chunk data into which the read scene information or shot information is to be inserted.
  7. 제 1 항에 있어서,The method of claim 1,
    상기 moov 데이터를 수정하는 단계는,The step of modifying the moov data,
    상기 moov 데이터에 포함된 상기 청크 데이터의 위치 정보를 포함하고 있는 stco(chunk offset box) 정보를 수정하는 것인 삽입 방법.The insertion method of modifying stco (chunk offset box) information including position information of the chunk data included in the moov data.
  8. 씬(Scene) 정보 또는 샷(Shot) 정보를 MPEG-4 비디오 파일에 삽입하기 위한 프로그램이 저장된 메모리 및 상기 메모리에 저장된 프로그램을 실행시키는 프로세서를 포함하는 시스템에 있어서,A system comprising a memory storing a program for inserting scene information or shot information into an MPEG-4 video file, and a processor executing a program stored in the memory,
    상기 프로세서는 상기 프로그램을 실행시킴에 따라, 상기 비디오 파일과 상기 씬 정보 또는 샷 정보를 포함하고 있는 파일을 오픈하고, 상기 비디오 파일에 대한 ftyp(file type box) 데이터, mdat(media data box) 데이터 및 moov(movie box) 데이터의 위치 정보 및 크기 정보를 분석한 후, 상기 분석 결과에 따라 청크(Chunk) 데이터 간에 상기 씬 정보 또는 샷 정보의 삽입 여부에 기초하여 상기 mdat 데이터를 변경하고, 상기 변경 여부에 기초하여 moov 데이터를 수정하는 것인 시스템.As the processor executes the program, it opens the video file and a file including the scene information or shot information, and ftyp (file type box) data and mdat (media data box) data for the video file And after analyzing location information and size information of moov (movie box) data, changing the mdat data based on whether the scene information or shot information is inserted between chunk data according to the analysis result, and the change The system that modifies the moov data based on whether or not.
PCT/KR2019/015971 2019-11-15 2019-11-20 System and method for inserting scene information or shot information into video file WO2021095959A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190146819A KR20210059409A (en) 2019-11-15 2019-11-15 System and method for inserting scene or shot infrormation into a video file
KR10-2019-0146819 2019-11-15

Publications (1)

Publication Number Publication Date
WO2021095959A1 true WO2021095959A1 (en) 2021-05-20

Family

ID=75913016

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/015971 WO2021095959A1 (en) 2019-11-15 2019-11-20 System and method for inserting scene information or shot information into video file

Country Status (2)

Country Link
KR (1) KR20210059409A (en)
WO (1) WO2021095959A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130301831A1 (en) * 2002-03-29 2013-11-14 Kabushiki Kaisha Toshiba Data structure of multimedia file format, encrypting method and device thereof, and decrypting method and device thereof
WO2015056842A1 (en) * 2013-10-18 2015-04-23 명지대학교 산학협력단 Sensory effect media data file configuration method and apparatus, sensory effect media data file reproduction method and apparatus, and sensory effect media data file structure
KR20170101313A (en) * 2012-10-26 2017-09-05 인텔 코포레이션 Multimedia adaptation based on video orientation
KR20180138562A (en) * 2016-05-20 2018-12-31 엘지전자 주식회사 Broadcast signal transmission apparatus, broadcast signal reception apparatus, broadcast signal transmission method, and broadcast signal reception method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130301831A1 (en) * 2002-03-29 2013-11-14 Kabushiki Kaisha Toshiba Data structure of multimedia file format, encrypting method and device thereof, and decrypting method and device thereof
KR20170101313A (en) * 2012-10-26 2017-09-05 인텔 코포레이션 Multimedia adaptation based on video orientation
WO2015056842A1 (en) * 2013-10-18 2015-04-23 명지대학교 산학협력단 Sensory effect media data file configuration method and apparatus, sensory effect media data file reproduction method and apparatus, and sensory effect media data file structure
KR20180138562A (en) * 2016-05-20 2018-12-31 엘지전자 주식회사 Broadcast signal transmission apparatus, broadcast signal reception apparatus, broadcast signal transmission method, and broadcast signal reception method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YANG, SEUNGMI, DONGKYOO SHIN, DONGIL SHIN, SEYOUNG PARK: "Encryption Scheme for Digital Right Management in MPEG-4Media Transmission Exploiting Frame Dropping.", PROCEEDINGS 35 OF THE KOREAN INSTITUTE OF INFORMATION SCIENTISTS AND ENGINEERS CONFERENCE, vol. 35, 30 June 2008 (2008-06-30), pages 377 - 382, XP055826421, Retrieved from the Internet <URL:http://www.dbpia.co.kr/Journal/articleDetail?nodeId=NODE01010553> [retrieved on 20200804] *

Also Published As

Publication number Publication date
KR20210059409A (en) 2021-05-25

Similar Documents

Publication Publication Date Title
CN1097954C (en) Multi-media system for transferring single program transport stream and method therefor
US20100135646A1 (en) Storage/playback method and apparatus for mpeg-2 transport stream based on iso base media file format
US20060187925A1 (en) Method for performing data transport over a serial bus using Internet Protocol and apparatus for use in the method
WO2014058276A1 (en) Apparatus and method for delivering and receiving multimedia data in hybrid network
WO2015190893A1 (en) Method and device for managing multimedia data
WO2009093881A1 (en) Stereoscopic video file format and computer readable recording medium in which stereoscopic video file is recorded according thereto
CN105100733A (en) Video playing method and system of mosaic display device
WO2018101646A1 (en) System for mamaging content playback
WO2021095959A1 (en) System and method for inserting scene information or shot information into video file
WO2017164510A2 (en) Voice data-based multimedia content tagging method, and system using same
WO2010062115A2 (en) Recording multimedia data
WO2009142420A2 (en) Apparatus and method for creating and displaying media file
WO2018021616A1 (en) Operating method of client for streaming service
EP1694031A1 (en) Method for performing data transport over a serial bus using internet protocol and apparatus for use in the method
WO2015167312A1 (en) Device and method for processing video
WO2010147442A1 (en) Object-based audio system, object-based audio providing method, and object-based audio playing method using preset function
WO2014208972A1 (en) Method and apparatus for converting content in multimedia system
WO2010076917A2 (en) Operating method of broadcasting receiver storing broadcasting program and broadcasting receiver enabling of the method
WO2019164034A1 (en) Reconfigurable imaging system for ultra-high resolution multi-channel image processing
WO2017107209A1 (en) Method and system for image recognition in video software
WO2015056842A1 (en) Sensory effect media data file configuration method and apparatus, sensory effect media data file reproduction method and apparatus, and sensory effect media data file structure
WO2022092328A1 (en) Method for managing media data and sensing data
WO2013089409A1 (en) Method and device for managing file
KR20010018003A (en) Multiple data synchronizing method and multiple multimedia data streaming method using the same
EP3526969A1 (en) Electronic apparatus for playing substitutional advertisement and method for controlling method thereof

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19952290

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19952290

Country of ref document: EP

Kind code of ref document: A1