KR20210059409A - 씬 정보 또는 샷 정보를 비디오 파일에 삽입하기 위한 시스템 및 방법 - Google Patents

씬 정보 또는 샷 정보를 비디오 파일에 삽입하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20210059409A
KR20210059409A KR1020190146819A KR20190146819A KR20210059409A KR 20210059409 A KR20210059409 A KR 20210059409A KR 1020190146819 A KR1020190146819 A KR 1020190146819A KR 20190146819 A KR20190146819 A KR 20190146819A KR 20210059409 A KR20210059409 A KR 20210059409A
Authority
KR
South Korea
Prior art keywords
information
data
shot
scene
scene information
Prior art date
Application number
KR1020190146819A
Other languages
English (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 KR1020190146819A priority Critical patent/KR20210059409A/ko
Priority to PCT/KR2019/015971 priority patent/WO2021095959A1/ko
Publication of KR20210059409A publication Critical patent/KR20210059409A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/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

Landscapes

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

Abstract

본 발명에 따른 씬(scene) 정보 또는 샷(shot) 정보를 MPEG-4 비디오 파일에 삽입하는 방법은 상기 비디오 파일과, 상기 씬 정보 또는 샷 정보를 포함하고 있는 파일을 오픈하는 단계; 상기 비디오 파일에 대한 ftyp(file type box) 데이터, mdat(media data box) 데이터 및 moov(movie box) 데이터의 위치 정보 및 크기 정보를 분석하는 단계; 상기 분석 결과에 따라 청크(chunk) 데이터 간에 상기 씬 정보 또는 샷 정보의 삽입 여부에 기초하여 상기 mdat 데이터를 변경하는 단계 및 상기 변경 여부에 기초하여 moov 데이터를 수정하는 단계를 포함한다.

Description

씬 정보 또는 샷 정보를 비디오 파일에 삽입하기 위한 시스템 및 방법{SYSTEM AND METHOD FOR INSERTING SCENE OR SHOT INFRORMATION INTO A VIDEO FILE}
본 발명은 씬 정보 또는 샷 정보를 비디오 파일에 삽입하기 위한 시스템 및 방법에 관한 것으로, 보다 구체적으로는 MPEG-4 표준 규격 비디오의 재생에는 영향을 미치지 않으면서도 비디오의 씬 정보 또는 샷 정보를 MPEG-4 표준 규격 비디오에 삽입하도록 하는 시스템 및 방법에 관한 것이다.
비디오는 다수의 샷(shot)들로 그룹핑될 수 있는 개개의 비디오 프레임(video frame)들로 구성될 수 있다.
예를 들어, 샷(shot)은 카메라의 소정의 시각(visual angle)으로 캡처되는 프레임의 시퀀스(sequence)를 의미한다.
그리고 씬(scene)은 행동, 장소, 콘텍스트(context) 및/또는 시간에서 관련될 수 있는 샷의 모음을 의미한다.
일 예로, 코미디나 연속극 또는 드라마와 같은 몇몇 프로그램의 예에서, 씬은 특정 위치에서 일어나는 소정의 행동을 캡처(capture)하는 샷의 연속 세트(continuous set)로서 특징지어질 수 있다.
한편, 최근 비디오의 손쉬운 편집이나 비디오의 클립별 재사용과 같이 비디오 파일의 일부분을 가공 및 유통하여 수익을 창출하고자 하는 시도들이 활발히 진행되고 있다.
이러한 비디오 파일의 경우 전술한 바와 같이 씬 또는 샷 단위로 비디오의 각 부분을 구분하는 것이 일반적이며, 최근에는 AI와 같은 신기술을 기반으로 비디오의 씬 또는 샷을 검출하는 연구들이 활발히 진행되고 있다.
씬 또는 샷 단위로 구분된 비디오를 이용하는 종래 기술의 경우에는, 씬 또는 샷 정보를 별도의 메타데이터로 만든 후, 해당 비디오를 전송할 때에 씬 또는 샷 정보가 포함된 메타데이터를 함께 전송하는 방법을 일반적으로 사용하였다.
하지만, 이러한 방법은 비디오 파일과 메타데이터 파일을 별도로 관리함으로 인해 파일 관리의 어려움이 있을 뿐만 아니라 비디오 또는 메타데이터의 전송시 데이터 누락이나 잘림 현상에 취약하다는 단점이 있다.
본 발명의 실시예는 전술한 문제점을 해결하기 위하여, 하나의 MPEG-4 표준 규격 비디오 파일 데이터의 연속된 집합인 청크 데이터 사이에 씬 정보 또는 샷 정보를 삽입하여 비디오의 재생에 영향을 미치지 않으면서 동시에, 비디오 전송시 데이터 누락 또는 잘림 현상이 발생하더라도 전송된 비디오에 대한 씬 정보 또는 샷 정보를 최대한 보존할 수 있도록 하는 비디오 파일을 생성하는 시스템 및 방법을 제공한다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따른 씬(Scene) 정보 또는 샷(Shot) 정보를 MPEG-4 비디오 파일에 삽입하는 방법은 상기 비디오 파일과, 상기 씬 정보 또는 샷 정보를 포함하고 있는 파일을 오픈하는 단계; 상기 비디오 파일에 대한 ftyp(file type box) 데이터, mdat(media data box) 데이터 및 moov(movie box) 데이터의 위치 정보 및 크기 정보를 분석하는 단계; 상기 분석 결과에 따라 청크(Chunk) 데이터 간에 상기 씬 정보 또는 샷 정보의 삽입 여부에 기초하여 상기 mdat 데이터를 변경하는 단계 및 상기 변경 여부에 기초하여 moov 데이터를 수정하는 단계를 포함한다.
일 실시예로, 상기 mdat 데이터를 변경하는 단계는, 상기 mdat 데이터에 포함된 상기 청크 데이터 간에 상기 씬 정보 또는 샷 정보를 삽입하는 단계 및 상기 mdat 데이터의 크기 정보를 수정하는 단계를 포함할 수 있다.
일 실시예로, 상기 청크 간에 상기 씬 정보 또는 샷 정보를 삽입하는 단계는, 삽입할 상기 씬 정보 또는 샷 정보의 유무를 판단하는 단계; 상기 삽입할 씬 정보 또는 샷 정보가 존재하는 경우, 상기 씬 정보 또는 샷 정보의 시작 및 종료 프레임 정보를 분석하는 단계; 제 1 청크 데이터의 종말단에 상기 씬 정보 또는 샷 정보의 삽입 여부를 결정하는 단계; 및 상기 씬 정보 또는 샷 정보를 상기 제 1 청크 데이터의 종말단에 삽입하는 단계를 포함할 수 있다.
일 실시예로, 상기 제 1 청크 데이터의 종말단에 상기 씬 정보 또는 샷 정보의 삽입 여부를 결정하는 단계는, 상기 제 1 청크 데이터가 비디오 데이터를 포함하고, 상기 제 1 청크 데이터가 포함하고 있는 비디오 프레임 번호가 상기 씬 정보 또는 샷 정보의 마지막 프레임 번호보다 큰 경우 삽입하도록 결정할 수 있다.
일 실시예로, 상기 청크 간에 상기 씬 정보 또는 샷 정보를 삽입하는 단계는, 상기 제 1 청크 데이터에 삽입되도록 결정되지 않은 경우, 상기 제 1 청크 데이터 이후에 위치하는 제 2 청크 데이터의 종말단에 상기 씬 정보 또는 샷 정보의 삽입 여부를 결정하는 단계를 포함할 수 있다.
일 실시예로, 상기 청크 간에 상기 씬 정보 또는 샷 정보를 삽입하는 단계는, 상기 제 1 청크 데이터에 삽입됨에 따라 다음 삽입할 씬 정보 또는 샷 정보를 독출하는 단계; 및 상기 독출된 씬 정보 또는 샷 정보를 삽입할 상기 제 1 청크 데이터 이후에 위치하는 제 2 청크 데이터를 독출하는 단계를 포함할 수 있다.
일 실시예로, 상기 moov 데이터를 수정하는 단계는, 상기 moov 데이터에 포함된 상기 청크 데이터의 위치 정보를 포함하고 있는 stco(chunk offset box) 정보를 수정할 수 있다.
또한, 본 발명의 제 2 측면에 따른 씬(Scene) 정보 또는 샷(Shot) 정보를 MPEG-4 비디오 파일에 삽입하기 위한 프로그램이 저장된 메모리 및 상기 메모리에 저장된 프로그램을 실행시키는 프로세서를 포함하는 시스템은, 상기 프로세서는 상기 프로그램을 실행시킴에 따라, 상기 비디오 파일과 상기 씬 정보 또는 샷 정보를 포함하고 있는 파일을 오픈하고, 상기 비디오 파일에 대한 ftyp(file type box) 데이터, mdat(media data box) 데이터 및 moov(movie box) 데이터의 위치 정보 및 크기 정보를 분석한 후, 상기 분석 결과에 따라 청크(Chunk) 데이터 간에 상기 씬 정보 또는 샷 정보의 삽입 여부에 기초하여 상기 mdat 데이터를 변경하고, 상기 변경 여부에 기초하여 moov 데이터를 수정한다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공될 수 있다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 비디오 파일 및 씬/샷 데이터를 별도의 파일로 관리하는 방법에 비하여 파일 관리가 보다 효율적이라는 장점이 있다.
또한, 청크 데이터의 사이에 씬 정보 또는 샷 정보를 삽입함으로써 MPEG-4 비디오의 재생에는 영향을 미치지 않는다는 효과가 있다.
이와 더불어, 청크 데이터의 종말단에 씬 정보 또는 샷 정보를 삽입함으로써 비디오 전송시 데이터의 누락이나 잘림 현상이 발생하더라도 전송된 비디오에 대한 씬 정보 또는 샷 정보를 최대한 보존할 수 있다는 효과가 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 시스템을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 삽입 방법의 순서도이다.
도 3은 mdat 데이터를 변경하는 방법을 설명하기 위한 순서도이다.
도 4는 씬 정보 또는 샷 정보를 삽입하는 방법을 설명하기 위한 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1은 본 발명의 일 실시예에 따른 시스템(100)을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따른 시스템(100)은 메모리(110) 및 프로세서(120)를 포함한다.
메모리(110)에는 씬 정보 또는 샷 정보를 MPEG-4 비디오 파일에 삽입하기 위한 프로그램이 저장된다.
이때, 메모리(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) 등을 포함할 수 있다.
프로세서(120)는 메모리(110)에 저장된 프로그램을 실행시킴에 따라, 비디오 파일과 그리고 씬 정보 또는 샷 정보를 포함하고 있는 파일을 오픈한다.
그리고 프로세서(120)는 비디오 파일에 대한 ftyp(file type box) 데이터, mdat(media data box) 데이터 및 moov(movie box) 데이터의 위치 정보 및 크기 정보를 분석한 후, 상기 분석 결과에 따라 청크(Chunk) 데이터 간에 상기 씬 정보 또는 샷 정보의 삽입 여부에 기초하여 상기 mdat 데이터를 변경하고, 상기 변경 여부에 기초하여 moov 데이터를 수정한다.
참고로, 본 발명의 실시예에 따른 도 1에 도시된 구성 요소들은 소프트웨어 또는 FPGA(Field Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit)와 같은 하드웨어 형태로 구현될 수 있으며, 소정의 역할들을 수행할 수 있다.
그렇지만 '구성 요소들'은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 각 구성 요소는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다.
따라서, 일 예로서 구성 요소는 소프트웨어 구성 요소들, 객체지향 소프트웨어 구성 요소들, 클래스 구성 요소들 및 태스크 구성 요소들과 같은 구성 요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다.
구성 요소들과 해당 구성 요소들 안에서 제공되는 기능은 더 작은 수의 구성 요소들로 결합되거나 추가적인 구성 요소들로 더 분리될 수 있다.
이하에서는 도 2 내지 도 4를 참조하여 상기 시스템(100)에서 수행되는 방법에 대하여 보다 구체적으로 설명하도록 한다.
도 2는 본 발명의 일 실시예에 따른 삽입 방법의 순서도이다. 도 3은 mdat 데이터를 변경하는 방법을 설명하기 위한 순서도이다. 도 4는 씬 정보 또는 샷 정보를 삽입하는 방법을 설명하기 위한 순서도이다.
본 발명의 일 실시예는 먼저, 씬 정보 또는 샷 정보를 포함하고 있는 파일과, 상기 씬 정보 또는 샷 정보를 삽입하고자 하는 MPEG-4 비디오 파일(이하, 비디오 파일이라 한다)을 오픈한다(S110).
다음으로, 오픈된 비디오 파일의 구조를 분석한다(S120).
이 단계에서는 비디오 파일의 시작을 기준으로 하는 ftyp(file type box) 데이터, mdat(media data box) 데이터 및 moov(movie box) 데이터의 위치 정보 및 크기 정보를 분석한다.
MPEG-4 비디오 파일은 파일의 호환성을 확인하는 파일 타입 박스인 ftyp 데이터와, 미디어의 모든 메타데이터를 저장하는 무비 박스인 moov 데이터, 그리고 실제 미디어를 저장하는 미디어 데이터 박스인 mdat 데이터로 구성된다.
일 실시예로, 이 단계에서는 moov 데이터가 포함하고 있는 정보 중에서, 각 청크 데이터의 위치 정보를 포함하고 있는 stco(chunk offset box) 정보를 분석할 수 있다.
참고로, moov 데이터는 mvhd(movie header box), 무비 안의 단일 트랙을 정의하는 박스인 다수개의 trak(track box)로 구성된다. 그리고 trak은 미디어 샘플 데이터의 정보를 기술하는 stbl(sample table box)를 포함하고 있다.
또한, stbl은 stsd(sample description box), stts(time-to-sample box), stsz(sample size box), stsc(sample to chunk box), stco(chunk offset box) 등과 같은 테이블 박스 정보를 포함한다.
다음으로, 상기 분석 결과에 따라 청크 데이터 간에 씬 정보 또는 샷 정보의 삽입 여부에 기초하여 mdat 데이터를 변경한다(S130).
일 실시예로, mdat 데이터를 변경하는 단계는, mdat 데이터에 포함된 청크 데이터 간에 씬 정보 또는 샷 정보를 삽입하는 단계(S131)와, mdat 데이터의 크기 정보를 수정하는 단계(S132)를 포함할 수 있다.
먼저, mdat 데이터에 포함된 청크 데이터 간에 씬 정보 또는 샷 정보를 삽입하는 단계(S131)에 대하여 설명하면 다음과 같다.
우선 삽입할 씬 정보나 샷 정보가 존재하는지 여부를 판단한다(S1311).
여기에서 삽입할 씬 정보나 샷 정보가 더 이상 존재하지 않는 경우에는(S1311-N) 단계 S132를 수행하게 된다.
이와 달리 삽입할 씬 정보나 샷 정보가 존재하는 경우에는(S1311-Y), 씬 정보 또는 샷 정보를 분석하게 되는데, 해당 단계에서는 씬 정보 또는 샷 정보의 시작 프레임 및 종료 프레임 정보를 파악하는 과정이 수행된다(S1312).
이후, 제 1 청크 데이터를 분석한다(S1313). 제 1 청크 데이터를 분석하는 단계는, 청크 데이터가 포함하고 있는 데이터의 종류, 청크 데이터가 비디오를 포함하고 있는 경우 청크 데이터가 포함하고 있는 비디오 프레임의 번호를 분석한다.
이때, 청크 데이터를 독출하기 위해서는 현재 청크 데이터의 위치 정보와 크기 정보가 필요하다.
한편, 여기에서 언급하는 제 1 및 제 2 청크 데이터는 특정 위치에 있는 청크 데이터를 의미하는 것이 아니다. 즉, 임의의 위치에 있는 어느 하나의 청크 데이터 중 현재 청크 데이터를 제 1 청크 데이터라 하고, 그 다음 위치에 있는 청크 데이터를 제 2 청크 데이터라 한다.
일 실시예로, 제 1 청크 데이터의 위치 정보는 stco에 기술된 현재 청크 데이터의 인덱스 값이 사용되며, 크기 정보는 제 2 청크 데이터의 인덱스 값에서 제 1 청크 데이터의 인덱스 값을 뺀 값을 사용할 수 있다.
다음으로, 제 1 청크 데이터의 종말단에 씬 정보 또는 샷 정보를 삽입할지 여부를 결정한다(S1314).
일 실시예로, 제 1 청크 데이터가 포함하고 있는 데이터의 종류가 비디오 데이터이고, 제 1 청크 데이터가 포함하고 있는 비디오 플레임 번호가 씬 정보 또는 샷 정보의 마지막 프레임 번호보다 큰 경우 삽입 결정한다(S1314-Y).
이와 같은 결정에 따라 씬 정보 또는 샷 정보를 제 1 청크 데이터의 종말단에 삽입한다(S1315).
이와 달리, 씬 정보 또는 샷 정보가 제 1 청크 데이터에 삽입되도록 결정되지 않은 경우(S1314-N), 제 1 청크 데이터 이후에 위치하는 제 2 청크 데이터를 대상으로 제 1 청크 데이터와 마찬가지로 씬 정보 또는 샷 정보의 삽입 여부를 결정하게 된다(S1316).
이에 따라, 제 2 청크 데이터를 분석하는 과정을 거친 후, 삽입 여부를 판단하여 결정하는 과정을 수행하게 된다.
다음으로, 제 1 청크 데이터에 씬 정보 또는 샷 정보가 삽입되고 나면 다음 삽입할 씬 정보 또는 샷 정보를 독출한다(S1317).
그리고 독출된 씬 정보 또는 샷 정보를 삽입할 제 1 청크 데이터 이후에 위치하는 제 2 청크 데이터를 독출한다(S1318). 만약 위 단계에서 제 2 청크 데이터에 씬 정보 또는 샷 정보를 삽입한 경우에는 제 3 청크 데이터를 독출하게 되며, 이러한 과정은 씬 정보 또는 샷 정보가 모두 삽입될 때까지 반복 수행된다.
다시 도 3을 참조하면, 청크 데이터 간에 씬 정보 또는 샷 정보의 삽입이 완료되면, mdat 데이터의 크기 정보를 수정하게 된다(S132).
mdat 데이터는 4bytes의 크기(size) 정보, 4bytes의 타입(type) 정보, 그리고 다수의 청크 데이터로 구성된다.
이 과정에서는 청크 데이터 간에 삽입된 부가 데이터들의 크기와 청크 데이터의 크기를 합산하여 mdat 데이터의 크기 정보를 수정하게 된다.
mdat 크기 정보 수정이 완료되면, moov 데이터를 수정한다(S140).
씬 정보 또는 샷 정보를 삽입한 이후에도 비디오의 정상적인 재생을 위해서는 moov 데이터의 정보를 수정해야 한다.
이를 위해 본 발명의 일 실시예는 moov 데이터에 포함된 청크 데이터의 위치 정보를 포함하고 있는 stco 정보를 수정할 수 있다.
stco 정보는 각 청크 데이터의 위치 정보를 가지고 있는바, 기존의 오프셋(offset) 정보에서 청크 데이터 간에 삽입된 씬 정보 또는 샷 정보를 합산하여 stco의 오프셋 정보를 갱신하게 된다.
이와 같은 본 발명의 일 실시예에 따라, MPEG-4 표준 규격 비디오에서의 청크 데이터 사이에 씬 정보 또는 샷 정보의 삽입이 완료된다.
상술한 설명에서, 단계 S110 내지 단계 S140는 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다. 아울러, 기타 생략된 내용이라 하더라도 도 1에서 이미 기술된 내용은 도 2 내지 도 4에서의 삽입 방법에도 적용된다.
본 발명의 일 실시예는 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램 또는 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 시스템
110: 메모리
120: 프로세서

Claims (8)

  1. 씬(Scene) 정보 또는 샷(Shot) 정보를 MPEG-4 비디오 파일에 삽입하는 방법에 있어서,
    상기 비디오 파일과, 상기 씬 정보 또는 샷 정보를 포함하고 있는 파일을 오픈하는 단계;
    상기 비디오 파일에 대한 ftyp(file type box) 데이터, mdat(media data box) 데이터 및 moov(movie box) 데이터의 위치 정보 및 크기 정보를 분석하는 단계;
    상기 분석 결과에 따라 청크(chunk) 데이터 간에 상기 씬 정보 또는 샷 정보의 삽입 여부에 기초하여 상기 mdat 데이터를 변경하는 단계 및
    상기 변경 여부에 기초하여 moov 데이터를 수정하는 단계를 포함하는 삽입 방법.
  2. 제 1 항에 있어서,
    상기 mdat 데이터를 변경하는 단계는,
    상기 mdat 데이터에 포함된 상기 청크 데이터 간에 상기 씬 정보 또는 샷 정보를 삽입하는 단계 및
    상기 mdat 데이터의 크기 정보를 수정하는 단계를 포함하는 것인 삽입 방법.
  3. 제 2 항에 있어서,
    상기 청크 간에 상기 씬 정보 또는 샷 정보를 삽입하는 단계는,
    삽입할 상기 씬 정보 또는 샷 정보의 유무를 판단하는 단계;
    상기 삽입할 씬 정보 또는 샷 정보가 존재하는 경우, 상기 씬 정보 또는 샷 정보의 시작 및 종료 프레임 정보를 분석하는 단계;
    제 1 청크 데이터의 종말단에 상기 씬 정보 또는 샷 정보의 삽입 여부를 결정하는 단계; 및
    상기 씬 정보 또는 샷 정보를 상기 제 1 청크 데이터의 종말단에 삽입하는 단계를 포함하는 삽입 방법.
  4. 제 3 항에 있어서,
    상기 제 1 청크 데이터의 종말단에 상기 씬 정보 또는 샷 정보의 삽입 여부를 결정하는 단계는,
    상기 제 1 청크 데이터가 비디오 데이터를 포함하고, 상기 제 1 청크 데이터가 포함하고 있는 비디오 프레임 번호가 상기 씬 정보 또는 샷 정보의 마지막 프레임 번호보다 큰 경우 삽입하도록 결정하는 것인 삽입 방법.
  5. 제 3 항에 있어서,
    상기 청크 간에 상기 씬 정보 또는 샷 정보를 삽입하는 단계는,
    상기 제 1 청크 데이터에 삽입되도록 결정되지 않은 경우, 상기 제 1 청크 데이터 이후에 위치하는 제 2 청크 데이터의 종말단에 상기 씬 정보 또는 샷 정보의 삽입 여부를 결정하는 단계를 포함하는 삽입 방법.
  6. 제 3 항에 있어서,
    상기 청크 간에 상기 씬 정보 또는 샷 정보를 삽입하는 단계는,
    상기 제 1 청크 데이터에 삽입됨에 따라 다음 삽입할 씬 정보 또는 샷 정보를 독출하는 단계; 및
    상기 독출된 씬 정보 또는 샷 정보를 삽입할 상기 제 1 청크 데이터 이후에 위치하는 제 2 청크 데이터를 독출하는 단계를 포함하는 삽입 방법.
  7. 제 1 항에 있어서,
    상기 moov 데이터를 수정하는 단계는,
    상기 moov 데이터에 포함된 상기 청크 데이터의 위치 정보를 포함하고 있는 stco(chunk offset box) 정보를 수정하는 것인 삽입 방법.
  8. 씬(Scene) 정보 또는 샷(Shot) 정보를 MPEG-4 비디오 파일에 삽입하기 위한 프로그램이 저장된 메모리 및 상기 메모리에 저장된 프로그램을 실행시키는 프로세서를 포함하는 시스템에 있어서,
    상기 프로세서는 상기 프로그램을 실행시킴에 따라, 상기 비디오 파일과 상기 씬 정보 또는 샷 정보를 포함하고 있는 파일을 오픈하고, 상기 비디오 파일에 대한 ftyp(file type box) 데이터, mdat(media data box) 데이터 및 moov(movie box) 데이터의 위치 정보 및 크기 정보를 분석한 후, 상기 분석 결과에 따라 청크(Chunk) 데이터 간에 상기 씬 정보 또는 샷 정보의 삽입 여부에 기초하여 상기 mdat 데이터를 변경하고, 상기 변경 여부에 기초하여 moov 데이터를 수정하는 것인 시스템.
KR1020190146819A 2019-11-15 2019-11-15 씬 정보 또는 샷 정보를 비디오 파일에 삽입하기 위한 시스템 및 방법 KR20210059409A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190146819A KR20210059409A (ko) 2019-11-15 2019-11-15 씬 정보 또는 샷 정보를 비디오 파일에 삽입하기 위한 시스템 및 방법
PCT/KR2019/015971 WO2021095959A1 (ko) 2019-11-15 2019-11-20 씬 정보 또는 샷 정보를 비디오 파일에 삽입하기 위한 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190146819A KR20210059409A (ko) 2019-11-15 2019-11-15 씬 정보 또는 샷 정보를 비디오 파일에 삽입하기 위한 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR20210059409A true KR20210059409A (ko) 2021-05-25

Family

ID=75913016

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190146819A KR20210059409A (ko) 2019-11-15 2019-11-15 씬 정보 또는 샷 정보를 비디오 파일에 삽입하기 위한 시스템 및 방법

Country Status (2)

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

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8214655B2 (en) * 2002-03-29 2012-07-03 Kabushiki Kaisha Toshiba Data structure of multimedia file format, encrypting method and device thereof, and decrypting method and device thereof
KR102015204B1 (ko) * 2012-10-26 2019-08-27 인텔 코포레이션 비디오 방향에 기초한 멀티미디어 적응
WO2015056842A1 (ko) * 2013-10-18 2015-04-23 명지대학교 산학협력단 실감 효과 미디어 데이터 파일 구성 방법 및 장치, 실감 효과 미디어 데이터 파일 재생 방법 및 장치 및 실감 효과 미디어 데이터 파일 구조
EP3448044B1 (en) * 2016-05-20 2023-05-10 LG Electronics Inc. Broadcast signal transmission device, broadcast signal reception device, broadcast signal transmission method, and broadcast signal reception method

Also Published As

Publication number Publication date
WO2021095959A1 (ko) 2021-05-20

Similar Documents

Publication Publication Date Title
JP6903606B2 (ja) コンテンツの送受信方法及び装置
US8811802B2 (en) Insertion and usage of metadata in digital video
US10708581B2 (en) Video frame decoding method and apparatus
JP4481889B2 (ja) データ記録装置及びその方法、プログラム、記録媒体
US20100135646A1 (en) Storage/playback method and apparatus for mpeg-2 transport stream based on iso base media file format
US9262419B2 (en) Syntax-aware manipulation of media files in a container format
US20060133644A1 (en) Recorded video broadcast, streaming, download, and disk distribution with watermarking instructions
US8340505B2 (en) Method of processing audio-video data
US8401370B2 (en) Application tracks in audio/video containers
EP1558032A2 (en) Piracy prevention system
KR101855442B1 (ko) 미디어 파일 위변조 검증 방법
CN111063376A (zh) 一种mp4修复中音视频同步的方法、终端设备和存储介质
CN108322808B (zh) 一种视频录像处理方法及装置、计算机装置、存储介质
CN110740391A (zh) 一种修复mp4损坏文件的方法
KR20160002863A (ko) 상이한 영화 버전들에 대한 자산들의 배포
KR20200041650A (ko) 참조 동영상의 메타 정보에 기반한 훼손 mp4 동영상 파일의 복구 방법 및 장치
US8064752B1 (en) Video encoding
US9037855B2 (en) Method for reproducing content data and method for generating thumbnail image
KR20210059409A (ko) 씬 정보 또는 샷 정보를 비디오 파일에 삽입하기 위한 시스템 및 방법
US10104142B2 (en) Data processing device, data processing method, program, recording medium, and data processing system
US8749616B2 (en) Apparatus and method for creating and displaying media file
US20200221142A1 (en) Video stream batching
CN115250266B (zh) 视频处理方法及装置、流媒体设备及存储点播系统
CN116489458B (zh) 一种基于文件字节分析的mp4修复方法、装置、终端及介质
US10158888B2 (en) Method and apparatus for reproducing video data