KR20020041828A - Method and system for active modification of video content responsively to processes and data embedded in a video stream - Google Patents

Method and system for active modification of video content responsively to processes and data embedded in a video stream Download PDF

Info

Publication number
KR20020041828A
KR20020041828A KR1020027005030A KR20027005030A KR20020041828A KR 20020041828 A KR20020041828 A KR 20020041828A KR 1020027005030 A KR1020027005030 A KR 1020027005030A KR 20027005030 A KR20027005030 A KR 20027005030A KR 20020041828 A KR20020041828 A KR 20020041828A
Authority
KR
South Korea
Prior art keywords
media information
stream
information stream
video
procedure
Prior art date
Application number
KR1020027005030A
Other languages
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 KR20020041828A publication Critical patent/KR20020041828A/en

Links

Classifications

    • 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
    • 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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4318Generation of visual interfaces for content selection or interaction; Content or additional data rendering by altering the content in the rendering process, e.g. blanking, blurring or masking an image region
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2389Multiplex stream processing, e.g. multiplex stream encrypting
    • 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • 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
    • 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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving MPEG packets from an IP network
    • H04N21/4385Multiplex stream processing, e.g. multiplex stream decrypting
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/4508Management of client data or end-user data
    • H04N21/4532Management of client data or end-user data involving end-user characteristics, e.g. viewer profile, preferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client
    • H04N21/6543Transmission by server directed to the client for forcing some client operations, e.g. recording
    • 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/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • 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/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8193Monomedia components thereof involving executable data, e.g. software dedicated tools, e.g. video decoder software or IPMP tool

Abstract

비디오 또는 다른 매체 데이터는 비디오 스트림을 변경하는 절차 데이터 스트림들과 동기화된다. 비디오가 재생 또는 재방송되는 경우, 비디오는 절차 데이터 스트림에 정의되는 절차들에 의해 변경된다. 조건 없는 실시예에서, 절차 스트림은 해석기에 의해 수신되자마자 바로 실행되는 커맨드들을 포함한다. 특정 실시예에서, 절차 데이터 스트림은 매체 데이터 스트림에 바로 포함되고, 역다중화기에 의해 분리되어 출력된다. 다른 특정 실시예에서, 결합된 매체/절차 데이터 스트림은 전체에서 삭제된 부분에 적절한 코드를 전송하는 동안 부분들로 분할될 수 있다.Video or other media data is synchronized with procedural data streams that change the video stream. When the video is played or rebroadcast, the video is changed by the procedures defined in the procedural data stream. In an unconditional embodiment, the procedural stream contains commands that are executed immediately upon receipt by the interpreter. In a particular embodiment, the procedural data stream is directly included in the media data stream and output separately by a demultiplexer. In another particular embodiment, the combined medium / procedure data stream may be divided into portions while transmitting the appropriate code to the portion that has been erased in its entirety.

Description

비디오 스트림에 내재된 데이터와 처리에 응답하여 비디오 컨텐츠를 액티브하게 변경하기 위한 방법 및 시스템{Method and system for active modification of video content responsively to processes and data embedded in a video stream}Method and system for active modification of video content responsively to processes and data embedded in a video stream

비디오 컨텐츠의 임의의 부분들은 못마땅하고, 그 나머지 부분들은 마음에 드는 것으로 생각될 수 있다. 이로 인해 일부 청중들에게 못마땅하게 생각되는 부분들을 표시하도록 비디오 데이터에 마커들을 포함시키는 것이 제안되었다. 전송 위치에서 실행되는 어플리케이션은 비디오 스트림내의 마커들을 인식하고, 그것에 응답하여 통과들을 선택적으로 뮤팅(muting)하거나 또는 삭제한다. 예를 들면, "INHIBITION OF A TV PROGRAMME DISPLAY ACCORDING TO THE CONTENTS" 제목하에 1998년 5월 22일 공개된 PCT 출원 제 WO98/21891 호는, 마음에 들지 않는 주제를 포함하고 있는 것으로 표시된 비디오 스트림의 일부들을 삭제하는 소거출력(blanking out)에 대해서 기술하고 있다.Any parts of the video content are dissatisfied, and the rest of the video content may be considered to be a favorite. For this reason, it has been proposed to include markers in video data to mark parts of the audience that do not seem appropriate. The application running at the transmission location recognizes the markers in the video stream and selectively mutes or deletes passes in response. For example, PCT application WO98 / 21891, published May 22, 1998 under the heading "INHIBITION OF A TV PROGRAMME DISPLAY ACCORDING TO THE CONTENTS," is a part of a video stream that is marked as containing an unfavorable subject. Blanking out for deleting them is described.

"DISCRETIONARY VIEWING CONTROL" 제목하에 1993년 12월 18일자로 출원된 출원 제 GB 2 284 914호는, 전송 지점에서 정의되는 조건들에 따라 시간, 프로그램 식별, 프로그램 레이팅(rating) 등에 기초하여 텔레비전 프로그램에 제약을 두는 시스템에 대해서 기술하고 있다. 즉, 일정 조건들이 부여될 때 비디오 신호를 삭제 또는 금지하는 것이다.Application No. GB 2 284 914, filed December 18, 1993 under the heading "DISCRETIONARY VIEWING CONTROL," is incorporated into a television program based on time, program identification, program rating, etc., in accordance with the conditions defined at the point of transmission. It describes a system with constraints. That is, the video signal is deleted or prohibited when certain conditions are given.

"METHOD AND APPARATUS FOR EDITING THE OUTPUT OF A TELEVISION SET" 제목하에 1983년 6월 12일자로 공개된 출원 제 WO 83/02208 호는, 비디오의 마커들에 기초하여 컨텐츠를 필터링하고 텔레비전 셋톱 박스에서 실행되는 어플리케이션을 필터링하는 시스템에 대해서 기술하고 있다. 신호에 삽입된 마커들은 컨텐츠에 따라 분류된다. "RESTRICTING ACCESS TO VIDEO MATERIAL" 제목하에 1997년 7월 10일자로 출원된 UK 출원 제 GB 2315175호는, 비디오 컨텐츠가 그 컨텐츠의 특징에 따라 전송 또는 재생되는 것이 허용되는 시스템에 대해서 기술하고 있다. 어플리케이션 필터링은 전송과 기록, 또는 뷰잉(viewing)간의 넥서스(nexus)로 미리 정해진다.Application WO 83/02208, published June 12, 1983 under the heading "METHOD AND APPARATUS FOR EDITING THE OUTPUT OF A TELEVISION SET", filters content based on markers in a video and executes it in a television set-top box. Describes a system for filtering applications. Markers inserted in the signal are classified according to their contents. UK application GB 2315175, filed July 10, 1997 under the heading "RESTRICTING ACCESS TO VIDEO MATERIAL", describes a system in which video content is permitted to be transmitted or reproduced in accordance with its characteristics. Application filtering is predetermined with the nexus between transmission and recording, or viewing.

"VIEWING RESTRICTING METHOD AND VIEWING RESTRICTING APPARATUS" 제목하에 1996년 2월 23일자로 출원된 US 특허 제 5,751,335 호는, TV 프로그램이 만일 허용 레이팅을 초과하는 경우 그 프로그램을 뮤팅하는 시스템에 대해서 기술하고 있다.US Patent No. 5,751,335, filed February 23, 1996, entitled "VIEWING RESTRICTING METHOD AND VIEWING RESTRICTING APPARATUS," describes a system for muting a TV program if it exceeds the permitted rating.

"REAL-TIME EDIT CONTROL FOR VIDEO PROGRAM MATERIAL"의 US 특허 제 5,778,135 호는, 비디오를 분할하고, 그 분할된 세그먼트를 전송하는 시스템에 대해서 기술하고 있다. 어플리케이션은 선택 레벨 보다 높게 전송되는 세그먼트들을 출력한다. 이것은 "ENCODER APPARATUS AND DECODER APPARATUS FOR A TELEVISION SIGNAL"의 PCT 출원 WO 96/41438에서 사용되는 기법과 동일하다.US Patent No. 5,778,135 to " REAL-TIME EDIT CONTROL FOR VIDEO PROGRAM MATERIAL " describes a system for segmenting video and transmitting the segmented segments. The application outputs segments that are sent higher than the selection level. This is the same technique used in the PCT application WO 96/41438 of "ENCODER APPARATUS AND DECODER APPARATUS FOR A TELEVISION SIGNAL".

비디오 스트림의 컨텐츠 인디케이터들에 응답하는 비디오 컨텐츠의 삭제는 이미 공지되어 있다. 종래의 시스템들에서, 비디오의 일부들은 단순하게 소정 간격의 비디오 디스플레이를 금지시킴으로써 저지된다. 또한, 그러한 저지를 실행하는 어플리케이션들은 비디오 스트림의 마커(즉, "특정 코드들"- 명세서 및 종래에서의 단어 "코드"는 마커들 또는 인디케이터들에 관련되지만, 절차 또는 처리에 관련하여 사용되는 단어 "코드"와는 컨텐츠에 기초하여 식별되어야 한다)들에 응답하여 미리 정해지고 실행된다. 또한, 소프트웨어와의 유저 상호 동작으로부터 초래되는 실행 경로에 따라 비디오 시퀀스를 선택적으로 재생하는 다른 종류의 소프트웨어와 컴퓨터 게임들이 있다. 예를 들면, 유저에 의해 행해지는 선택들에 따라 게임을 실행하는 동안에 재생될 수 있는 교체 비디오 시퀀스들이 몇 개 있을 수 있다.Deletion of video content responsive to content indicators of a video stream is already known. In conventional systems, some of the video is stopped by simply prohibiting the video display at a predetermined interval. In addition, applications that implement such blocking are words that are used in connection with a procedure or process, although markers in the video stream (ie, "specific codes"-the specification and the word "code" in the prior art are related to markers or indicators. And "code" must be identified based on the content). In addition, there are other kinds of software and computer games that selectively play video sequences according to the execution path resulting from user interaction with the software. For example, there may be several replacement video sequences that may be played during game execution depending on the choices made by the user.

