KR101392559B1 - 동적인 미디어 콘텐츠 미리 보기 - Google Patents

동적인 미디어 콘텐츠 미리 보기 Download PDF

Info

Publication number
KR101392559B1
KR101392559B1 KR1020127004690A KR20127004690A KR101392559B1 KR 101392559 B1 KR101392559 B1 KR 101392559B1 KR 1020127004690 A KR1020127004690 A KR 1020127004690A KR 20127004690 A KR20127004690 A KR 20127004690A KR 101392559 B1 KR101392559 B1 KR 101392559B1
Authority
KR
South Korea
Prior art keywords
media content
preview
stream
frames
dynamic
Prior art date
Application number
KR1020127004690A
Other languages
English (en)
Other versions
KR20120049291A (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 KR20120049291A publication Critical patent/KR20120049291A/ko
Application granted granted Critical
Publication of KR101392559B1 publication Critical patent/KR101392559B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • 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/818OS 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

동적인 미디어 콘텐츠의 미리 보기에 대한 요청에 응답하여 샌드박싱된 프로세스가 시작된다. 프레임들의 스트림은 샌드박싱된 프로세스 내에서 실행하는 플러그인에 의해 미리 보기 특유의 형식으로 생성된다. 프레임들의 스트림은 동적인 미디어 콘텐츠의 미리 보기로서 제공되고, 미리 보기는 디스플레이 스크린에서 볼 수 있다.

Description

동적인 미디어 콘텐츠 미리 보기{DYNAMIC MEDIA CONTENT PREVIEWS}
본 발명의 실시예들은 스트리밍 미디어와 관련이 있고, 더 상세하게는, 스트리밍 미디어 및 디지털 미디어 콘텐츠의 안전한 미리 보기를 제공하는 것과 관련이 있다.
컴퓨터 사용자들이 점점 더 노련해짐에 따라, 사람들이 사용하는 컴퓨터 프로그램들의 능률에 대한 요구가 증가하고 있다. 예를 들면, 많은 컴퓨터 시스템들은 사용자가 액세스를 필요로 할 수 있는 수백 개, 또는 수천 개까지의 파일들을 관리하는 어떤 종류의 파일 관리 시스템을 갖는다. 많은 전통적인 파일 관리 시스템들에서, 특정한 파일에 대한 파일 종류와 연관된 필요한 애플리케이션을 이용하여, 그 파일을 실제로 열지 않고 그 파일의 콘텐츠를 확인하는 것은 어렵다. 종종, 사용자가 파일을 열기 전에 그것에 관해 얻을 수 있는 유일한 유용한 정보는 파일 이름이다. 많은 사용자들은 전체 애플리케이션을 열고 그 후 파일을 여는 데에 실제로 리소스들을 커밋(commit)하기 전에 그 파일의 콘텐츠를 미리 볼 수 있기를 원할 것이다. 캘리포니아주 쿠퍼티노의 애플 인크에 의해 제공된 Mac OS X 내의 Finder와 같은 몇몇 파일 관리 시스템들은 파일들을 열기 전에 그것들을 미리 보기 위한 기능을 제공한다. 다른 운영 체제들 및 파일 관리 시스템들 또한 어떤 정적인 미리 보기 기능을 제공할 수 있다.
예를 들면, 애플의 Finder를 이용하여, 사용자는 PDF, 텍스트 파일, 워드 프로세싱 문서, 및 스프레드시트 등과 같은 문서들을 미리 볼 수 있다. Finder는 또한 사용자가 Mac OS에 의해 인지되는 네이티브 파일 종류(native file type)를 갖는 어떤 비디오 콘텐츠를 미리 볼 수 있게 한다.
Mac OS 내의 Quick Look 데몬은 여러 가지 플러그인들(plug-ins)을 통합하고, 그 각각은 클라이언트 프로세스로부터 특정한 데이터 종류를 받아들이고 그것을 PDF 및 HTML과 같은 표준 형식의 세트 중 하나의 표준 형식의 미리 보기로 변환한다. 표준 형식 미리 보기들은 그 후 Quick Look 프레임워크를 이용하여 클라이언트 프로세스에 의해 디스플레이된다. 이 구조의 이점은 그것은 제3자 플러그인 충돌(third party plug-in crashing)에 의해 야기되는 클라이언트 애플리케이션 충돌을 피한다는 것이다. 그러나, 이 모델은 스트리밍 미디어와 같은 동적인 미디어에 대해 특히 잘 작용하지 않는데, 그 이유는 넌-네이티브(non-native) 파일 종류와 연관된 동적인 미디어를 적당한 표준 형식으로 변환하는 것은 너무 많은 처리 시간이 걸려 유용하지 않거나 신뢰할 수 없기 때문이다.
클라이언트 프로세스가 동적인 미디어 콘텐츠의 미리 보기에 대한 요청을 수신하면, 그 요청은 샌드박싱된 프로세스(sandboxed process)에 전달된다. 샌드박싱된 프로세스는 클라이언트 프로세스로부터 분리되는데, 이것은 만약 샌드박싱된 프로세스가 충돌하더라도, 클라이언트 프로세스는 여전히 기능하고 동작한다는 것을 의미한다. 샌드박싱된 프로세스 내에서, 동적인 미디어 콘텐츠의 종류가 결정된다. 그 콘텐츠 종류는, 예를 들면, UTI(uniform-type identifier)에 기초하여 결정될 수 있다. 일단 콘텐츠 종류가 결정되면, 샌드박싱된 프로세스는 그 동적인 미디어 콘텐츠를 클라이언트 프로세스가 그 동적인 미디어의 미리 보기를 디스플레이하기 위해 사용할 수 있는 미디어 종류로 변환하기 위해 스트리밍 플러그인(streaming plug-in)을 검색한다.
플러그인은 그 플러그인과 연관된 프로토콜에 따라 동적인 미디어 콘텐츠를 변환하기 위해 사용된다. 몇몇 실시예들에서, 플러그인은 오디오 컴포넌트 및 비디오 컴포넌트 양쪽 모두를 생성한다(적어도 오디오 및 비디오 양쪽 모두를 갖는 동적인 미디어 콘텐츠에 대하여). 동적인 콘텐츠의 각각의 프레임이 생성될 때, 그것은 스트리밍 미리 보기로서의 디스플레이를 위해 클라이언트 프로세스에 전달된다. 몇몇 실시예들에서, 플러그인은 하나 이상의 컨트롤들을 클라이언트 프로세스에 제공하고, 클라이언트 프로세스는 사용자가 동적인 미디어 콘텐츠의 미리 보기의 한정된 특징들(예컨대, "정지", "재생", 및 "일시 정지", 등)을 제어할 수 있게 한다.
하기의 설명은 본 발명의 실시예들의 구현들의 예로서 주어진 도해들을 갖는 도면들의 설명을 포함한다. 도면들은 제한으로서가 아니라, 예로서 이해되어야 한다. 이 문서에서 사용된 바와 같이, 하나 이상의 "실시예들"의 언급은 본 발명의 적어도 하나의 구현에 포함되는 특정한 특징, 구조, 또는 특성을 설명하는 것으로 이해되어야 한다. 따라서, 이 문서에서 나오는 "하나의 실시예에서" 또는 "대안적인 실시예에서"와 같은 구들은 본 발명의 다양한 실시예들 및 구현들을 설명하고, 반드시 모두가 동일한 실시예를 언급하는 것은 아니다. 그러나, 그것들은 또한 반드시 상호 배타적인 것은 아니다.
도 1은 다양한 실시예들에 따른 시스템을 도시하는 블록도이다.
도 2는 다양한 실시예들에 따른 시스템을 도시하는 블록도이다.
도 3은 다양한 실시예들에 따른 시스템에서의 동작의 흐름도이다.
도 4는 다양한 실시예들에 따른 시스템을 도시하는 블록도이다.
이 문서에서 제공된 바와 같이, 다양한 방법들, 장치들 및 시스템들은 동적인 미디어 콘텐츠의 미리 보기들을 가능하게 한다. 사용자가 파일을 선택하고(예컨대, 파일 관리 시스템으로부터) 그 파일의 미리 보기를 요청할 때, 이 문서에서 설명된 실시예들은 동적인 미디어를 동적인 미디어 콘텐츠를 미리 보기에 적합한 형식으로 변환하는 것을 용이하게 한다.
도 1은 다양한 실시예들에 따른 블록도이다. 도시된 바와 같이, 파일 관리 시스템(예컨대, Finder, Windows Explorer, 등), 또는 다른 프로그램(예컨대, 클라이언트 애플리케이션, 웹 브라이저, 등)은 클라이언트 프로세스(102)를 포함한다. 클라이언트 프로세스(102)는 특정한 프로그램과의 사용자 레벨 상호 작용이 일어나는 곳이다. 사용자가 파일(110)의 미리 보기를 요청할 때, API(application programming interface)(112)는 미리 보기 데몬(104)에 요청(116)을 송신한다. 만약 미리 보기 데몬(104)이 아직 실행중이 아니라면, 그것은 시작된다. 다양한 실시예들에서, 미리 보기 데몬(104)은 샌드박싱된 프로세스이다. 샌드박싱된 프로세스는 다른 실행중인 프로세스들, 또는 프로그램들로부터 분리되는 것이다. 샌드박싱된 프로세스, 또는 간단히 샌드박스는 전형적으로, 디스크 또는 메모리 상의 스크래치 공간(scratch space)과 같은, 게스트 프로그램들이 그 안에서 실행하기 위한 엄격하게 제어되는 리소스들의 세트(tightly controlled set of resources)를 제공한다. 다양한 실시예들에서, 네트워크 액세스, 호스트 시스템을 검사하는 능력, 또는 입력 장치들로부터의 판독은, 샌드박스에서, 통상적으로 허가되지 않거나, 엄격하게 제한된다.
미리 보기 데몬(104)에 요청(116)을 송신함으로써, 미리 보기 데몬(104)에서의 임의의 에러들/문제들(예컨대, 충돌, 행잉(hanging), 달갑지 않은 대기 시간, 등)을 야기하는 파일(110)의 임의의 조작, 또는 변환은 클라이언트 프로세스(102)에 영향을 주지 않을 것이다. 바꾸어 말하여, 만약 미리 보기 데몬(104)이 충돌하더라도, 클라이언트 프로세스(102)는 영향을 받지 않고 계속해서 실행할 것이다. 사용자에게, 이것은 파일의 미리 보기를 생성하는 데 있어 임의의 에러들은 사용자가 파일 관리 시스템과 같은 기초가 되는 프로그램을 이용하지 못하게 할 것이라는 것을 의미한다. 이것은 클라이언트 프로세스(102)가 파일 관리 시스템(예컨대, 애플 Finder, Windows Explorer, 등)과 같은 기본적인 사용자 프로그램과 연관되는 경우에 특히 중요할 수 있다. 몇몇 실시예들에서, 만약 샌드박싱된 프로세스가 충돌한다면, 클라이언트 프로세스는 요청된 미리 보기가 현재 이용 가능하지 않다는 표시를 디스플레이할 수 있다.
다양한 실시예들에서, 파일 종류 모듈(118)이 처음에 클라이언트 프로세스(102)로부터 요청(116)을 수신한다. 파일 종류 모듈(118)은 파일(110)과 연관된 파일 종류를 결정한다. 이전에 설명한 바와 같이, 파일 종류는 항목들의 클래스의 종류를 고유하게 식별하는 애플 인크에 의해 정의된 문자열인 UTI(uniform-type identifier)를 이용하여 결정될 수 있다. 따라서, UTI들은 파일 및 폴더, 클립보드 데이터, 번들, 별칭, 심볼릭 링크(symlinks), 및 스트리밍 데이터의 종류를 식별하기 위해 이용된다. 만약 파일 종류 모듈(118)이 파일(110)의 파일 종류를 네이티브 파일 종류로서 인지하면, 파일 종류 모듈(118)은 네이티브 파일 종류와 연관된 알려진 플러그인(120)을 검색한다. 워드 프로세싱 문서, PDF, HTML 파일, 등과 같은, 정적인 미디어를 포함하는 파일들에 대하여, 검색된 플러그인은 파일 요청을 처리할 수 있고 그것을 미리 보기로서의 디스플레이를 위해 클라이언트 프로세스(102)에 반송되는 파일 미리 보기(122)로 변환할 수 있다. 어떤 실시예들에서, 플러그인(120)은, 하기에 더 상세히 설명되는 바와 같이, 직접 동적인 미디어 콘텐츠(오디오/비디오 파일, 대화형 3D 애니메이션 파일, 등)를 변환하는 것이 가능하다. 클라이언트 프로세스(102)에 송신되는 파일 미리 보기(122)는 다양한 디스플레이 번들들(114)을 포함하는 API(112)에 의해 처리된다. 각각의 디스플레이 번들은 하나 이상의 특정한 파일 종류들의 미리 보기를 디스플레이하기 위해 필요한 리소스들을 포함한다. 따라서, 만약 파일 미리 보기(122)가 PDF의 미리 보기이면, 디스플레이 번들들(114)의 그룹으로부터 PDF 디스플레이 번들이 PDF 미리 보기를 취하고 그것을 디스플레이(130)에서의 디스플레이를 위해 준비시킨다.
이 문서에서 설명된 또 다른 실시예들은 동적인 미디어 콘텐츠(예컨대, 스트리밍 미디어, 비디오, 3-D 애니메이션, 등)에 대한 미리 보기들을 제공하는 것이 가능하다. 예를 들면, 만약 파일(110)이 동적인 미디어 콘텐츠를 포함한다면, 요청(116)은 미리 보기 데몬(104)에 송신될 수 있고 파일 종류 모듈(118)은, 예를 들면, 파일(110)과 연관된 UTI에 기초하여 파일 종류를 결정한다. 다른 실시예들에서는 다른 식별자들이 사용될 수 있다. 만약 동적인 미디어가 네이티브 파일 종류이고 파일 종류 모듈(118)에 의해 인지된다면, 그 파일(110)을 변환하고 미리 보기를 제공하기 위해 대응하는 플러그인(120)이 검색된다. 그러나, 만약 파일(110)이 넌-네이티브 파일 종류의 동적인 미디어 콘텐츠를 포함한다면, 파일 종류 모듈(118)은 파일(110)의 넌-네이티브 변환을 처리하기 위해 지정된 플러그인(120)을 검색한다.
어떤 실시예들에서, 지정된 플러그인(120)은 동적인 미디어 콘텐츠를 처리하기 위해 추가적인 플러그인(스트림 플러그인(124))을 검색하는 것에 대하여 책임이 있다. 지정된 플러그인은 또한 변환될 필요가 있는 파일의 사본을 검색할 수 있다. 몇몇 실시예들에서, 이 파일은 요청(116)의 일부로서 수신되는 동일한 파일이다. 그러나, 다른 실시예들에서, 그 파일은 스트리밍 미리 보기로 변환하는 데 이용될 동일한 파일의 상이한 사본일 수 있다.
게다가, 스트림 플러그인(124)이 파일(110)을 스트리밍 미리 보기(126)로 변환하기 위해 다른 샌드박스 프로세스(106)가 열리거나, 시작된다. 이런 식으로, 스트리밍 미리 보기 데몬(106)은 미리 보기 데몬(104)으로부터 및 클라이언트 프로세스(102)로부터 분리된다. 따라서, 만약 스트리밍 미리 보기로 파일을 변환하는 동안에 스트림 플러그인(124)가 충돌하더라도, 프로세스(106), 미리 보기 데몬(104) 및 클라이언트 프로세스(102)는 여전히 영향을 받지 않는다. 이런 식으로, 사용자는 클라이언트 애플리케이션(예컨대, 파일 관리 시스템) 내의 어떤 기능도 잃지 않고, 사용자는 여전히 다른 파일들, 특히 어떤 끊임도 없이 스트리밍 미리 보기들을 요구하지 않는 것들을 미리 볼 수 있다.
다양한 실시예들에서, 스트림 미리 보기(126)는 최초의 파일(110)로부터 변환된 일련의 프레임들이다. 스트림 미리 보기(126)와 연관된 프레임들은 한정된 사용자 기능을 포함할 수 있다. 바꾸어 말하여, 만약 파일(110) 내의 동적인 미디어 콘텐츠를 디스플레이하기 위해 전체 애플리케이션(예컨대, 미디어 플레이어)이 열렸다면, 사용자는 파일을 제어 및/또는 관리하기 위한 애플리케이션의 전체 범위의 사용자 인터페이스 옵션들(user-interfaced options)을 가질 것이다. 예를 들면, 만약 사용자가 비디오 파일을 보기를 원하고 비디오 파일 뷰잉 애플리케이션(예컨대, 애플 인크에 의해 제공된 Quicktime, 마이크로소프트 코포레이션에 의해 제공된 Windows Media Player, 등)을 열었다면, 사용자는 열려 있는 애플리케이션의 컨텍스트 내로부터, 정지하고, 일시 정지하고, 재생하고, 볼륨을 조정하고, 창의 크기를 조정하고, 및/또는 파일에 대한 다양한 다른 조작들(예를 들면, 저장, 삭제, 복사, 등)을 수행하는 능력을 가질 것이다. 이와 대비하여, 스트리밍 미리 보기(126)는, 미리 보기이도록 특별히 설계되어 있기 때문에, 사용자에게 한정된 컨트롤을 제공한다. 예를 들면, 스트리밍 미리 보기(126)는 미리 보기에서 콘텐츠를 정지하고 재생하는 것에 대한 컨트롤만을 제공할 수 있다.
스트리밍 미리 보기(126)는 API(112)에 의해, 더 상세하게는, 지정된 디스플레이 번들들(114) 중 하나에 의해 수신되고 처리된다. 스트리밍 미리 보기들의 경우에, 하나 이상의 디스플레이 번들들(114)은 스트리밍 미리 보기(126)를 디스플레이하기 위해 필요한 리소스들을 포함한다. 따라서, 디스플레이 번들들(114)의 그룹으로부터 스트리밍 미리 보기 디스플레이 번들이 스트리밍 미리 보기(126)를 취하고 그것을 디스플레이(130)에서의 디스플레이를 위해 준비시킨다.
스트림 미리 보기(126)를 생성하는 것에 더하여, 스트림 플러그인(124)은 또한 하나 이상의 스트림 컨트롤들(128)의 세트를 생성하여 클라이언트 프로세스(102)에 제공할 수 있다. 스트림 컨트롤들(128)은 사용자가 스트리밍 미리 보기(126)의 다양한 특징들을 제어할 수 있게 하는 하나 이상의 명령들을 포함한다. 따라서, 이전에 설명한 바와 같이, 스트림 컨트롤들(128)은 스트리밍 미리 보기에서 콘텐츠를 정지하고, 일시 정지하고, 및/또는 재생하는 명령들을 포함할 수 있다. 어떤 실시예들에서는 더 많은 명령들 또는 더 적은 명령들이 포함될 수 있다. 몇몇 실시예들에서, 스트림 컨트롤들(128)은 파일과 연관된 네이티브 애플리케이션에서 이용 가능한 전체 범위의 기능을 사용자에게 제공하지 않을 수 있다.
도 2는 동적인 미디어 콘텐츠의 스트리밍 미리 보기를 생성하는 것과 연관된 다양한 실시예들을 도시하는 블록도이다. 도 1과 유사하게, 도 2는 클라이언트 프로세스(202) 및 스트리밍 미리 보기 데먼(206)을 도시한다. 스트림 플러그인(220)은 파일(208)을 스트리밍 미리 보기로 변환하기 위해 이용된다. 스트림 플러그인(220)은 샌드박싱된 스트리밍 미리 보기 데몬(206) 내에서 실행한다. 스트림 플러그인(220)은 한 프레임씩 스트리밍 미리 보기를 생성하고, 어떤 실시예들에서는, 비디오 컴포넌트 및 오디오 컴포넌트를 따로따로 생성한다. 따라서, 파일(208)은 오디오 컴포넌트(212) 및 비디오 컴포넌트(210)로 변환된다. 오디오 컴포넌트(212)는 스트림 미리 보기(또는, 간단히, 스트림)(214)에 추가되고 비디오 컴포넌트(210)는 각각의 프레임이 생성될 때 한 프레임씩 스트림에 추가된다. 따라서, 예를 들면, 프레임 2가 변환되고 생성되는 것을 기다리지 않고, 프레임 1이 미리 보기 특유의 형식(preview-specific format)으로 변환되고 생성되자마자, 그것은 스트림에 추가되어 클라이언트 프로세스(202)에 송신된다. 마찬가지로, 프레임 2는 그것이 변환되고 생성되자마자 스트림(214)에 즉시 추가된다. 이 프로세스는 변환되고 생성되는 각각의 프레임에 대하여 계속된다.
이전에 설명한 바와 같이, 스트림 플러그인(220)은, 다양한 실시예들에서, 클라이언트 프로세스에 스트림 컨트롤들을 제공한다. 도 2에서 도시된 바와 같이, 스트림 컨트롤들(216)은 클라이언트 프로세스(202) 내에서 실행하고, 사용자가 스트림(214)의 어떤 특징들을 제어할 수 있게 한다. 이 문서에서 설명된 바와 같이, 스트림 컨트롤들(216)은 스트림(214)에 대한 한정된 제어를 제공하고 만약 파일(208)이 네이티브 애플리케이션에서 열렸다면 이용 가능할 전체 범위의 제어를 제공하지 않는다.
도 3은 동적인 미디어 콘텐츠의 미리 보기들을 제공하기 위한 다양한 실시예들을 도시하는 흐름도이다. 동적인 미디어의 미리 보기에 대한 요청이 수신된다(310). 응답으로, 적어도 하나의 샌드박싱된 프로세스가 시작된다(320). 단일의 샌드박싱된 프로세스가 이미 실행중일 수 있고, 그 경우 생성되고 있는 다른 미리 보기들로부터 스트리밍 미디어 미리 보기를 분리하기 위해 제2의 샌드박싱된 프로세스가 시작될 수 있다. 동적인 미디어의 콘텐츠 종류가 결정된다(330). 콘텐츠 종류는 UTI(uniform-type identifier), 또는 다른 형태의 파일 종류 식별에 기초하여 결정될 수 있다.
콘텐츠 종류에 기초하여, 동적인 미디어를 미리 보기 특유의 형식으로 변환하기 위해 스트림 플러그인이 검색된다(340). 이 문서에서 사용된 바와 같이, "스트림" 플러그인은 동적인 미디어 콘텐츠(예컨대, 비디오, 오디오, 대화형 3D 애니메이션, 등)를 스트리밍 미디어로 변환하도록 특별히 설계된 임의의 플러그인을 지시한다. 만약 동적인 미디어의 콘텐츠 종류가 네이티브 파일 종류, 또는, 바꾸어 말하여, 인지되는 파일 종류이면, 그 파일을 미리 보기로 빠르고 편리하게 변환하는 것이 가능할 수 있다. 그러나, 만약 그 파일 종류가 넌-네이티브 파일 종류라고 결정되면, 스트림 플러그인은 최초의 파일을 하나의 형식으로부터 동적인 미리 보기와 호환되는 미리 보기 특유의 형식으로 변환하는 것이 가능할 필요가 있다.
검색된 플러그인은 샌드박싱된 프로세스에 제공되고(350) 미리 보기가 생성된다(360). 파일이 오디오 및 비디오 데이터 양쪽 모두를 포함하는 비디오 파일인 경우에, 플러그인은 미리 보기를 위한 개별적인 오디오 및 비디오 컴포넌트들을 생성할 수 있다. 만약 최초의 파일이 오디오만을 포함한다면, 오디오 컴포넌트만 생성될 수 있다. 만약 최초의 파일이 오디오 없이 비디오만을 포함한다면, 비디오 컴포넌트만 생성될 수 있다. 스트리밍 미디어 플러그인은 또한 COLLADA 파일들과 같은 대화형 3D 애니메이션을 포함하는 다양한 파일들을 지원할 수 있다. 일단 미리 보기 컴포넌트들이 생성되면 사용자에게 디스플레이를 위해 스트림 미리 보기가 제공되고(370) 동적인 미리 보기에 대한 컨트롤들이 또한 제공된다(380). 그러한 컨트롤들은 사용자가 동적인 미리 보기와 연관된 한정된 기능(예를 들면, "정지", "재생", "일시 정지")을 제어할 수 있게 한다. 3-D 애니메이션 파일들(3-D animated files)에 대하여, 동적인 미리 보기는 그 애니메이션 파일을 정지하거나, 일시 정지하거나, 재생하는 능력과 같은, 유사한 컨트롤들을 포함할 수 있다. 그러나, 어떤 실시예들에서, 제공된 사용자 컨트롤들은, 동적인 미디어 콘텐츠를 재생하기 위해 네이티브 애플리케이션이 열릴 때 이용 가능한 컨트롤들과 비교해서, 한정된다.
대안적인 실시예들에서 도 3에서 설명된 단계들은 재배열되고 도시된 것과 다른 순서로 수행될 수 있다는 것에 주목해야 한다. 또한, 이 문서에서 설명된 다양한 실시예들에 의해 예상되는 동일한 동적인 미디어 미리 보기 기능을 달성하기 위해 도 3에서 설명된 것들보다 더 많은 프로세스 단계들, 또는 더 적은 프로세스 단계들이 이용될 수 있다는 것에 주목해야 한다.
도 4는 컴퓨터 시스템(400)의 대표적인 형태의 기계의 개략 표현을 도시하는 것으로, 그 기계 안에서 그 기계로 하여금 이 문서에서 설명된 방법들 중 임의의 하나 이상의 방법을 수행하게 하기 위한 명령어들의 세트가 실행될 수 있다. 대안적인 실시예들에서, 그 기계는 LAN(Local Area Network), 인트라넷, 엑스트라넷, 또는 인터넷 내의 다른 기계들에 연결(예를 들면, 네트워킹)될 수 있다. 그 기계는 클라이언트-서버 네트워크 환경에서 서버 또는 클라이언트 기계의 자격으로, 또는 피어-투-피어(또는 분산된) 네트워크 환경에서 피어 기계로서 동작할 수 있다. 그 기계는 PC(personal computer), 태블릿 PC, STB(set-top box), PDA(Personal Digital Assistant), 셀룰러폰, 또는 그 기계에 의해 취해질 동작들을 지정하는 명령어들의 세트(순차적 또는 다른 방법)를 실행하는 것이 가능한 임의의 기계일 수 있다. 더욱이, 하나의 기계만이 도시되어 있지만, 용어 "기계"는 또한 이 문서에서 설명된 방법들 중 임의의 하나 이상의 방법을 수행하기 위한 명령어들의 세트(또는 다중 세트들)를 개별적으로 또는 공동으로 실행하는 기계들(예컨대, 컴퓨터들)의 임의의 컬렉션을 포함하는 것으로 해석되어야 한다.
다양한 실시예들에 따르면, 도 4는 또한 도 1-3에서 도시된 상세한 세부 사항들을 구현하기 위해 사용될 수 있는 시스템의 한 형태를 나타낸다. 특히, 디스플레이(410)는 도 1의 디스플레이(130)와 마찬가지로 동적인 미디어 콘텐트를 디스플레이하기 위해 사용될 수 있다는 것에 주목해야 한다. 이 문서에서 설명한 바와 같이 동적인 미디어 콘텐츠 미리 보기들을 용이하게 하는 실시예들은 (도 4의 시스템에) 명령어들(422)로서 포함될 수 있고, 그 명령어들은, 예를 들면, 드라이브 유닛(418) 또는 메인 메모리(404)에 저장되고 프로세서(402)에 의해 실행될 수 있다.
대표적인 컴퓨터 시스템(400)은 프로세서(402), 메인 메모리(404)(예컨대, ROM(read-only memory), 플래시 메모리, DRAM(dynamic random access memory), 예를 들면, SDRAM(synchronous DRAM) 또는 RDRAM(Rambus DRAM), 등), 스태틱 메모리(406)(예컨대, 플래시 메모리, SRAM(static random access memory), 등), 및 보조 메모리(418)(예컨대, 데이터 저장 장치)를 포함하고, 이것들은 버스(408)를 통해 서로 통신한다.
프로세서(402)는 마이크로프로세서, 중앙 처리 장치, 등과 같은 하나 이상의 범용 처리 장치들을 나타낸다. 더 상세하게는, 프로세서(402)는 CISC(complex instruction set computing) 마이크로프로세서, RISC(reduced instruction set computing) 마이크로프로세서, VLIW(very long instruction word) 마이크로프로세서, 다른 명령어 세트들을 구현하는 프로세서, 또는 명령어 세트들의 조합을 구현하는 프로세서들일 수 있다. 프로세서(402)는 또한 ASIC(application specific integrated circuit), FPGA(field programmable gate array), DSP(digital signal processor), 네트워크 프로세서, 등과 같은 하나 이상의 특수 목적 처리 장치들일 수 있다. 프로세서(402)는 이 문서에서 설명된 동작들 및 단계들을 수행하기 위한 처리 로직(422)을 실행하도록 구성된다.
컴퓨터 시스템(400)은 네트워크 인터페이스 장치(416)를 더 포함할 수 있다. 컴퓨터 시스템(400)은 또한 디스플레이 유닛(410)(예컨대, LCD(liquid crystal display), LED(light emitting diode) 디스플레이, CRT(cathode ray tube)), 및 입력 장치(412)(예컨대, 키보드 및/또는 마우스, 등)를 포함할 수 있다.
보조 메모리(418)는 이 문서에서 설명된 방법들 또는 기능들 중 임의의 하나 이상의 방법 또는 기능을 구현하는 명령어들의 하나 이상의 세트들(예컨대, 소프트웨어(422))이 그 위에 저장되어 있는 기계 판독가능한 저장 매체(또는 더 상세하게는 컴퓨터 판독가능한 저장 매체)(424)를 포함할 수 있다. 소프트웨어(422)는 또한 컴퓨터 시스템(400)에 의한 그것의 실행 동안에, 완전히 또는 적어도 부분적으로, 메인 메모리(404) 내에 및/또는 처리 장치(402) 내에 존재할 수 있고, 메인 메모리(404) 및 처리 장치(402)도 기계 판독가능한 저장 매체를 구성한다. 소프트웨어(422)는 또한 네트워크 인터페이스 장치(416)를 통해 네트워크(420)를 통하여 송신되거나 수신될 수 있다. 다양한 실시예들에서, 사용자에 의해 요청된 웹 콘텐츠가 네트워크 인터페이스 장치(416)를 이용하여 네트워크(420)를 통해 (예를 들면, World Wide Web으로부터) 검색될 수 있다.
기계 판독가능한 저장 매체(424)는 대표적인 실시예에서 단 하나의 매체인 것으로 도시되어 있지만, 용어 "기계 판독가능한 저장 매체" 또는 "컴퓨터 판독가능한 저장 매체"는 명령어들의 하나 이상의 세트들을 저장하는 단일 매체 또는 다중 매체들(예컨대, 중앙 집중된 또는 분산된 데이터베이스, 및/또는 연관된 캐시들 및 서버들)을 포함하는 것으로 해석되어야 한다. 용어 "기계 판독가능한 저장 매체" 또는 "컴퓨터 판독가능한 저장 매체"는 또한 기계/컴퓨터에 의해 실행되는 명령어들의 세트를 저장하거나 인코딩하는 것이 가능하고 또한 기계/컴퓨터로 하여금 본 발명의 방법들 중 임의의 하나 이상의 방법을 수행하게 하는 임의의 매체를 포함하는 것으로 해석되어야 한다. 용어 "기계 판독가능한 저장 매체" 또는 "컴퓨터 판독가능한 저장 매체"는 따라서 솔리드-스테이트 메모리들, 및 광학 및 자기 매체들을 포함하는 것으로, 그러나 이것들에 제한되지 않는 것으로 해석되어야 한다.
이 문서에서 설명된 다양한 실시예들은 이 문서에서 설명된 기능들을 수행하기 위한 수단일 수 있다. 이 문서에서 설명된 각각의 컴포넌트는 소프트웨어, 하드웨어, 또는 이것들의 조합을 포함한다. 이 문서에서 설명된 동작들 및 기능들은 소프트웨어 모듈, 하드웨어 모듈, 특수 목적 하드웨어(예컨대, 특수 용도의 하드웨어, ASIC(application specific integrated circuit)들, DSP(digital signal processor)들, 등), 임베디드 컨트롤러, 배선에 의한 회로, 등으로서 구현될 수 있다.
이 문서에서 설명되어 있는 것은 차치하고, 본 발명의 범위에서 일탈하지 않고 본 발명의 개시된 실시예들 및 구현들에 다양한 수정들이 이루어질 수 있다. 따라서, 이 문서의 도해들 및 예들은 제한적인 의미가 아니라 예시적인 의미에서 해석되어야 한다.

Claims (22)

  1. 미디어 콘텐츠의 미리 보기를 가능하게 하는 방법으로서,
    동적인 미디어 콘텐츠(dynamic media content)의 미리 보기에 대한 요청에 응답하여 샌드박싱된 프로세스(sandboxed process)를 시작하는 단계;
    미리 보기 형식(preview format)으로 프레임들의 스트림을 생성하는 단계 - 상기 프레임들의 스트림은 상기 샌드박싱된 프로세스 내에서 실행하는 플러그인(plug-in)에 의해 생성됨 -; 및
    상기 프레임들의 스트림을 상기 동적인 미디어 콘텐츠의 미리 보기로서 제공하는 단계 - 상기 미리 보기는 디스플레이 스크린에서 볼 수 있음 -
    를 포함하는 미디어 콘텐츠의 미리 보기를 가능하게 하는 방법.
  2. 제1항에 있어서,
    상기 샌드박싱된 프로세스를 시작하는 단계는,
    상기 동적인 미디어 콘텐츠의 콘텐츠 종류를 결정하는 단계; 및
    상기 동적인 미디어 콘텐츠의 상기 콘텐츠 종류에 적어도 부분적으로 기초하여 상기 동적인 미디어 콘텐츠를 상기 미리 보기 형식으로 변환하기 위해 스트림 플러그인(stream plug-in)을 검색하는 단계
    를 더 포함하는 미디어 콘텐츠의 미리 보기를 가능하게 하는 방법.
  3. 제2항에 있어서,
    상기 스트림 플러그인 및 상기 동적인 미디어 콘텐츠를 상기 샌드박싱된 프로세스에 제공하는 단계를 더 포함하는 미디어 콘텐츠의 미리 보기를 가능하게 하는 방법.
  4. 제1항에 있어서,
    상기 생성하는 단계는,
    상기 프레임들의 스트림 내의 각각의 프레임에 대하여 오디오 컴포넌트 및 비디오 컴포넌트를 따로따로 생성하는 단계를 더 포함하는 미디어 콘텐츠의 미리 보기를 가능하게 하는 방법.
  5. 제1항에 있어서,
    상기 프레임들의 스트림을 제공하는 단계는,
    각각의 프레임이 생성될 때 프레임 단위로 디스플레이하기 위해 상기 프레임들의 스트림을 제공하는 단계; 및
    상기 동적인 미리 보기의 디스플레이 동안에 상기 동적인 미디어 콘텐츠의 사용자 제어를 용이하게 하기 위해 하나 이상의 컨트롤을 제공하는 단계
    를 더 포함하는 미디어 콘텐츠의 미리 보기를 가능하게 하는 방법.
  6. 제1항에 있어서,
    상기 플러그인은 애플리케이션과 연관되고, 상기 미리 보기는 상기 애플리케이션을 시작(launching)하지 않고 볼 수 있는, 미디어 콘텐츠의 미리 보기를 가능하게 하는 방법.
  7. 미디어 콘텐츠의 미리 보기를 가능하게 하는 방법으로서,
    제1 샌드박싱된 프로세스가 클라이언트 프로세스로부터 동적인 미디어 콘텐츠의 미리 보기에 대한 요청을 수신하는 단계;
    상기 제1 샌드박싱된 프로세스가 상기 요청을 수신하는 것에 응답하여 제2 샌드박싱된 프로세스를 시작하는 단계;
    미리 보기 형식으로 프레임들의 스트림을 생성하는 단계 - 상기 프레임들의 스트림은 상기 제2 샌드박싱된 프로세스 내에서 실행하는 플러그인에 의해 생성됨 -; 및
    상기 프레임들의 스트림을 디스플레이 스크린에서의 디스플레이를 위해 상기 클라이언트 프로세스에 제공하는 단계
    를 포함하는 미디어 콘텐츠의 미리 보기를 가능하게 하는 방법.
  8. 제7항에 있어서,
    상기 제2 샌드박싱된 프로세스를 시작하는 단계는,
    상기 동적인 미디어 콘텐츠의 콘텐츠 종류를 결정하는 단계;
    상기 콘텐츠 종류가 넌-네이티브 콘텐츠 종류(non-native content type)임을 판정하는 단계; 및
    상기 동적인 미디어 콘텐츠의 상기 넌-네이티브 콘텐츠 종류에 적어도 부분적으로 기초하여 상기 동적인 미디어 콘텐츠를 상기 미리 보기 형식으로 변환하기 위해 스트림 플러그인을 검색하는 단계
    를 더 포함하는 미디어 콘텐츠의 미리 보기를 가능하게 하는 방법.
  9. 제8항에 있어서,
    상기 스트림 플러그인 및 상기 동적인 미디어 콘텐츠를 상기 제2 샌드박싱된 프로세스에 제공하는 단계를 더 포함하는 미디어 콘텐츠의 미리 보기를 가능하게 하는 방법.
  10. 제7항에 있어서,
    상기 생성하는 단계는,
    상기 프레임들의 스트림 내의 각각의 프레임에 대하여 오디오 컴포넌트 및 비디오 컴포넌트를 따로따로 생성하는 단계를 더 포함하는 미디어 콘텐츠의 미리 보기를 가능하게 하는 방법.
  11. 제7항에 있어서,
    상기 프레임들의 스트림을 제공하는 단계는,
    각각의 프레임이 생성될 때 프레임 단위로 디스플레이하기 위해 상기 프레임들의 스트림을 상기 클라이언트 프로세스에 제공하는 단계; 및
    상기 동적인 미리 보기의 디스플레이 동안에 상기 동적인 미디어 콘텐츠의 사용자 제어를 용이하게 하기 위해 하나 이상의 컨트롤을 상기 클라이언트 프로세스에 제공하는 단계
    를 더 포함하는 미디어 콘텐츠의 미리 보기를 가능하게 하는 방법.
  12. 제7항에 있어서,
    상기 플러그인은 애플리케이션과 연관되고, 상기 미리 보기는 상기 애플리케이션을 시작하지 않고 볼 수 있는 미디어 콘텐츠의 미리 보기를 가능하게 하는 방법.
  13. 데이터 처리 시스템으로 하여금, 제1항 내지 제12항 중 어느 한 항의 미디어 콘텐츠의 미리 보기를 가능하게 하는 방법을 수행하게 하는 명령어들이 저장되어 있는 컴퓨터 판독가능한 저장 매체.
  14. 미디어 콘텐츠의 미리 보기를 가능하게 하는 장치로서,
    동적인 미디어 콘텐츠의 미리 보기에 대한 요청에 응답하여 샌드박싱된 프로세스를 시작하고, 미리 보기 형식으로 프레임들의 스트림을 생성하는 처리 수단 - 상기 프레임들의 스트림은 상기 샌드박싱된 프로세스 내에서 실행하는 플러그인에 의해 생성됨 -; 및
    상기 생성된 프레임들의 스트림을 상기 동적인 미디어 콘텐츠의 미리 보기로서 디스플레이하는 디스플레이
    를 포함하는 미디어 콘텐츠의 미리 보기를 가능하게 하는 장치.
  15. 제14항에 있어서,
    상기 처리 수단은 또한,
    상기 동적인 미디어 콘텐츠의 콘텐츠 종류를 결정하고;
    상기 동적인 미디어 콘텐츠의 상기 콘텐츠 종류에 적어도 부분적으로 기초하여 상기 동적인 미디어 콘텐츠를 상기 미리 보기 형식으로 변환하기 위해 스트림 플러그인을 검색하는, 미디어 콘텐츠의 미리 보기를 가능하게 하는 장치.
  16. 제14항에 있어서,
    상기 처리 수단은 또한,
    상기 프레임들의 스트림 내의 각각의 프레임에 대하여 오디오 컴포넌트 및 비디오 컴포넌트를 따로따로 생성하는, 미디어 콘텐츠의 미리 보기를 가능하게 하는장치.
  17. 제14항에 있어서,
    상기 처리 수단은 또한,
    각각의 프레임이 생성될 때 상기 프레임들의 스트림을 프레임 단위로 상기 디스플레이에 제공하고;
    상기 동적인 미리 보기의 디스플레이 동안에 상기 동적인 미디어 콘텐츠의 사용자 제어를 용이하게 하기 위해 하나 이상의 사용자 인터페이스 컨트롤을 제공하는, 미디어 콘텐츠의 미리 보기를 가능하게 하는 장치.
  18. 제14항에 있어서,
    상기 플러그인은 애플리케이션과 연관되고, 상기 미리 보기는 상기 애플리케이션을 시작하지 않고 볼 수 있는 미디어 콘텐츠의 미리 보기를 가능하게 하는 장치.
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
KR1020127004690A 2009-07-24 2010-07-20 동적인 미디어 콘텐츠 미리 보기 KR101392559B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/509,401 2009-07-24
US12/509,401 US8626802B2 (en) 2009-07-24 2009-07-24 Dynamic media content previews
PCT/US2010/042606 WO2011011414A1 (en) 2009-07-24 2010-07-20 Dynamic media content previews

Publications (2)

Publication Number Publication Date
KR20120049291A KR20120049291A (ko) 2012-05-16
KR101392559B1 true KR101392559B1 (ko) 2014-05-08

Family

ID=42734859

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127004690A KR101392559B1 (ko) 2009-07-24 2010-07-20 동적인 미디어 콘텐츠 미리 보기

Country Status (7)

Country Link
US (2) US8626802B2 (ko)
EP (1) EP2457191A1 (ko)
JP (1) JP5575897B2 (ko)
KR (1) KR101392559B1 (ko)
CN (1) CN102483782B (ko)
HK (1) HK1171529A1 (ko)
WO (1) WO2011011414A1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110167345A1 (en) * 2010-01-06 2011-07-07 Jeremy Jones Method and apparatus for selective media download and playback
US9612715B2 (en) * 2010-06-28 2017-04-04 International Business Machines Corporation Real-time preview of uniform resource identifier addressable dynamic content
US9524531B2 (en) 2011-05-09 2016-12-20 Microsoft Technology Licensing, Llc Extensibility features for electronic communications
US20130167028A1 (en) * 2011-06-01 2013-06-27 Adobe Systems Incorporated Restricting media content rendering
US11210610B2 (en) * 2011-10-26 2021-12-28 Box, Inc. Enhanced multimedia content preview rendering in a cloud content management system
CN102436508B (zh) 2011-12-28 2013-08-14 奇智软件(北京)有限公司 基于沙箱技术浏览网页的方法及装置
US11232481B2 (en) 2012-01-30 2022-01-25 Box, Inc. Extended applications of multimedia content previews in the cloud-based content management system
US9186299B1 (en) * 2012-03-23 2015-11-17 Clark Levi Topical pharmaceutical compounds and methods
US9256733B2 (en) 2012-04-27 2016-02-09 Microsoft Technology Licensing, Llc Retrieving content from website through sandbox
KR102113683B1 (ko) 2013-03-06 2020-06-03 삼성전자주식회사 문지르기 제스처를 검출하여 미리보기를 제공하는 모바일 장치 및 그 제어 방법
US9514477B2 (en) * 2013-07-10 2016-12-06 AVG Netherlands B.V. Systems and methods for providing user-specific content on an electronic device
US10127536B2 (en) * 2013-11-11 2018-11-13 Microsoft Technology Licensing, Llc Unified content representation
US9563488B2 (en) 2014-05-29 2017-02-07 Apple Inc. Sharing extension points to allow an application to share content via a sharing extension
US20160192018A1 (en) * 2014-12-29 2016-06-30 Microsoft Technology Licensing, Llc Previewing content available at local media sources
US10025758B2 (en) * 2015-04-27 2018-07-17 Microsoft Technology Licensing, Llc Support for non-native file types in web application environment
US10419790B2 (en) 2018-01-19 2019-09-17 Infinite Designs, LLC System and method for video curation
US20210319166A1 (en) * 2020-04-10 2021-10-14 Microsoft Technology Licensing, Llc Editable multicell multicategory document presentation
US11907748B2 (en) * 2021-04-23 2024-02-20 VMware LLC Secure graphics processing unit (GPU) virtualization using sandboxing

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5974549A (en) 1997-03-27 1999-10-26 Soliton Ltd. Security monitor
WO2005121920A2 (en) 2004-06-09 2005-12-22 Symbian Software Limited A computing device having a multiple process architecture for running plug-in code modules

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6289371B1 (en) * 1998-09-30 2001-09-11 Hewlett-Packard Company Network scan server support method using a web browser
US6763377B1 (en) * 2000-03-03 2004-07-13 International Business Machines Corporation Asset management and scheduling graphical user interface for media streamer
US8166384B1 (en) * 2000-06-14 2012-04-24 Adobe Systems Incorporated Environment-based bookmark media
US20030052909A1 (en) * 2001-06-25 2003-03-20 Arcsoft, Inc. Real-time rendering of edited video stream
US20030023641A1 (en) * 2001-07-27 2003-01-30 Gorman William Phillip Web page authoring tool
US7269833B2 (en) * 2001-12-12 2007-09-11 Sun Microsystems, Inc. Scriptable plug-in application programming interface
JP2004312268A (ja) * 2003-04-04 2004-11-04 Mitsubishi Electric Corp マルチメディアコンテンツファイルのデータ構造、マルチメディアコンテンツ生成装置、及びマルチメディアコンテンツ閲覧装置
EP1618537A1 (en) * 2003-04-25 2006-01-25 Apple Computer, Inc. Method and system for network-based purchase and distribution of media
US7512699B2 (en) * 2004-11-12 2009-03-31 International Business Machines Corporation Managing position independent code using a software framework
JP5000110B2 (ja) * 2005-08-24 2012-08-15 日本電気株式会社 折り畳み式携帯装置およびその筐体の製造方法
US7941813B1 (en) * 2006-02-17 2011-05-10 Parallels Holdings, Ltd. System and method for using virtual machine for driver installation sandbox
US8576922B2 (en) * 2007-06-10 2013-11-05 Apple Inc. Capturing media in synchronized fashion
CN101425016B (zh) * 2007-11-01 2012-07-25 珠海金山快快科技有限公司 运行安装软件的方法和系统
US8516133B2 (en) 2008-02-07 2013-08-20 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for mobile device credentialing
US8381288B2 (en) * 2008-09-30 2013-02-19 Intel Corporation Restricted component access to application memory
US8301792B2 (en) * 2008-10-28 2012-10-30 Panzura, Inc Network-attached media plug-in
US9355554B2 (en) * 2008-11-21 2016-05-31 Lenovo (Singapore) Pte. Ltd. System and method for identifying media and providing additional media content
US8909806B2 (en) * 2009-03-16 2014-12-09 Microsoft Corporation Delivering cacheable streaming media presentations
US9100810B2 (en) 2010-10-28 2015-08-04 Apple Inc. Management systems for multiple access control entities
US10271213B2 (en) 2011-05-06 2019-04-23 Apple Inc. Methods and apparatus for providing management capabilities for access control clients

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5974549A (en) 1997-03-27 1999-10-26 Soliton Ltd. Security monitor
WO2005121920A2 (en) 2004-06-09 2005-12-22 Symbian Software Limited A computing device having a multiple process architecture for running plug-in code modules

Also Published As

Publication number Publication date
HK1171529A1 (en) 2013-03-28
JP5575897B2 (ja) 2014-08-20
EP2457191A1 (en) 2012-05-30
WO2011011414A1 (en) 2011-01-27
US20140222874A1 (en) 2014-08-07
CN102483782B (zh) 2015-04-01
US20110022643A1 (en) 2011-01-27
JP2013500514A (ja) 2013-01-07
CN102483782A (zh) 2012-05-30
KR20120049291A (ko) 2012-05-16
US9317683B2 (en) 2016-04-19
US8626802B2 (en) 2014-01-07

Similar Documents

Publication Publication Date Title
KR101392559B1 (ko) 동적인 미디어 콘텐츠 미리 보기
US10977438B2 (en) Latency reduction in collaborative presentation sharing environment
TWI493441B (zh) 呈現在電腦上之內容
US20150128017A1 (en) Enabling interactive screenshots within collaborative applications
US20160048289A1 (en) Graphical user interface methods, systems, and computer program products
US9529842B2 (en) Dynamically creating queries to find related records in a database
US8954538B2 (en) Method and system for reducing latency for interactive content for complete internet anywhere
US20120180111A1 (en) Content object encapsulating content items for accessing content and access authorization information
US10733361B2 (en) Content reproducing apparatus
WO2015096188A1 (zh) 一种提高pdf文档在线浏览加载速度的方法及其装置
US10162826B2 (en) UOA migration
WO2012162274A2 (en) Asynchronistic platform for real time collaboration and connection
WO2021004411A1 (zh) 一种媒体处理方法
US9304830B1 (en) Fragment-based multi-threaded data processing
US20140157097A1 (en) Selecting video thumbnail based on surrounding context
US11880424B1 (en) Image generation from HTML data using incremental caching
US20170161269A1 (en) Document handling using triple identifier
US20230177101A1 (en) Platform and architecture for distributing content information
Tsuji et al. Extending a distributed online machine learning framework for streaming video analysis
US9377988B2 (en) Displaying a consolidated resource in an overlapping area on a shared projection

Legal Events

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

Payment date: 20180328

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190328

Year of fee payment: 6