비디오 컨텐츠의 생성자로 하여금 비디오 컨텐츠의 선택적인 디스플레이에 관한 특징들에 대하여 제어를 허용하는 메커니즘이 요구된다. 현행 기법은 이러한 제어를 중간 제어 또는 전송 지점에 제공되는 정교함의 정도로 제한한다.What is needed is a mechanism to allow a creator of video content to control features related to the selective display of video content. Current techniques limit this control to the degree of sophistication provided at the intermediate control or transmission point.

본 발명은 비디오 컨텐츠가 전송 사이트에서의 조건, 유저의 선호 조건, 또는 다른 조건에 따라 액티브하게 변경되는 비디오 시스템들에 관한 것으로, 구체적으로는 그러한 변경을 제어하는 절차들이 내재되어 있거나 또는 비디오 시스템과 동기되는 시스템들에 관한 것이다.The present invention relates to video systems in which video content is actively changed in accordance with a condition at a transmission site, a user's preference, or other condition, and specifically includes procedures for controlling such a change, or It relates to synchronous systems.

도 1은 본 발명이 사용되는 유저 환경을 기술하는 도면.1 is a diagram describing a user environment in which the present invention is used.

도 2는 소스로부터의 비디오 데이터를 역다중화하여 절차를 정의하는 데이터를 추출하고 복호하며, 그 절차는 프로파일에 응답하여 비디오를 변경하도록 실행되는 본 발명의 실시예를 도시하는 도면.FIG. 2 illustrates an embodiment of the invention in which multiplexed video data from a source extracts and decodes data defining a procedure, the procedure being executed to change the video in response to a profile.

도 3은 소스로부터의 비디오 데이터를 역다중화하여 절차를 정의하는 데이터를 추출하며, 그 절차에 의해 변경되는 압축 파일은 프로파일에 응답하여 실행되고, 또 변경된 압축 파일은 복호되는 본 발명의 실시예를 도시하는 도면.FIG. 3 illustrates an embodiment of the present invention wherein demultiplexing video data from a source extracts data defining a procedure, wherein the compressed file modified by the procedure is executed in response to the profile and the modified compressed file is decoded. The figure which shows.

도 4는 소스로부터의 비디오 데이터를 역다중화하고 절차를 정의하는 데이타는 독립 소스로부터 취득되고, 비디오 파일은 프로파일에 응답하여 비디오를 변경하도록 실행되는 본 발명의 실시예를 도시하는 도면.4 illustrates an embodiment of the invention in which the data demultiplexing from the source and data defining the procedure are obtained from an independent source and the video file is executed to change the video in response to the profile.

도 5는 본 발명의 임의의 실시예들에 관한 특징들을 기술하기 위해 비디오 파일을 도식적으로 표시한 도면.5 is a diagrammatic representation of a video file to describe features relating to any embodiments of the present invention.

비디오 스트림의 실시간 변경을 허용하는데 다양한 기법들이 사용될 수 있다. 본 발명에 따르면, 이러한 변경이 행해지는 방법은 가능한 변경 범위를 증가시킨다. 또한, 비디오 스트림의 생성자가 수신 종단에 제공되는 특징들에 관하여 취할 수 있는 제어를 증가시킨다. 이러한 이점들은 카피 스테이션(예를 들면, 저장 스테이션, 전송 스테이션, 기록 스테이션, 방송국 등)과 같은 디스플레이 또는 다른 제너레이터에 의해 실행되는 1개 또는 그 이상의 소프트웨어 절차들을 각각의 비디오 스트림 또는 파일과 연관시킴으로써 제공된다. 제너레이터는 본래의 비디오 스트림과 1개 또는 그 이상의 절차들을 정의하는 코드 모두를 수신하여 임의 방법으로 비디오 스트림을 변경하도록 구현된다. 예를 들면, 일실시예에서, 제너레이터는 텔레비전이다. 이 실시예에 따르면, 텔레비전은 내재된 절차 코드와 함께 비디오 신호를 수신한다. 텔레비전은 소프트웨어 데이터와 원래 비디오 데이터를 분리하는 내부 제어기를 구비하여 그 소프트웨어 데이터를 실행하고 나서, 비디오 데이터를 변경한다. 예를 들면, 소프트웨어 데이터는 아날로그 비디오 신호의 비디오 귀선 구간("VBI"; video blanking interval)에 포함될 수 있거나 또는 단순하게 비디오 파일에 첨부되는 헤더 파일에 포함될 수 있다. 이 실시예에서, 내부 제어기는 다양한 효과들을 생성하도록 절차가 액세스하는 기능들의 세트를 제공하는 어플리케이션 프로그램 인터페이스("API")를 이용하여 프로그래밍될 수 있다. 이것은 자바형 시스템 또는 개량형 자바일 수 있다. 소프트웨어 데이터는, 실행되어 비디오 데이터를 변경하는 절차를 정의한다. 절차는 그 절차로 하여금 변경되는 비디오 데이터의 부분들을 식별할 수 있도록 비디오 데이터에 시각 또는 세그먼트 마커들로 키잉된다.Various techniques can be used to allow real-time change of the video stream. According to the invention, the way in which these changes are made increases the possible range of changes. It also increases the control that the creator of the video stream can take regarding the features provided to the receiving end. These advantages are provided by associating each video stream or file with one or more software procedures executed by a display or other generator, such as a copy station (e.g., storage station, transmission station, recording station, broadcast station, etc.). do. The generator is implemented to receive both the original video stream and the code defining one or more procedures to modify the video stream in any way. For example, in one embodiment, the generator is a television. According to this embodiment, the television receives a video signal with an embedded procedural code. The television has an internal controller that separates the software data from the original video data, executes the software data, and then changes the video data. For example, the software data may be included in the video blanking interval (“VBI”) of the analog video signal or may simply be included in a header file attached to the video file. In this embodiment, the internal controller may be programmed using an application program interface (“API”) that provides a set of functions that the procedure accesses to produce various effects. This is java System or improved Java Can be. Software data defines a procedure that is executed to change the video data. The procedure is keyed with visual or segment markers on the video data so that the procedure can identify portions of the video data that are to be changed.

이 API는 리치(rich) 특징 세트 또는 린(lean) 특징 세트를 제공할 수 있다.또한 하이 레벨 또는 로우 레벨로 기록될 수도 있다. 예를 들면, API는 비디오의 일정 시간 간격에서만 디스플레이되는 특정 영역 상에 특정 컬러의 평평한 직사각형 또는 완만한 타원과 같은 물체를 드로우잉하는 기능을 제공할 수 있다. 이러한 기능들은 물체, 크기 및 형태, 컬러, 및 스타트 및 스톱 타임 세그먼트들의 좌표들을 명시하는 절차에서 인수(argument)들을 얻을 수 있다. 다른 예는 스크린의 일부에 대해 특정 필터를 적용하는 것이다. 필터 마스크는 인수로서 공급될 수 있다.This API may provide a rich feature set or a lean feature set. It may also be written at a high or low level. For example, the API may provide the ability to draw an object, such as a flat rectangle or a smooth ellipse of a particular color, over a particular area displayed only at certain time intervals of the video. These functions can obtain arguments in the procedure specifying the object, size and shape, color, and coordinates of the start and stop time segments. Another example is to apply a specific filter to a portion of the screen. The filter mask can be supplied as an argument.

다수의 기능들의 세트, 또는 다양한 상이한 방법들로 액세스되어 구현될 수 있는 기본 기능들 중 하나를 제공함으로써, 본 발명에 의하면 비디오 컨텐츠 제너레이터는 비디오 컨텐츠의 분배 및 사용에 관한 많은 특징들 및 옵션들을 제공한다. 한 가지 결과는, 이용 가능한 특징들이 종래에서처럼 전송 장치 또는 출력 장치(예를 들면, 텔레비전)에 미리 정해져 있는 일부 세트에 한정되지 않는다는 것이다. 보다 많은 내장 특징의 다수의 기능들의 세트 또는 기본 기능들 모두가 동일한 정도의 유연성을 제공할 수 있다. 양자가 제공될 수 도 있다.By providing a set of multiple functions, or one of the basic functions that can be accessed and implemented in a variety of different ways, according to the present invention the video content generator provides many features and options regarding the distribution and use of video content. do. One result is that the available features are not limited to some set that is predefined in a transmission device or an output device (eg, a television) as in the prior art. Multiple sets of functions or basic functions of more built-in features may all provide the same degree of flexibility. Both may be provided.

추상적인 수준에서, 본 발명은 비디오 데이터를 변경하는 실행 가능한 절차들의 어소시에이션에 비디오 자체를 제공한다. 어소시에이션은, 다중화 또는 압축 또는 코드화 신호를 궁극적으로 비디오 데이터 스트림으로 변환하는 디스플레이 처리 장비상에 비디오의 프리젠테이션과 실질적으로 동기화하게 비디오를 처리하는 절차들의 공급에 의해 제공될 수 있다. 동일하거나 또는 관련 파일에 절차 코드를 실장함으로써 어소시에이션이 제공될 수 있다. 다른 실시예들은 아날로그 또는 디지털이든지 간에 비디오 데이터 스트림에 인터리브 형태로 내재되는 코드를 공급함으로써 어소시에이션을 발생할 수 있다.At an abstract level, the present invention provides the video itself with an association of executable procedures for modifying the video data. The association may be provided by the supply of procedures for processing the video to substantially synchronize the presentation of the video on display processing equipment that ultimately converts the multiplexed or compressed or coded signal into a video data stream. Associations may be provided by mounting procedural code in the same or related file. Other embodiments may generate associations by supplying interleaved codes in the interleaved form to the video data stream, whether analog or digital.

전술된 바와 같이, 용어 "절차" 및 "코드" 및 다른 용어들은 평서 정의들 및 절차 정의들 모두를 광범위하게 포함하는 처리들 또는 잠재적인 처리들의 정의들과 관련된다. 따라서, 이러한 의미에 의해 알고리즘들에 관한 본 발명을 상기와 같이 표현함으로써 한정하지는 않는다. 본 발명은 사상 구동 타입들의 언어, 객체 지향 언어들 등을 포함한다.As mentioned above, the terms "procedure" and "code" and other terms relate to definitions of processes or potential processes that broadly include both review definitions and procedural definitions. Therefore, by this meaning it is not limited by expressing the present invention regarding algorithms as above. The present invention includes languages of mapping driven types, object oriented languages, and the like.

각각의 비디오에 대하여 정의되는 절차들에 있어서, 가능한 변경들의 범위, 조건들, 규칙들, 기준 및 가능한 옵션들은 너무 커서 포괄적인 리스트를 제공할 수 없다. 이것은 상당한 이점이다. 또한, 이러한 가능성들은 디스플레이(기록, 방송 등) 장치가 전개될 때 알려질 필요가 없다. 따라서, 비디오 컨텐트는 자신의 특징 업그레이드들로 전달될 수 있다. 컨텐트의 개량들은 디스플레이(또는 다른) 장치에서의 소프트웨어 변화들을 요구하지 않고도 가능하다. 변경들의 횟수 및 그 타입들은 무한하다. 이하는 설명하기 위한 몇 가지 일례들이다.In the procedures defined for each video, the range of possible changes, conditions, rules, criteria and possible options are too large to provide a comprehensive list. This is a significant advantage. In addition, these possibilities need not be known when the display (recording, broadcasting, etc.) device is deployed. Thus, video content can be delivered with its feature upgrades. Improvements in content are possible without requiring software changes in the display (or other) device. The number of changes and their types are infinite. The following are some examples to illustrate.

비디오는 절차에 의해 액세스되는 유저 프로파일에 따라 선택되는 복수의 언어 트랙들로 시핑(shipping)될 수 있다.The video may be shipped into a plurality of language tracks selected according to the user profile accessed by the procedure.

절차는 유저에 의해 입력되는 패스워드 및 프로파일 데이터를 사용하는 비디오를 해독한다.The procedure decrypts the video using the password and profile data entered by the user.

절차는 전면 나체를 감추도록 영화 상영 동안에 프레임의 일부분들에 블러(blur) 필터를 인가한다.The procedure applies a blur filter to portions of the frame during movie showing to hide the front naked body.

절차는 절차에 의해 발생되는 콘솔에 입력되는 유저의 선호도에 따라 비디오의 디스플레이 속도를 유저가 증가시킬 수 있는 제어 콘솔을 제공한다.The procedure provides a control console that allows the user to increase the display speed of the video in accordance with the user's preferences entered into the console generated by the procedure.

절차는 낮은 해상도 이미지를 제공하고, 전 해상도 비디오가 보여질 수 있는 그 점에서 데이터 표시 지불 허가를 승인한다.The procedure provides a low resolution image, and authorizes data display payment authorization in that full resolution video can be viewed.

절차는 패턴 인식에 기초한 비디오 신호 부분들과 검열 삭제되는 재료를 포함하는 부분들을 인식하고, 재생 속도를 매우 고속으로 하도록 프레임들을 스킵함으로써 그 부분들을 생략한다.The procedure recognizes video signal parts based on pattern recognition and parts containing censored material and omits them by skipping frames to make the playback speed very fast.

절차는 예를 들면 비속어를 표현하고 비디오 신호의 마커들에 의해 지시되는 사운드 트랙 세그먼트들을 생략한다.The procedure, for example, expresses profanity and omits the sound track segments indicated by the markers of the video signal.

이전에 공지되지 않은 기법은 비디오, 예를 들면 임의의 특정 방법으로 유저 프로파일에 응답하거나 또는 유저에게 임의의 선택권들을 주는 절차에 있어서 전송된다.Techniques not previously known are transmitted in the video, for example in the procedure of responding to the user profile in any particular way or giving the user some choices.

절차는 비디오 또는 플래시애니메이션의 텍스트 오버레이를 비디오의 톱에 제공한다.Procedure for video or flash Provides an animation text overlay at the top of the video.

절차는 웹사이트로부터 광고 방송을 검색하여 비디오 방송 중에 일정 간격들로 그 광고 방송을 디스플레이한다.The procedure retrieves the commercial from the website and displays the commercial at regular intervals during the video broadcast.

절차는 또한 기록될 때까지 배너 광고를 디스플레이하는 셰어웨어와 동일한 비디오 시청을 위해 대금 지불을 승인함으로써, 광고 방송을 제공하는 매체를 유저에게 제공함으로써 광고 방송의 횟수 및 지속 기간을 감소시킨다.The procedure also reduces the number and duration of the commercial by providing the user with the medium providing the commercial by approving the payment for viewing the same video as the shareware that displays the banner commercial until recorded.

절차는 유저에 의해 행사될 수 있는 다양한 라이센스가 머신의 프로파일 파일에 의해 제어될 수 있도록 재생 권리들을 제어한다.The procedure controls playback rights so that various licenses that can be exercised by the user can be controlled by the machine's profile file.

상기 모든 일례들의 공통적인 특징은, 파일과 연관된 프로그램이 디스플레이 또는 재생 장치에 표시되거나 또는 이용 가능하도록 요구하기보다는 그러한 특징의 이점을 향유하는 것에 있다. 본 발명에 의하면 비디오의 생성자 또는 분배자는 상당한 유연성으로 비디오 디스플레이 또는 다른 사용을 제어할 수 있다.A common feature of all the above examples is to enjoy the benefit of such a feature rather than requiring the program associated with the file to be displayed or available on a display or playback device. According to the present invention, the creator or distributor of a video can control the video display or other usage with considerable flexibility.

실시예에서, 절차는 비디오 스트림의 분리 가능한 부분들을 동작시키는 커맨드들로 구성된다. 실행 환경은 이러한 부분들 중 임의의 한정된 수의 부분이 적용 가능한 절차를 이용하여 항상 카피될 수 있다는 조건은 없다. 따라서, 어떠한 정보도 첨부된 절차가 실행 가능하지 않은 경우 매체 스트림의 분할 가능한 부분들에 걸쳐서 지속되지 않고("지속"은 "지속되게 행해짐"을 의미하는 신표현이다), 그 정보를 찾지 못하는 경우에는 스트림 자체를 발생시킨다. 이러한 분리 가능한 부분들이 스스로 분할되지 않도록, 프로그램의 일부를 카피하는데 사용되는 환경은 그 일부의 분할 가능성을 고려해야 한다. 분할 가능성을 방해하지 않도록 하는 한 방법은, 각각의 분리 가능한 부분을 블록 단위로 부호화하여 블럭이 매 비트마다 판독되지 않게 하는 것이다. 분할 가능한 부분의 일례는, 예를 들면 나체 장면의 일부분들을 가리기 위해서 임의의 방법으로 비디오 이미지의 일부를 필터링하는 비디오 세그먼트일 수 있다. 절차는 마스크의 적용 및 많은 프레임을 턴온하도록 실행될 수 있고, 그 마스크의 발생을 턴오프하도록 실행될 수 있다. 턴온과 턴오프 커맨드들간의 비디오 부분은 민감한 주제 이전에 동작되지 않도록 적어도 턴온 커맨드로 분할되지 않아야 한다.In an embodiment, the procedure consists of commands for operating the separable portions of the video stream. There is no condition that an execution environment can always be copied using any applicable number of portions of these portions. Thus, if no information persists over the segmentable portions of the media stream when the appended procedure is not feasible ("persistent" is a new expression meaning "persisted"), and the information is not found Generates the stream itself. In order to prevent these separable parts from splitting themselves, the environment used to copy a part of the program must take into account the possibility of splitting that part. One way to not interfere with the possibility of splitting is to encode each separable portion block by block so that the block is not read every bit. One example of a segmentable portion may be a video segment that filters a portion of the video image in any way, for example, to mask portions of the naked scene. The procedure can be performed to apply a mask and to turn on many frames, and to turn off the generation of that mask. The video portion between the turn on and turn off commands should not be at least split into turn on commands so that they are not operated before the sensitive subject.

본 발명을 구현하는 다른 방법은, 비디오의 모든 프레임이 자기 상태-발생 절차 코드(own state-generating procedure code)를 포함하도록 하는 것이다. 이 환경은 또한 조건이 없다. 다음으로, 카피되는 임의의 수의 프레임들은 그 프레임에 정확한 속성을 적용하는 적정 코드를 포함하게 된다. 전술된 예에서, 필터가 시퀀스의 각 프레임의 부분에 적용되는 경우, 필터 인가 커맨드, 필터의 정의는 각 프레임을 처리한다. 이 실시예에서, 환경은 프레임들 사이에서 조건이 없다. 이 실시예는 방송 모델에 사용될 수 있다. 절차들에 덧붙여, 비디오에 관한 정보는 절차 데이터로 부호화될 수 있다. 예를 들면, 타이틀, 저자, 기술 등이 포함될 수 있어, 임의의 카피된 비디오 시퀀스는 세그먼트가 발생한 비디오 파일에 관한 전반적인 정보를 포함할 수 있다. 이러한 데이터는 각각의 프레임에 대하여 저장될 수 없지만, 복수 프레임들로 분배될 수 있다.Another way to implement the present invention is to ensure that every frame of video includes own state-generating procedure code. This environment is also unconditional. Next, any number of frames to be copied will contain the appropriate code to apply the correct attributes to that frame. In the above example, when the filter is applied to the portion of each frame of the sequence, the filter applying command, the definition of the filter, processes each frame. In this embodiment, the environment is unconditional between frames. This embodiment can be used for a broadcast model. In addition to the procedures, information about the video may be encoded into the procedure data. For example, a title, author, description, and the like may be included so that any copied video sequence may include overall information about the video file from which the segment occurred. Such data cannot be stored for each frame, but may be distributed in multiple frames.

본 발명은 보다 명확하게 이해될 수 있도록 이하의 기술적인 도면을 참조하여 임의의 바람직한 실시예와 관련하여 기술된다. 도면들을 참조하면, 도시되는 특징부는, 일례로서 본 발명의 바람직한 실시예를 기술적으로 논의하기 위한 것이며, 가장 유용하고 본 발명의 원리 및 개념 견지의 기술을 보다 이해하기 쉽게 하기 위하여 제공된다. 이러한 관점에서, 어떠한 시도도 본 발명을 기본적으로 이해하는데 필요한 것보다도 더 상세히 본 발명의 구조적 상세를 보여주도록 행해지지 않으며, 도면을 이용하여 취해지는 기술은 당업자에게 본 발명의 몇 가지 형태가 어떻게 실제로 구체화될 수 있는 지를 명백하게 한다.The invention has been described in connection with any preferred embodiment with reference to the following technical drawings in order to be more clearly understood. Referring to the drawings, the depicted features are provided as an example for technically discussing preferred embodiments of the present invention, and are provided in order to make the description of the principles and concepts of the present invention most useful. In this regard, no attempt is made to show the structural details of the invention in more detail than is necessary to a fundamental understanding of the invention, and the techniques employed by using the drawings illustrate, to those skilled in the art, how some aspects of the invention actually Clarify if it can be embodied.

도 1을 참조하면, 본 발명의 기능 특징들을 지원할 수 있는 물리적 내부 구성의 일례는 컴퓨터(140) 및 다양한 타입들의 입력 및/또는 저장 장치들을 구비한 뷰 시스템(100)을 포함한다. 후자는 키보드(112), 원격 제어(110), 플로피 디스크, 광 디스크, 메모리 카드 등의 착탈 가능한 매체(120), 필립스 프론토, 프로그래머블 제어기, 음성 인식/능동 제어기, 마우스, 제스쳐-인식 제어기 등을 포함한다. 데이터는 고정 디스크 드라이브(135)에 국부적으로 저장될 수 있다. 출력 장치들은 모니터 또는 TV(130), 스피커들(131), 및/또는 다른 출력 장치들을 포함할 수 있다. 컴퓨터(140)(즉, 전술된 바와 같이 연산 가능한 장치들)는 외부 소스로부터 데이터(160) 및/또는 비디오(170)를 수신하며, 외부 소스에는 방송 전송, 데이터 저장, 인터넷, 네트워크, 위성 전송, 스위치드 회로 전송, 또는 데이터 또는 다른 신호의 임의의 다른 소스가 있다. 용어 "컴퓨터"에 관하여, 셋 톱 박스, 내장 시스템, 제어기를 가진 저장 장치, 또는 기능 요건들을 실행할 수 있는 임의 디지털 장치를 의미하는 것으로 알고 있다. 컴퓨터(140)는 데이터 저장 장치(135)에 저장되거나, 또는 외부 소스로부터 수신된 데이터(160) 및/또는 비디오(170)에 삽입되거나, 또는 데이터 파일의 형태로 컴퓨터에 전달되는 파일들에 내재될 수 있는 절차들을 실행한다. 그 절차들은 압축 또는 압축 해제된 형태 중 하나로 비디오를 변경한다. 변경 후에, 비디오는 VTR(133)에 저장되거나 또는 방송처럼 무선 송신기(137)에 전송되거나, 또는 TV 또는 모니터(130)에 디스플레이될 수 있다. 도시된 입력 및 출력 장치들은 일례일 뿐이다.Referring to FIG. 1, one example of a physical internal configuration capable of supporting the functional features of the present invention includes a computer 140 and a view system 100 with various types of input and / or storage devices. The latter is a keyboard 112, a remote control 110, a removable medium 120 such as a floppy disk, an optical disk, a memory card, Philips Fronto , Programmable controller, voice recognition / active controller, mouse, gesture-recognition controller, and the like. Data may be stored locally on the fixed disk drive 135. Output devices may include a monitor or TV 130, speakers 131, and / or other output devices. Computer 140 (ie, operable as described above) receives data 160 and / or video 170 from an external source, which may include broadcast transmission, data storage, the Internet, network, satellite transmission. , Switched circuit transmission, or any other source of data or other signal. With respect to the term "computer", it is understood to mean a set top box, an embedded system, a storage device with a controller, or any digital device capable of carrying out functional requirements. The computer 140 is embedded in files stored in the data storage device 135 or inserted into the data 160 and / or video 170 received from an external source, or transmitted to the computer in the form of a data file. Carry out possible procedures. The procedures change the video into either compressed or decompressed form. After the change, the video may be stored in the VTR 133 or transmitted to the wireless transmitter 137 as a broadcast, or displayed on the TV or monitor 130. The input and output devices shown are only examples.

본 발명의 다른 실시예에서, 데이터(160) 및 비디오(170)는 2가지 상이한 송신기들에 의해 전송된다. 또한, 또 다른 실시예에서, 데이터(160)는 복수의 송신기들에 의해 분배되는 반면에, 이에 대응하는 비디오(170)는 싱글 송신기에 의해 전송된다. 이 실시예에서, 비디오는 예를 들어 전체적으로 분배되는 반면에, 데이터는 국부적으로 분배된다. 이것에 의해 상이한 영역들의 비디오에 상이한 절차들을 제공할 수 있게 된다. 이 실시예에서, 비디오(170)를 전송하는 송신기의 범위는 데이터(160)를 전송하는 다수의 송신기들의 일부인 송신기들의 범위 보다 크다.In another embodiment of the present invention, data 160 and video 170 are transmitted by two different transmitters. Also in another embodiment, data 160 is distributed by a plurality of transmitters, while corresponding video 170 is transmitted by a single transmitter. In this embodiment, the video is distributed throughout, for example, while the data is distributed locally. This makes it possible to provide different procedures for video in different areas. In this embodiment, the range of transmitters that transmit video 170 is greater than the range of transmitters that are part of multiple transmitters that transmit data 160.

이전의 2가지 실시예들에서, 데이터로 정의되는 절차들이 비디오 스트림의대응 부분들에 정확하게 적용되도록 데이터(160)와 비디오(170)와 동기하여 보호가 취해져야 한다.In the previous two embodiments, protection must be taken in synchronization with data 160 and video 170 so that the procedures defined by the data are applied correctly to the corresponding portions of the video stream.

도 2를 참조하면, 예시적인 실시예에서, 컴퓨터(140)는 케이블, 마이크로웨이브, 위성, 또는 다른 방송 전송(180), 노트북(185)과 같은 컴퓨터, 인터넷과 같은 네트워크(190), 데이터 저장 장치(195), 또는 아날로그 및/또는 디지털 데이터의 임의의 다른 소스일 수 있는 어떤 소스로부터 비디오 파일을 수신한다. 또한, 이들은 스마트 이동 전화, PDA 등을 포함할 수 있다. 현 실시예에서, 수신된 데이터는 비디오 스트림이다. 비디오 스트림은 비디오 스트림을 액티브 비디오 절차 데이터 스트림과 원래 비디오 스트림으로 분리하는 역다중화기(205)에 의해 수신된다. 전자는 액티브 스트림 엔진(225)에 적용되고, 후자는 디코더(210)에 적용된다(압축된 비디오 포맷을 복호할 필요가 있는 경우). 디코더(210)의 출력은 컴퓨터(140)에 저장된 프로파일을 점검하는 처리 장치(215)에 인가된다. 프로파일은 청중을 특징짓는 데이터를 저장한다. 프로파일과 현 비디오가 일치하는 경우, 절차는 변경된 비디오 스트림을 발생시키기 위하여 프로파일 데이터에 응답하여 처리 장치(225)에 적용된다. 프로파일이 그렇게 비디오 스트림의 변경을 정당화하지 못하는 경우, 원래 압축 해제된 비디오가 출력된다. 출력 스트림은 다양한 상이한 싱크(sink)들 중 어느 하나 일 수 있는 출력 장치에 인가된다. 예를 들면, 그 출력 장치는 방송 전송(180), 컴퓨터(185), TV 또는 모니터(131), 또는 데이터 저장 장치(195)일 수 있다. 출력 장치들은 또한 도 1에 도시된 바와 같이 VTR을 포함할 수 있으며, 도 2에 도시된 일례는 단지 예시적인 일례일 뿐이다.Referring to FIG. 2, in an exemplary embodiment, the computer 140 may include a cable, microwave, satellite, or other broadcast transmission 180, a computer such as a laptop 185, a network 190 such as the Internet, and data storage. Receives a video file from device 195, or from any other source that may be any other source of analog and / or digital data. In addition, they may include smart mobile phones, PDAs, and the like. In the present embodiment, the received data is a video stream. The video stream is received by demultiplexer 205 that separates the video stream into an active video procedure data stream and an original video stream. The former is applied to the active stream engine 225 and the latter is applied to the decoder 210 (if it is necessary to decode the compressed video format). The output of the decoder 210 is applied to the processing device 215 for checking the profile stored in the computer 140. Profiles store data that characterize the audience. If the profile matches the current video, the procedure is applied to the processing device 225 in response to the profile data to generate a modified video stream. If the profile does not justify the change of the video stream as such, the original decompressed video is output. The output stream is applied to the output device, which can be any of a variety of different sinks. For example, the output device may be a broadcast transmission 180, a computer 185, a TV or monitor 131, or a data storage device 195. The output devices may also include a VTR as shown in FIG. 1, with the example shown in FIG. 2 being merely an example.

역다중화기는 아날로그 또는 디지털 신호를 수신한다. 아날로그 신호의 일례로는 텔레비전 방송으로부터의 NTSC 신호가 있다. 이 경우, 데이터를 배치하는 공통 장소는 VBI 내에 있으며, 이 때 역다중화기는 원래 비디오 스트림으로부터 VBI에 있는 데이터를 추출하여 액티브 스트림 엔진(225)에 인가할 수 있다. 액티브 스트림 엔진은 단순히 자신에 제공되는 절차를 실행한다. 액티브 비디오 절차는 단일 VBI에 패키지화될 수 있는 보다 많은 코드로 구성되며, 이 경우 액티브 스트림 엔진(225)은 전체 절차를 획득하도록 프로그래밍되고, 그 결과 구분자를 선행하는 데이터는 절차가 실행되었음을 나타내는 파일 마커 또는 다른 구분자의 종단에서와 같이 정상적인 형태로 표시될 수 있다. 임의의 적절한 프로토콜은 적용되어야 하는 비디오 세그먼트가 도달되기 전에 컴퓨터의 메모리에 절차를 누적하도록 정의된다. 비디오 데이터 파일이 디지털인 경우에, 절차 데이터는 헤더로서 패키지화되거나 또는 데이터 파일 또는 임의의 다른 적정 방법으로 인터리브될 수 있다. 그것이 스트림 데이터인 경우, 절차는 헤더 파일로 전송되거나, 또는 로딩되는 전체 절차 또는 절차들의 세트 동안에 재생이 대기없이 바로 개시할 수 있도록 비디오가 버퍼링되도록 작은 꾸러미들로 전송될 수 있으며, 절차(들)는 규정 시간외에도 누산될 수 있다. 후자의 누산 구성은 적용될 비디오가 절차(들)가 로딩되기전에 로딩되지 않았다고 가정한다. 대안적으로, 절차는 비디오 파일을 통해서 분배될 수 있고 컴퓨터(140)에서 실행하는 해석기에 의해 실행될 수 있다. (해석기는 미리 편집하지 않고도 수신되었을 때 예를 들면 MSDOS 등의 텍스트에 기초한 동작 시스템 셀의 커맨드 라인 또는 dDase Ⅲ 등의 데이터베이스 프로그램의 커맨드 모드와 같은 인스트럭션들을 즉각 실행하는 프로그램이다.)The demultiplexer receives an analog or digital signal. An example of an analog signal is an NTSC signal from television broadcast. In this case, the common place to place the data is in the VBI, where the demultiplexer can extract the data in the VBI from the original video stream and apply it to the active stream engine 225. The active stream engine simply executes the procedure provided to it. The active video procedure consists of more code that can be packaged in a single VBI, in which case the active stream engine 225 is programmed to obtain the entire procedure, so that the data preceding the delimiter is a file marker indicating that the procedure has been executed. Or in the normal form as at the end of other delimiters. Any suitable protocol is defined to accumulate procedures in the computer's memory before the video segment to be applied is reached. If the video data file is digital, the procedural data may be packaged as a header or interleaved in a data file or any other suitable method. If it is stream data, the procedure can be sent in a header file or in small packages so that the video is buffered so that playback can start immediately without waiting for the entire procedure or set of procedures to be loaded, and the procedure (s) May accumulate outside the prescribed time. The latter accumulation configuration assumes that the video to be applied was not loaded before the procedure (s) were loaded. Alternatively, the procedure may be distributed through a video file and executed by an interpreter running on computer 140. (An interpreter is a program that immediately executes instructions, such as the command line of an operating system cell based on text such as MSDOS or the command mode of a database program such as dDase III, when received without prior editing.)

일단 절차가 메모리에 누적되면, 비디오 파일의 인디케이터들 및 프로파일 데이터에 따라 실행될 수 있다. 도 5를 참조하면, 비디오 파일 또는 데이터 스트림의 인디케이터들은 다양한 형태들을 취할 수 있다. 몇 가지 상이한 일례들은 지시된 방향으로 전진하는 시간과 함께 파일 또는 스트림 매체 데이터(501)를 도시하는 도 5에 기술된다. 오디오 시퀀스(Aud1)은 마커로서 제공될 수 있으며, 이 경우 사운드 분류자는 임의 특징이 검출될 때까지 오디오 트랙 상에서 동작될 수 있다. 동일하게, 이미지(Img1, Img2)또는 다른 신호 소수(fraction)는 비디오 스트림의 일부를 식별하도록 인식될 수 있다. 프레임 이미지(510)의 서브이미지(SI)도 사건을 트리거하도록 분류될 수 있다.Once the procedure has accumulated in memory, it can be executed in accordance with the indicators and profile data of the video file. Referring to FIG. 5, indicators of a video file or data stream may take various forms. Some different examples are described in FIG. 5 showing file or stream media data 501 with time to advance in the indicated direction. The audio sequence Au 1 can be provided as a marker, in which case the sound classifier can be operated on the audio track until any feature is detected. Likewise, images Img 1 , Img 2 or other signal fractions can be recognized to identify a portion of the video stream. Subimages SI of frame image 510 may also be classified to trigger an event.

M1, M2,M3와 같은 마커는 파일에 기록될 수 있다. NTSC와 같은, 아날로그 파일에서, 마커는 VBI에 배치될 수 있다. 데이터 스타트 포인트의 개시 이후의 시간은 추적되어 시간 구분자들(T1, T2)과 같은 비디오 스트림의 부분들을 표시하는데 사용될 수 있다. 다시 말하면, 절차(500)는 적용되는 스트림 부분의 출현 이전에 비디오 스트림에 삽입될 수 있다. 예를 들면, 절차(500)는 T1, T2로 구별되는 시퀀스에 적용될 수 있지만, M3로 표시되는 것에는 적용되지 않는다(시간이 페이지를 올리고 있음을 유념하라).Markers such as M 1 , M 2 , M 3 can be recorded in a file. In analog files, such as NTSC, markers can be placed in the VBI. The time since the start of the data start point can be tracked and used to indicate portions of the video stream, such as time separators T 1 , T 2 . In other words, the procedure 500 may be inserted into the video stream before the appearance of the portion of the stream to which it applies. For example, procedure 500 can be applied to a sequence distinguished by T 1 , T 2 , but not to what is represented by M 3 (note that time is rolling up the page).

인디케이터들은 인스트럭션들이 수신시 즉각 실행 가능한 경우에는 필요하지않다. 인디케이터의 한 형태는 단순한 장소 마커이다. 아날로그 스트림에서, 마커는 워터마크의 형태, 또는 VBI로 다중화되는 비디오 이미지 또는 데이터 부분으로 인식될 수 있는 아이콘의 형태를 취할 수 있다. 디지털 스트림에서, 마커는 임의의 적정 기호 및 일시적인 위치 표시일 수 있다. 물론 디지털 실시예들에서, 마커는 절차의 적용과 일치하는 스트림에 위치를 반드시 차지할 필요는 없지만, 그렇지 않을 수도 있다.Indicators are not needed if the instructions are executable immediately upon receipt. One form of indicator is a simple place marker. In an analog stream, the marker may take the form of a watermark, or in the form of an icon that can be recognized as a portion of a video image or data multiplexed with VBI. In the digital stream, the marker may be any appropriate symbol and temporary position indication. Of course, in digital embodiments, the marker need not necessarily occupy a position in the stream consistent with the application of the procedure, but may not.

디코더(210)는, 비디오 데이터에 액세스가 요구되는 임의의 다른 규정된 처리를 압축 해제, 암호 해독, 언팩, 언번들링 또는 실행하기 위한 처리 장치일 수 있다. 이러한 처리 장치의 상세는 본 발명의 실시예에 있어서 중요하지 않다.Decoder 210 may be a processing device for decompressing, decrypting, unpacking, unbundling, or executing any other prescribed processing that requires access to video data. The details of this processing apparatus are not critical to the embodiment of the present invention.

프로파일은 단순하게 유저의 식별, 유저 또는 유저 그룹(예들 들면, 가족)의 선호도에 관한 정보, 또는 임의의 다양한 데이터를 포함할 수 있다. 예를 들면, 프로파일은 유저 그룹이 매우 어린 아이가 있는 가족임을 나타낼 수 있다. 액티브 절차는 매우 난폭하거나 또는 성적인 주제를 디스플레이하기전에 유저에게 질의할 수 있고, 무응답 시에는 잠재적으로 동의하지 않는 주제를 감추거나 또는 삭제할 수 있다. 프로파일 데이터베이스는 선택 가능한 속성들의 세트를 필터링하는데 절차를 사용하는 주제 선호도를 포함한다. 예를 들면, 특정인이 보여질 수 있도록 모두 집합된 많은 상이한 비디오 파일들을 비디오 파일이 포함하고 있다고 가정하자. 프로파일은 그것들을 필터링하여, 뷰잉 동안에 선택될 수 있도록 하나만을 표시하거나, 또는 복수의 것들을 표시한다.The profile may simply include information about the identification of the user, preferences of the user or group of users (eg, family), or any variety of data. For example, the profile may indicate that the user group is a family with very young children. The active procedure may query the user before displaying a very violent or sexual topic, and in the case of non-response, may hide or delete a topic that is potentially disagreeable. The profile database contains subject preferences that use the procedure to filter the set of selectable attributes. For example, suppose a video file contains many different video files that are all aggregated so that a particular person can be seen. The profile filters them, displaying only one or a plurality of things to be selected during viewing.

전술된 바와 같이, 실시예에서, 절차(들)는 비디오 스트림의 분리 가능한 부분들을 동작시키는 커맨드들로 구성된다. 실행 환경은, 임의의 한정된 수의 이러한 부분들은 항상 적용 가능한 절차(들)를 이용하여 카피될 수 있다. 어떤 정보도 첨부된 절차가 그 정보를 처리할 수 없는 경우 또는 절차가 그 정보 자체를 발생시킬 수 있는 경우에 실행 환경의 분할 가능한 부분들 사이에서 지속되지 않는다. 전술된 이러한 프레임 단위의 조건 없는 실시예에서, 역다중화기는 연속적으로 수신된 커맨드들을 발생한다. 커맨드들은 역다중화하자마자 실행되거나 또는 비디오 스트림의 마커들 또는 고유 인디케이터들에 키잉된다.As mentioned above, in an embodiment, the procedure (s) consists of commands that operate the separable portions of the video stream. The execution environment may be copied using any limited number of such portions at all times using applicable procedure (s). No information persists between the segmentable parts of the execution environment if the attached procedure is unable to process the information or if the procedure can generate the information itself. In this frameless unconditional embodiment described above, the demultiplexer generates consecutively received commands. The commands are executed as soon as they are demultiplexed or keyed into markers or unique indicators of the video stream.

도 3을 참조하면, 다른 실시예에서, 액티브 절차는 압축된 비디오 스트림에 적용된다. 복호기(310)는 액티브 절차가 원래 비디오 스트림에 적용된 후에만 행해진다. 이 예에서, 비디오는 압축되는 것으로 기술되고 있지만, 암호화, 번들링, 또는 다른 부호화될 수 있다. 다시 말하면, 도시되지는 않았지만, 프로파일 데이터는 프로파일 데이터에 응답하여 절차를 행하도록 액티브 스트림 엔진에 공급될 수 있다. 도 4에서, 액티브 절차는 액티브 스트림 엔진(425)에 병렬로 전송되거나 또는 공급될 수 있다. 예를 들면, 방송 환경에서, 병렬 전송이 발생될 수 있고 그것에 따라 비디오가 변경될 수 있다. 다시 말하면, 비디오 스트림의 마커들 또는 인디케이터에 관한 실행을 키잉시킴으로써 동기가 보장될 수 있다. 이 예에서, 이러한 키잉은 절차 코드의 짧은 수명에 이점이 있다. 비디오는 액티브 절차의 소스에 의해 가장 최근에 공급되는 절차들에 따라 항상 업데이트된다.Referring to FIG. 3, in another embodiment, an active procedure is applied to the compressed video stream. Decoder 310 is done only after the active procedure is applied to the original video stream. In this example, the video is described as being compressed, but can be encrypted, bundled, or otherwise encoded. In other words, although not shown, the profile data can be supplied to the active stream engine to perform a procedure in response to the profile data. In FIG. 4, the active procedure may be sent or supplied in parallel to the active stream engine 425. For example, in a broadcast environment, parallel transmission may occur and video may change accordingly. In other words, synchronization can be ensured by keying execution on markers or indicators in the video stream. In this example, such keying is advantageous for the short life of the procedure code. The video is always updated according to the procedures most recently supplied by the source of the active procedure.

조건 없는 요구가 중요하지 않은 환경에서, 액티브 절차 데이터는 인가되는 비디오의 부분들과 상관없는 위치들에 배치될 수 있다. 그러나, 한가지 요건은 TV방송 또는 인터넷 스트리밍 파일과 같은 스트리밍 소스에 대하여 절차가 요구되기 이전에 로딩되어야 한다는 것이다. 절차는 분해될 수 있지만, 그러한 모든 것은 절차가 요구되기 전에 메모리에 누적되어야 한다. 다음으로, 절차 코드는 덤프될 수 있다. 덤프를 트리거링하는 코드 및 사건은 절차 자체 내에서 부호화될 수 있는 것이 바람직하다.In an environment where unconditional demands are not critical, the active procedure data may be placed at locations independent of the portions of video being applied. However, one requirement is that the streaming source, such as a TV broadcast or Internet streaming file, must be loaded before the procedure is required. The procedure can be broken down, but all of that must accumulate in memory before the procedure is required. Next, the procedure code can be dumped. Code and events that trigger a dump may preferably be encoded within the procedure itself.

절차 정의 코드(code defining procedure)는 반드시 하이 레벨은 아니며, 복잡한 소정의 절차들을 정의하는 엘리먼트들을 포함하고, 또는 로우 레벨인 경우에는 유용한 액션들을 실행하도록 어셈블리되어야 하는 적은 증분 절차들을 정의하는 엘리먼트들을 포함한다. 이하는 매체 데이터 스트림을 변경하기에 적절한 API에 의해 실행될 수 있는 여러 종류의 커맨드들 중 예시적인 일례들이다.A code defining procedure is not necessarily high level and includes elements that define complex predetermined procedures or, in the low level, elements that define small incremental procedures that must be assembled to execute useful actions. do. The following are illustrative examples of the various types of commands that may be executed by an API suitable for changing the media data stream.

블록 b0~b1 재생 : 블록 b0 내지 블록 b1의 일련의 비디오 블럭들을 재생한다.Block b0 to b1 playback: Play a series of video blocks of blocks b0 to b1.

라인(x1, y1, x2, y2, W, C) 드로우 : 지시 가중치 및 컬러와 함께, 지시 좌표들로부터 중첩되는 라인을 드로우잉한다.Line (x1, y1, x2, y2, W, C) Draw: Draws a line overlapping from the indication coordinates, together with the indication weight and color.

라인(x1, y1, x2, y2, W, C, F) 드로우 : 지시 보더 가중치, 컬러 및 필과 함께, 지시 좌표들로부터 중첩되는 직사각형을 드로우잉한다.Lines (x1, y1, x2, y2, W, C, F) Draw: Draws an overlapping rectangle from the indication coordinates, together with the indication border weights, color and fill.

필터[(c11, c12, c13, c21, c22, c23, c31, c32, c33), x1, y1. x2, y2] 인가 : 지정된 영역상의 지정된 매트릭스에 의해 형성되는 존에 필터를 인가한다.Filter [(c11, c12, c13, c21, c22, c23, c31, c32, c33), x1, y1. x2, y2] Apply: Apply a filter to the zone formed by the specified matrix on the designated area.

경로://filename.vid에서의 비디오 세그먼트 포함 : 교체 스트림을 형성하고 그 교체 스트림을 삽입하기 위해 비디오를 정지시킨다.Include video segment at path: //filename.vid: Stops video to form a replacement stream and insert that replacement stream.

본 발명은 전술된 예시적인 실시예들의 상세에 한정되지 않고, 본 발명의 사상 또는 본질적인 속성들을 벗어나지 않는 범위 내에서 다른 특정 형태로 구체화될 수 있다는 것은 당업자에게 명백하다. 본 실시예들은 제한적인 것이 아닌 예시적인 관점에서 고려되어야 하며, 본 발명의 범위는 전술된 상세한 설명에 의해서라기 보다는 첨부되는 청구 범위에 의해 표시되고, 청구 범위의 의미 및 범위 내에서 발생되는 모든 변화들은 그 청구 범위 내에 포함되도록 의도된다.It is apparent to those skilled in the art that the present invention is not limited to the details of the exemplary embodiments described above, but may be embodied in other specific forms without departing from the spirit or essential attributes of the present invention. The present embodiments are to be considered in all respects as illustrative and not restrictive, the scope of the invention being indicated by the appended claims rather than by the foregoing description, and all changes that occur within the meaning and scope of the claims. Are intended to be included within the scope of the claims.

Claims (23)

매체 정보 스트림을 변경하는 방법에 있어서,A method of changing a media information stream, 상기 매체 정보 스트림(500)에, 상기 매체 정보 스트림의 일부를 변경하기 위해 적용될 절차(500)의 정의를 포함시키는 단계와;Including in the media information stream (500) a definition of a procedure (500) to be applied to modify a portion of the media information stream; 상기 매체 정보 스트림의 재생, 기록, 또는 재전송(140, 133, 130, 137, 135) 시점에서 상기 절차를 구현하는 단계를 포함하는 것을 특징으로 하는, 변경 방법.Implementing the procedure at the time of reproduction, recording, or retransmission (140, 133, 130, 137, 135) of the media information stream. 제 1 항에 있어서, 상기 절차는 복수의 단계들을 포함하며, 각각의 단계는 상기 각각의 단계가 적용 가능한 상기 매체 정보 스트림의 부분에 인접하게 상기 매체 정보 스트림에 포함되는, 방법.The method of claim 1, wherein the procedure comprises a plurality of steps, each step being included in the media information stream adjacent to a portion of the media information stream to which each step is applicable. 제 1 항에 있어서, 상기 구현 단계는 상기 매체 정보 스트림의 매체 정보 부분을 변경하는 단계를 포함하는, 방법.The method of claim 1, wherein the implementing comprises changing a medium information portion of the media information stream. 제 1 항에 있어서, 상기 구현 단계는 상기 재생, 기록, 또는 재전송 시점에서 컴퓨터의 해석기에 커맨드를 제공하는 단계를 포함하는, 방법.The method of claim 1, wherein the implementing comprises providing a command to an interpreter of a computer at the time of the playback, recording, or retransmission. 제 1 항에 있어서, 상기 구현 단계는 해석기에 커맨드를 입력하는 단계를 포함하며, 상기 해석기는 상기 커맨드가 입력하자 마자 바로 상기 커맨드를 실행하도록 프로그래밍되고, 상기 해석기는 상기 재생, 기록, 또는 재전송 시점에서 컴퓨터에 연속적으로 실행되는, 방법.2. The method of claim 1, wherein the implementing step includes inputting a command to an interpreter, the interpreter being programmed to execute the command as soon as the command is entered, and the interpreter being at the time of the playback, recording, or retransmission. In the method, which runs continuously on the computer. 제 5 항에 있어서, 상기 해석기의 실행 환경은 어떤 변수들도 한 커맨드에서 다음 커맨드까지 지속되지 않는다는 점에서 조건이 없는, 방법.6. The method of claim 5, wherein the interpreter's execution environment is unconditional in that no variables persist from one command to the next. 제 5 항에 있어서, 상기 해석기의 실행 환경은, 변경하는데 적용되고, 비디오 세그먼트 이전의 한 세트의 커맨드에서 다음 세트의 커맨드까지 어떤 변수도 지속되지 않는다는 점에서 조건이 없는, 방법.6. The method of claim 5, wherein the execution environment of the interpreter is adapted to change and is conditionless in that no variable persists from one set of commands before the video segment to the next set of commands. 매체 정보 스트림을 변경하는 방법에 있어서,A method of changing a media information stream, 절차를 지시하고, 매체 정보 스트림에 관하여 데이터 스트림 내에 상주하는 적어도 하나의 커맨드를 동기화하는 단계와;Instructing a procedure and synchronizing at least one command residing within the data stream with respect to the media information stream; 상기 절차가 상기 매체 정보 스트림을 변경하도록, 상기 매체 정보 스트림의 재생 시점에서 상기 커맨드에 응답하여 상기 절차를 호출하는 단계를 포함하며,Invoking the procedure in response to the command at the time of reproduction of the media information stream such that the procedure changes the media information stream; 상기 동기화 단계는, 상기 절차가 상기 매체 정보 스트림의 지정된 부분을 동작시키도록 하는데 효율적인 것을 특징으로 하는, 방법.And wherein said synchronizing step is effective to cause said procedure to operate a designated portion of said media information stream. 스트리밍 비디오 데이터의 여러 지점들에 배치되는 토큰들(500)을 갖는 스트리밍 비디오 데이터를 포함하며, 상기 토큰들은, 상기 매체 정보 스트림이 해석기에 적용되는 경우, 상기 해석기가 상기 커맨드에 응답하여 상기 스트리밍 비디오 데이터를 변경하도록 인에이블되게 하는, 매체 정보 스트림.Streaming video data having tokens 500 disposed at various points of streaming video data, the tokens being interpreted by the interpreter in response to the command when the media information stream is applied to an interpreter. A media information stream that is enabled to change data. 제 9 항에 있어서, 상기 해석기는 각각의 연속적인 세트의 커맨드가 모든 다른 연속적인 세트의 커맨드처럼 동일한 가상 머신 상태의 개시 시에 실행되도록 조건이 없는, 매체 정보 스트림.10. The media information stream of claim 9, wherein the interpreter is not subject to each successive set of commands being executed at the start of the same virtual machine state as all other successive sets of commands. 제 9 항에 있어서, 상기 스트리밍 비디오 데이터를 변경하는 것은, 상기 스트리밍 비디오 데이터의 적어도 하나의 프레임에 필터를 인가하는 것을 포함하는, 매체 정보 스트림.10. The media information stream of claim 9, wherein modifying the streaming video data comprises applying a filter to at least one frame of the streaming video data. 제 9 항에 있어서, 상기 스트리밍 비디오 데이터는 또한 마커들을 포함하며, 상기 커맨드들은 상기 마커들에 응답하여 실행 가능한, 매체 정보 스트림.10. The media information stream of claim 9, wherein the streaming video data also includes markers, and the commands are executable in response to the markers. 제 9 항에 있어서, 상기 커맨드들은 상기 스트리밍 비디오 데이터의 특징들에 응답하는, 매체 정보 스트림.10. The media information stream of claim 9, wherein the commands are responsive to features of the streaming video data. 방송 시스템에 있어서,In a broadcast system, 매체 정보 스트림을 출력하는데 효율적인 제1 송신기(137)와,A first transmitter 137 that is efficient for outputting a media information stream; 상기 매체 정보 스트림과 동기되는 절차 데이터 스트림을 출력하는데 효율적인 제2 송신기(137)를 포함하며,A second transmitter 137 that is efficient for outputting a procedural data stream that is synchronous with the media information stream; 상기 절차 데이터 스트림은, 실행될 때 상기 매체 정보 스트림을 변경하는데 효율적인 적어도 하나의 절차를 나타내는 데이터를 포함하고,The procedural data stream includes data indicative of at least one procedure that, when executed, is effective to modify the media information stream, 상기 절차 데이터 스트림에 정의되는 절차들이 상기 매체 정보 스트림의 지정된 부분들에 적용되도록 하는 것과 같이, 상기 매체 정보 스트림과 상기 절차 데이터 스트림의 동기화를 포함하는, 방송 시스템.And synchronizing the media information stream with the procedural data stream such that the procedures defined in the procedural data stream are applied to designated portions of the media information stream. 제 14 항에 있어서, 상기 제2 송신기는 송신기들의 매트릭스를 포함하며, 상기 매트릭스의 송신기들 각각은 상기 제1 송신기의 범위 보다 적은 범위를 갖는, 방송 시스템.15. The broadcasting system of claim 14, wherein the second transmitter comprises a matrix of transmitters, each of the transmitters of the matrix having a range less than the range of the first transmitter. 제 15 항에 있어서, 상기 매트릭스의 송신기들 각각은 상이한 데이터를 전송하는, 방송 시스템.16. The broadcast system of claim 15 wherein each of the transmitters in the matrix transmit different data. 제 14 항에 있어서, 상기 절차 데이터 스트림의 임의의 일련의 커맨드들에 대응하고 상기 매체 정보 스트림의 연속 부분에 적용되는 절차를 정의하는 상태 머신의 초기 상태는 동일 상태인, 방송 시스템.15. The broadcasting system of claim 14, wherein an initial state of a state machine that defines a procedure corresponding to any sequence of commands in the procedural data stream and that is applied to consecutive portions of the media information stream is the same state. 매체 정보 스트림을 수신하고 변경하는 장치에 있어서,An apparatus for receiving and modifying a media information stream, 결합된 데이터 스트림을 수신하고, 매체 정보 스트림 및 절차 데이터 스트림을 출력하기 위한 입력을 갖는 역다중화기(205, 305, 405)와;A demultiplexer (205, 305, 405) having inputs for receiving the combined data stream and for outputting the media information stream and the procedural data stream; 입력과 출력을 갖는 제어기(225, 325, 425)를 포함하며,Controllers 225, 325, 425 having inputs and outputs, 상기 제어기는 상기 매체 정보 스트림 및 상기 절차 데이터 스트림을 수신하고, 상기 절차 데이터 스트림에 응답하여 상기 매체 정보 스트림을 변경하도록 프로그래밍되는, 장치.The controller is programmed to receive the media information stream and the procedural data stream and to modify the media information stream in response to the procedural data stream. 제 18 항에 있어서, 상기 절차 데이터 스트림은 복수의 커맨드들을 포함하며, 각각의 커맨드는 상기 각각의 단계가 적용 가능한 상기 매체 정보 스트림의 부분을 표시하는 부분에 인접하게 상기 결합된 데이터 스트림에 포함되고, 상기 절차 데이터 스트림은 상기 매체 정보 스트림에 동기화되는, 방법.19. The method of claim 18, wherein the procedural data stream includes a plurality of commands, each command being included in the combined data stream adjacent to a portion indicating a portion of the media information stream to which each step is applicable. The procedural data stream is synchronized with the media information stream. 제 18 항에 있어서, 상기 제어기는, 그 사이클들이 상기 결합된 데이터 스트림의 구조에 응답하여 동기화되는 상태 머신을 실현시키기 위해 상기 절차 데이터 스트림의 커맨드들을 실행하는 해석기 처리를 발생하도록 프로그래밍되는, 방법.19. The method of claim 18, wherein the controller is programmed to generate an interpreter process that executes the commands of the procedural data stream to realize a state machine whose cycles are synchronized in response to the structure of the combined data stream. 제 18 항에 있어서, 상기 제어기는, 상기 절차 데이터 스트림의 커맨드들이 상기 제어기에 의해 수신되자 마자 바로 실행되도록 연속적으로 실행되는 해석기 처리를 실현시키도록 프로그래밍되는, 방법.19. The method of claim 18, wherein the controller is programmed to realize interpreter processing that is executed continuously so that the commands of the procedural data stream are executed immediately upon receipt by the controller. 제 21 항에 있어서, 상기 해석기의 실행 환경은 어떠한 변수들도 한 커맨드에서 다음 커맨드까지 지속되지 않는다는 점에서 조건이 없는, 방법.The method of claim 21, wherein the interpreter's execution environment is unconditional in that no variables persist from one command to the next. 제 21 항에 있어서, 상기 해석기의 실행 환경은, 어떠한 변수들도 변경하기 위해 적용되는 하나의 비디오 세그먼트 이전의 하나의 세트의 커맨드들에서 다음 세트의 커맨드들까지 지속되지 않는다는 점에서 조건이 없는, 방법.22. The conditional apparatus of claim 21 wherein the interpreter's execution environment is unconditional in that it does not last from one set of commands before one video segment to the next set of commands applied to change any variables. Way.
KR1020027005030A 2000-08-21 2001-08-13 Method and system for active modification of video content responsively to processes and data embedded in a video stream KR20020041828A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US64318600A 2000-08-21 2000-08-21
US09/643,186 2000-08-21
PCT/EP2001/009634 WO2002017633A2 (en) 2000-08-21 2001-08-13 Method and system for active modification of video content responsively to processes and data embedded in a video stream

Publications (1)

Publication Number Publication Date
KR20020041828A true KR20020041828A (en) 2002-06-03

Family

ID=24579721

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027005030A KR20020041828A (en) 2000-08-21 2001-08-13 Method and system for active modification of video content responsively to processes and data embedded in a video stream

Country Status (5)

Country Link
EP (1) EP1314313A2 (en)
JP (1) JP2004507939A (en)
KR (1) KR20020041828A (en)
CN (1) CN1394441A (en)
WO (1) WO2002017633A2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210124503A (en) * 2015-06-07 2021-10-14 애플 인크. Devices and methods for capturing and interacting with enhanced digital images
US11327648B2 (en) 2015-08-10 2022-05-10 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US11354033B2 (en) 2012-05-09 2022-06-07 Apple Inc. Device, method, and graphical user interface for managing icons in a user interface region
US11550471B2 (en) 2015-03-19 2023-01-10 Apple Inc. Touch input cursor manipulation
US11921975B2 (en) 2015-03-08 2024-03-05 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US11947724B2 (en) 2012-05-09 2024-04-02 Apple Inc. Device, method, and graphical user interface for providing tactile feedback for operations performed in a user interface

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6952485B1 (en) 2000-09-11 2005-10-04 Digimarc Corporation Watermark encoding and decoding in imaging devices and imaging device interfaces
AU2003273980A1 (en) * 2002-10-10 2004-05-04 Thomson Licensing S.A. Method for the uninterrupted display of television programs with suppressed program segments
MXPA05008752A (en) * 2003-02-21 2005-09-20 Matsushita Electric Ind Co Ltd Reording medium, playback device, recording method, playback method, and computer program.
GB2423659A (en) * 2005-02-24 2006-08-30 I-Zone Tv Limited Creating interactive television programmes using frameworks
EP1761060A3 (en) * 2005-09-06 2008-09-03 Electronics and Telecommunications Research Institute Transmission system, receiving terminal, and method for controlling data broadcasting contents
US20070140650A1 (en) * 2005-12-19 2007-06-21 Matsushita Electric Industrial Co., Ltd. Broadcast receiving apparatus
US7803998B2 (en) 2005-12-21 2010-09-28 Pioneer Hi-Bred International, Inc. Methods and compositions for modifying flower development
US20110247028A1 (en) 2010-04-01 2011-10-06 Mark Eyer Receiver and System Using an Electronic Questionnaire for Advanced Broadcast Services
CN102970610B (en) * 2012-11-26 2015-07-08 东莞宇龙通信科技有限公司 Intelligent displaying method and electronic equipment

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9517807D0 (en) * 1995-08-31 1995-11-01 Philips Electronics Uk Ltd Interactive entertainment attribute setting
US5990972A (en) * 1996-10-22 1999-11-23 Lucent Technologies, Inc. System and method for displaying a video menu
CN100438610C (en) * 1997-03-11 2008-11-26 Actv公司 Digital interactive system for providing full interactivity with programming events
IL122194A0 (en) * 1997-11-13 1998-06-15 Scidel Technologies Ltd Method and apparatus for personalized images inserted into a video stream

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11354033B2 (en) 2012-05-09 2022-06-07 Apple Inc. Device, method, and graphical user interface for managing icons in a user interface region
US11947724B2 (en) 2012-05-09 2024-04-02 Apple Inc. Device, method, and graphical user interface for providing tactile feedback for operations performed in a user interface
US11921975B2 (en) 2015-03-08 2024-03-05 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US11550471B2 (en) 2015-03-19 2023-01-10 Apple Inc. Touch input cursor manipulation
KR20210124503A (en) * 2015-06-07 2021-10-14 애플 인크. Devices and methods for capturing and interacting with enhanced digital images
KR20220021004A (en) * 2015-06-07 2022-02-21 애플 인크. Devices and methods for capturing and interacting with enhanced digital images
KR20220066198A (en) * 2015-06-07 2022-05-23 애플 인크. Devices and methods for capturing and interacting with enhanced digital images
US11681429B2 (en) 2015-06-07 2023-06-20 Apple Inc. Devices and methods for capturing and interacting with enhanced digital images
US11835985B2 (en) 2015-06-07 2023-12-05 Apple Inc. Devices and methods for capturing and interacting with enhanced digital images
US11327648B2 (en) 2015-08-10 2022-05-10 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US11740785B2 (en) 2015-08-10 2023-08-29 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback

Also Published As

Publication number Publication date
WO2002017633A2 (en) 2002-02-28
WO2002017633A3 (en) 2002-06-27
EP1314313A2 (en) 2003-05-28
JP2004507939A (en) 2004-03-11
CN1394441A (en) 2003-01-29

Similar Documents

Publication Publication Date Title
US20200162787A1 (en) Multimedia content navigation and playback
US8627193B2 (en) Bookmarks and watchpoints for selection and presentation of media streams
KR100618923B1 (en) Information processing apparatus, method, and computer-readable medium
US6889383B1 (en) Delivery of navigation data for playback of audio and video content
US20060031870A1 (en) Apparatus, system, and method for filtering objectionable portions of a multimedia presentation
US20100169906A1 (en) User-Annotated Video Markup
KR20020041828A (en) Method and system for active modification of video content responsively to processes and data embedded in a video stream
US8233770B2 (en) Content reproducing apparatus, recording medium, content recording medium, and method for controlling content reproducing apparatus
JP2007282048A (en) Method and device for processing content, method and device for generating change information, control program, and recording medium
KR100982517B1 (en) Storage medium recording audio-visual data with event information and reproducing apparatus thereof
EP1646050A1 (en) Storage medium storing multimedia data for providing moving image reproduction function and programming function, and apparatus and method for reproducing moving image
JP4955111B2 (en) REPRODUCTION DEVICE, CONTROL PROGRAM, RECORDING MEDIUM, AND REPRODUCTION DEVICE CONTROL METHOD
WO2002015024A1 (en) Method and apparatus for interactively accessing multimedia information associated with a specific dvd
JP5132871B2 (en) CONTENT REPRODUCTION DEVICE, CONTENT REPRODUCTION DEVICE CONTROL METHOD, CONTENT RECORDING MEDIUM, CONTROL PROGRAM, COMPUTER-READABLE RECORDING MEDIUM CONTAINING CONTROL PROGRAM
US9066063B2 (en) Enhanced program viewing method
JP2006107586A5 (en)
JP2006109317A (en) Reproducing apparatus
JP2007026671A (en) Broadcast data storage/reproduction method and device

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid