KR20040005919A - 프리젠테이션의 재생 속도 실시간 제어 - Google Patents

프리젠테이션의 재생 속도 실시간 제어 Download PDF

Info

Publication number
KR20040005919A
KR20040005919A KR10-2003-7013508A KR20037013508A KR20040005919A KR 20040005919 A KR20040005919 A KR 20040005919A KR 20037013508 A KR20037013508 A KR 20037013508A KR 20040005919 A KR20040005919 A KR 20040005919A
Authority
KR
South Korea
Prior art keywords
audio
data
channel
frame
time
Prior art date
Application number
KR10-2003-7013508A
Other languages
English (en)
Inventor
창케네쓰에이취.피.
Original Assignee
가부시키가이샤 에스에스아이
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 가부시키가이샤 에스에스아이 filed Critical 가부시키가이샤 에스에스아이
Publication of KR20040005919A publication Critical patent/KR20040005919A/ko

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Processing of the speech or voice signal to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/04Time compression or expansion
    • G10L21/043Time compression or expansion by changing speed
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Information Transfer Between Computers (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

매체 부호화, 전송, 및 재생 프로세스들 및 구조들은 네트워크를 통해 전송되는 프리젠테이션에 대한 상이한 재생 속도에 대응하는 상이한 오디오 채널들을 갖는 다중-채널 아키텍처를 채용한다. 다양한 오디오 채널들에서의 오디오 프레임들은 모두 원본 프리젠테이션에서 동일 량의 시간에 대응하고 프리젠테이션에서의 동일 시간 간격에 대응하는 프레임들을 상이한 오디오 채널들에서 식별하는 프레임 인덱스들을 구비한다. 사용자는 프리젠테이션의 재생 속도에서의 신속하고 원활한 전이에 요구되는 프레임 및 신규 재생 속도에 대응하는 채널의 선택을 야기하는 재생 속도에서의 실시간 변동을 수행할 수 있다. 상기 아키텍처는 추가로 동일한 재생 속도를 갖지만 네트워크상에서 이용가능한 대역폭에 따라 사용되는 상이한 압축 방법을 갖는 상이한 오디오 채널들 및 오디오의 인덱스에 따라 디스플레이되는 이미지 데이터와 같은 그래픽 데이터에 대한 채널을 제공할 수 있다.

Description

프리젠테이션의 재생 속도 실시간 제어{Real-time control of playback rates in presentations}
다중매체 프리젠테이션은 일반적으로 녹화 속도로 표시되어 비디오의 움직임 및 오디오 사운드가 자연스럽다. 그러나, 연구에 따르면, 사람들은 훨씬 더 빠른 재생 속도, 예를 들어 보통 말하는 속도보다 3배 이상의 더 빠른 속도의 오디오 정보를 인식하고 이해할 수 있다고 한다. 보통 말하는 속도보다 더 빠른 속도로 오디오 정보를 수신하는 것은 프리젠테이션의 사용자에게 상당한 시간을 절약하게 한다.
단순히 오디오 신호의 재생 속도를 높이는 것, 예를 들어 디지털 오디오 신호로부터 재생되는 샘플들의 비율을 증가시키는 것은 바람직하지 않은데, 왜냐하면 재생 속도의 증가는 오디오의 피치(pitch)를 변경시키고 정보를 듣고 이해하는데 더 어렵게 하기 때문이다. 따라서, 오디오 신호의 피치를 증가시키지 않고 오디오 정보의 정보 전송율을 증가시키는 시간-스케일링된 오디오 기법들이 개발되었다. 디지털 오디오 신호들에 대한 연속 가변 신호 처리 방식이 그 전체가 본 명세서에 참조로써 통합되는 2000년 7월 26일에 출원된 "Continuously Variable ScaleModification of Digital Audio Signals"라는 명칭의 미국 특허 출원 번호 제09/626,046호에 개시된다.
예를 들어, 정보의 복잡함, 사용자가 듣기에 전념하려는 주의력의 양, 또는 오디오 품질에 따라 정보율을 변경하는 능력이 사용자를 편리하게 할 것이다. 디지털 오디오 재생을 위한 오디오 정보율을 변경하는 일 기법은 송신기가 전송하는 디지털 데이터율에 대응하여 변경하고 오디오의 피치를 유지하도록 요구되는 데이터를 처리하거나 변환하는 수신기에서의 프로세서 또는 변환기를 채용하는 것이다.
상기 기법은 전화망, 랜(LAN), 또는 인터넷과 같은 네트워크를 통해 정보를 전달하는 시스템에서 구현하기에 어려울 수 있다. 특히, 네트워크는 오디오 정보율의 변경을 필요로 하는 송신기로부터 사용자로의 전송의 데이터율을 변경하는 능력이 부족할 수 있다. 수신기에서 시간 스케일링에 대해 처리되지 않은 오디오 데이터를 전송하는 것은 비효율적이고 이용가능한 대역폭에 불필요한 부담을 지우는데, 왜냐하면 피치 복원과 시간 스케일링의 처리는 많은 전송된 데이터를 폐기하기 때문이다. 추가로, 이러한 기법은 수신기가 재생될 오디오의 피치를 유지할 수 있는 프로세서 또는 변환기를 구비할 것을 필요로 한다. 하드웨어 변환기는 수신기 시스템의 비용을 증가시킨다. 대안으로, 소프트웨어 변환기는 특히 프로세싱 파워 및/또는 배터리 파워가 제한될 수 있는 휴대용 컴퓨터, 개인 휴대 정보 단말기(PDA), 및 이동 전화에서 수신기의 이용가능한 프로세싱 파워 및/또는 배터리 파워의 상당한 부분을 요구할 수 있다.
비디오를 포함하는 네트워크 프리젠테이션에 대한 다른 공통 문제는 네트워크가 오디오-비디오 프리젠테이션을 요구되는 속도로 유지할 수 없다는 것이다. 일반적으로, 충분한 네트워크 대역폭의 부족은 오디오-비디오 프리젠테이션에서의 간헐적인 중단을 야기한다. 프리젠테이션에서의 이러한 중단은 프리젠테이션이 수행되기 어렵게 한다. 대안으로, 네트워크 프리젠테이션에서의 이미지들은 사용자가 사용자의 속도로 조종할 수 있는 슬라이스들 또는 링크된 일련의 웹 페이지들로서 구성될 수 있다. 그러나, 개인 지도, 시험, 또는 광고 방송과 같은 몇몇 네트워크 프리젠테이션들에 있어서, 프리젠테이션의 영상 및 음성 부분들의 타이밍, 시퀀스 또는 동기는 프리젠테이션의 성공에 치명적일 수 있고, 프리젠테이션의 소스 또는 제작자는 프리젠테이션의 시퀀스 또는 동기의 제어를 필요로 할 수 있다.
정돈되고 중단되지 않는 방식으로 프리젠테이션을 제공할 수 있고, 사용자로 하여금 정보를 전송하는 네트워크의 능력을 초과하지 않고 사용자에게 특별한 하드웨어 또는 대량의 프로세싱 파워를 요구하지 않으면서 정보율을 선택하고 변경할 자유를 제공하는 프로세스 및 시스템이 필요하다.
본 발명은 프리젠테이션의 재생 속도 실시간 제어에 관한 것이다.
도 1은 본 발명의 실시예에 따른 다중-채널 매체 파일을 생성하는 과정을 나타내는 흐름도이다.
도 2a, 도 2b, 도 2c, 도 2d 및 도 2e는 본 발명의 실시예에 따른 다중-채널매체 파일, 다중-채널 매체 파일을 위한 파일 헤더, 오디오 채널, 오디오 프레임, 및 데이터 채널의 구조를 도시한다.
도 3은 본 발명의 실시예에 따른 프리젠테이션을 생성하는 생성 도구의 사용자 인터페이스를 도시한다.
도 4는 본 발명의 실시예에 따른 프리젠테이션을 액세스하고 재생하는 애플리케이션의 사용자 인터페이스를 도시한다.
도 5는 본 발명의 실시예에 따른 재생 동작의 흐름도이다.
도 6은 본 발명의 실시예에 따른 프리젠테이션 플레이어의 동작을 나타내는 블록도이다.
도 7은 본 발명의 실시예에 따른 자립형 프리젠테이션 플레이어의 블록도이다.
본 발명의 일 태양에 따라, 전화망, 랜(LAN), 또는 인터넷과 같은 네트워크를 통해 전송되는 디지털 프리젠테이션의 소스는 다중 채널들을 구비하는 데이터 구조에서 프리젠테이션을 미리 부호화한다. 각 채널은 프리젠테이션의 데이터 압축 및/또는 시간 스케일링에 따라 변하는 프리젠테이션 부분의 상이한 부호화를 포함한다.
일 특정 실시예에 있어서, 프리젠테이션의 오디오 부분은 채널의 데이터 압축 및 시간 스케일링에 따라 몇몇 채널들에서 상이하게 부호화된다. 각 부호화는 프리젠테이션을 오디오 프레임들의 프레임 인덱스 값들에 따라 알려진 타이밍 관계를 갖는 오디오 프레임들로 분할한다. 따라서, 사용자가 재생 속도를 변경하는 경우, 데이터 스트림은 현재 채널에서 신규 시간 스케일에 따른 채널로 스위칭하고 현재 프레임 인덱스에 따른 신규 채널로부터 프레임을 액세스한다.
일 실시예에 있어서, 정상 속도로 재생되는 경우, 각 프레임은 프리젠테이션의 고정 기간 시간에 대응한다. 따라서, 각 채널은 동일 수의 프레임들을 구비하고, 각 프레임에서의 정보는 프레임에 대한 프레임 인덱스가 식별하는 시간 간격에 대응한다. 상기 송신기는 프리젠테이션의 재생을 위한 현재 시간 인덱스에 대응하고 재생 속도의 사용자 선택에 대응하는 채널에 있는 프레임을 전송한다.
본 발명의 다른 태양에 따라, 파일 구조의 2 이상의 채널들은 동일한 재생 속도에 대응하지만, 채널들에서의 데이터에 인가되는 각각의 압축 방법이 상이하다. 송신기 또는 수신기는 사용자가 선택한 재생 속도에 대응하고 데이터를 수신기로 운반하는 네트워크에 이용가능한 전송 대역폭을 초과하지 않는 채널을 자동으로 선택할 수 있다.
본 발명의 또 다른 태양에 따라, 프리젠테이션은 북마크(bookmark)들을 포함하고 오디오 데이터와 관련된 채널들로부터 개별적으로 부호화되는 이미지 데이터와 같은 관련 그래픽(graphics) 데이터를 포함한다. 각 북마크는 관련된 범위의 프레임 인덱스들 또는 시간들을 갖는다. 디스플레이 애플리케이션은 사용자로 하여금 어떤 북마크와 관련된 범위의 시작으로 이동하도록 허용하고, 상기 송신기는 적합한 시간에, 전형적으로 다음 오디오 프레임의 시작에서 사용(예를 들어 디스플레이)하기 위해 사용자에게 네트워크를 통해 북마크 데이터(예를 들어 그래픽 데이터)를 전송한다.
본 발명의 다른 실시예는 제작자(author)로 하여금 오디오 내용에 따라 동기화된 디스플레이되는 텍스트, 슬라이드들, 또는 웹 페이지들과 같은 그래픽을 구비하는 프리젠테이션을 구성하도록 허용하는 제작 도구 또는 방법이다. 상기 동기화는 오디오의 재생 속도에 무관하게 유지된다. 상기 제작 도구는 상업적인 또는 개인적인 메시징에 사용될 수 있고 http와 같은 종래의 네트워크 파일 프로토콜을 구현하는 어떤 네트워크 서버로부터 사용되고 업로드될 수 있는 프리젠테이션을 생성할 수 있다.
본 발명에 따른 프리젠테이션을 사용하여, 프리젠테이션의 제작자 또는 소스는 이미지들의 시퀀스 및 오디오와 이미지들의 동기화를 제어할 수 있다. 추가로, 상기 프리젠테이션은 종래의 스트리밍된 비디오에 대한 더 낮은 대역폭 대안을 제공한다. 특히, 비디오 전송을 지원할 수 없는 저 대역폭 시스템은 전형적으로 프리젠테이션의 오디오 부분을 지원할 수 있고 프리젠테이션의 키포인트를 나타내는 영상 빨리감기(cue)를 제공하도록 요구되는 경우 이미지들을 디스플레이할 수 있다.
상이한 도면들에서 동일한 참조 기호들을 사용하는 것은 유사하거나 동일한 항목들을 나타낸다.
본 발명의 일 태양에 따라, 매체 부호화, 네트워크 전송, 및 재생 프로세스 및 구조는 상이한 재생 속도 또는 프리젠테이션 부분의 시간 스케일에 대응하는 상이한 채널들을 갖는 다중-채널 아키텍처를 사용한다. 상기 프리젠테이션을 위한 부호화 과정은 프리젠테이션의 오디오 부분과 동일한 부분의 다중 부호화를 사용한다. 따라서, 비록 상이한 채널들이 프리젠테이션의 동일 부분을 나타낸다 하더라도, 상이한 채널들은 상이한 재생 속도들 또는 시간 스케일들을 위해 상이한 부호화를 갖는다.
프리젠테이션의 수신기 또는 사용자는 재생 속도 또는 시간 스케일을 선택할 수 있고, 그것에 의해 상기 시간 스케일에 대응하는 채널의 사용을 선택할 수 있다. 선택된 채널이 선택된 시간 스케일링에 대해 미리 부호화된 정보를 포함하기 때문에, 상기 수신기는 요망되는 시간 스케일을 달성하기 위한 강력한 프로세서나 복잡한 복호기를 필요로 하지 않는다. 추가로, 오디오 데이터를 미리 부호화하거나 시간 스케일링하는 것은 전송 전에 중복된 오디오 데이터를 제거하기 때문에, 수신기가 시간 스케일링을 수행하는 시스템들에서와 같이 요구되는 네트워크 대역폭은 증가하지 않는다. 따라서, 대역폭 요건들은 시간 스케일에 무관하게 일정할 수 있다.
각 채널은 프리젠테이션의 순서에 따라 인덱스되는 일련의 프레임들을 포함한다. 사용자가 하나의 채널에서 다른 하나의 채널로 변경하는 경우, 신규 채널로부터의 프레임이 식별될 수 있고 프리젠테이션의 계속 중단되지 않는 재생이 요구될 때 전송될 수 있다. 예시적인 실시예에 있어서, 상이한 오디오 채널들에서의 대응하는 오디오 프레임들은 정상 속도로 재생되는 경우 프리젠테이션에서 동일 양의 시간에 대응하고, 프리젠테이션에서의 특정 시간 간격들에 대응하는 프레임들을 식별하는 프레임 인덱스들을 갖는다. 사용자는 재생 속도를 변경할 수 있고 새로운 재생 속도에 대응하는 채널로부터 프레임을 선택하고 전송할 수 있다. 상기 사용자는 프리젠테이션의 재생 속도의 실시간 변환이 요구되는 프레임을 수신한다.
상기 아키텍처는 추가로 텍스트, 이미지, HTML 기술(description), 및 링크와 같은 그래픽 데이터 또는 네트워크에서 이용가능한 정보를 위한 다른 식별자들을 위한 데이터 채널들을 제공할 수 있다. 송신기는 프리젠테이션에서의 특정 북마크로 이동하라는 사용자의 요청 또는 프리젠테이션의 시간 인덱스에 따라 그래픽 데이터를 전송한다. 파일 헤더는 북마크들을 기술하는 정보를 사용자에게 제공할 수 있다.
상기 아키텍처는 데이터를 전송하는 네트워크의 상태에 따라 사용하기 위한 동일한 재생 속도로 그러나 상이한 압축 방식으로 상이한 오디오 채널들을 더 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따라 다중-채널 매체 파일(190)을 생성하는 과정(100)을 도시한다. 과정(100)은 어떠한 형식일 수 있는 원본 오디오 데이터(110)를 가지고 시작한다. 예시적인 실시예에 있어서, 원본 오디오 데이터(110)는 ".wav" 파일이고, 이것은 오디오 신호의 파형을 나타내는 일련의 디지털 샘플들이다.
원본 오디오 데이터(110)에 수행되는 오디오 시간-스케일링 과정(120)은 시간-스케일링된 디지털 오디오 데이터의 다중 세트들(TSF1, TSF2, 및 TSF3)을 생성한다. 시간-스케이링된 오디오 데이터 세트들(TSF1, TSF2, 및 TSF3)은 재생되는 경우 원본 오디오의 피치(pitch)를 유지하도록 시간-스케일링되지만, 각 데이터 세트(TSF1, TSF2, 및 TSF3)는 상이한 시간 스케일을 갖는다. 따라서, 각 세트의 재생은 상이한 양의 시간이 걸린다.
일 실시예에 있어서, 오디오 데이터 세트(TSF1)는 원본 오디오 데이터(110)의 레코딩 속도로 재생되는 데이터에 대응하고 원본 오디오 데이터(110)와 동일할 수 있다. 오디오 데이터 세트(TSF2 및 TSF3)는 각각 레코딩 속도의 2배 및 3배로 재생되는 데이터에 대응한다. 전형적으로, 오디오 데이터 세트(TSF2 및 TSF3)는 고정 샘플링 비율로 재생하기 위해 더 적은 오디오 샘플들을 포함하기 때문에, 오디오 데이터 세트(TSF2 및 TSF3)는 오디오 데이터 세트(TSF1)보다 더 작을 것이다. 비록 도 1은 3개의 세트의 시간-스케일링된 데이터를 도시하지만, 오디오 시간-스케일링 부호화(120)는 대응하는 재생 속도를 갖는 어떤 수의 시간-스케일링된 오디오 데이터 세트들을 생성할 수 있다. 예를 들어, 7개의 세트들은 1 및 4 사이의 레코딩 속도의 반정수(half-integer) 배수에 대응한다. 더 일반적으로, 프리젠테이션의 제작자는 사용자가 이용할 수 있는 시간 스케일 중 어느 것을 선택할 수 있다.
오디오 시간-스케일링 과정(120)은 솔라(SOLA)-기반 스케일링 과정과 같은 어떤 바람직한 시간-스케일링 기법일 수 있고 시간 스케일 인자에 의존하여 각 시간-스케일링된 오디오 데이터 세트(TSF1, TSF2 또는 TSF3)에 대한 상이한 시간 스케일링 기법을 포함할 수 있다. 전형적으로, 오디오 시간-스케일링 과정(120)은 입력 매개변수로서 시간 스케일 인자를 사용하고 생성된 각 데이터 세트에 대한 시간 스케일 인자를 변경한다. 본 발명의 예시적인 실시예는 참조로써 통합되는 미국 특허 출원 번호 제09/626,046호에서 기술되는 바와 같은 연속 가변 부호화 과정을 채용하지만, 어떤 다른 시간 스케일링 과정이 사용될 수 있다.
오디오 시간 스케일링 과정(120) 이후에, 분할 과정(140)은 시간-스케일링된 오디오 데이터 세트들(TSF1, TSF2, 및 TSF3) 각각을 오디오 프레임들로 분할한다.본 발명의 예시적인 실시예에 있어서, 각 오디오 프레임은 원본 오디오 데이터(110)의 동일한 시간 간격(예를 들어 0.5초)에 대응한다. 따라서, 데이터 세트들(TSF1, TSF2, 및 TSF3) 각각은 동일 수의 오디오 프레임들을 갖는다. 가장 큰 시간 스케일 인자를 갖는 시간-스케일링된 오디오 데이터 세트에서의 오디오 프레임들은 가장 짧은 재생 시간을 필요로 하며 일반적으로 더 작게 시간 스케일링되는 오디오 데이터 세트들에 대한 프레임들보다 더 작다.
다른 대안적인 분할 과정들이 채용될 수 있다. 일 대안 실시예에 있어서, 분할 과정(140)은 시간-스케일링된 오디오 데이터 세트들(TSF1, TSF2, 및 TSF3) 각각을 재생시에 동일한 지속시간을 갖는 오디오 프레임들로 분할한다. 이 실시예에 있어서, 상이한 채널들에서의 오디오 프레임들은 대략 동일한 크기를 가질 것이지만, 상이한 채널들은 상이한 수의 프레임들을 포함할 것이다. 따라서, 재생 속도를 변경하는 경우 요구되는 상이한 프레임들에서의 대응하는 오디오 정보를 식별하는 것은 상기 예시적인 실시예에서보다 이 실시예에서 더 복잡하다.
분할 과정(140) 이후에, 오디오 데이터 압축 과정(150)은 각 프레임을 개별적으로 압축하고, 오디오 데이터 압축 과정(150)의 결과인 압축된 오디오 프레임들은 압축된 오디오 파일들(160)로서 집합적으로 지칭되는, 압축된 오디오 파일들(TSF1-C1, TSF2-C1, TSF3-C1, TSF1-C2, TSF2-C2, 및 TSF3-C2)로 모여진다. 압축된 오디오 파일들(TSF1-C1, TSF2-C1, 및 TSF3-C1) 모두는 제1 압축 방법에 대응하고 시간-스케일링된 오디오 데이터 세트들(TSF1, TSF2, 및 TSF3)에 각각 대응한다. 압축된 오디오 파일들(TSF1-C2, TSF2-C2, 및 TSF3-C2) 모두는 제2 압축 방법에 대응하고 시간-스케일링된 오디오 데이터 세트들(TSF1, TSF2, 및 TSF3)에 각각 대응한다.
도 1에 도시된 본 발명의 태양에 따라, 오디오 데이터 압축 과정(150)은 시간-스케일링된 오디오 데이터의 각 프레임에 대해 2개의 상이한 데이터 압축 방법들 또는 인자들을 사용한다. 대안적인 실시예들에 있어서, 오디오 데이터 압축 과정(150)은 시간-스케일링된 오디오 데이터의 각 프레임에 대한 어떤 수의 데이터 압축 방법들을 사용할 수 있다. 다양한 적합한 오디오 데이터 압축 방법들이 이용가능하고 종래 기술에 공지되어 있다. 적합한 오디오 압축 방법들의 예들은 캘리포니아, 산타클라라의 DSP 그룹에서의 트루스피치(Truespeech)와 같은 특정 구현들 및 MPEG 표준에 정의된 압축 과정들 및 이산 코사인 변환(DCT) 방법들을 포함한다. 다른 대안으로서, 오디오 시간-스케일링(120), 프레이밍(140), 및 압축(150)을 비교적 작은 오디오 프레임들의 효율적인 압축으로 적합화된 단일 조합 절차로 통합되는 과정이 개발될 수 있다.
압축된 오디오 파일들(TSF1-C1, TSF2-C1, TSF3-C1, TSF1-C2, TSF2-C2, 및 TSF3-C2) 각각은 다중-채널 매체 파일(190)에서의 상이한 오디오 채널에 대응한다. 다중-채널 매체 파일(190)은 추가로 북마크(bookmark)들(180)과 관련된 데이터를 포함한다.
다중-채널 매체 파일(190)의 생성 동안 제작자 입력(Author input, 170)은 다중-채널 매체 파일(190)에 포함되어 있는 북마크들을 선택한다. 일반적으로, 각 북마크는 관련된 시간 또는 프레임 인덱스 범위, 식별 데이터, 및 프리젠테이션 데이터를 포함한다. 프리젠테이션 데이터의 유형의 예들은 텍스트(182), 이미지들(184), 포함된 HTML 문서(186), 및 웹 페이지들로의 링크들(188)을 나타내는 데이터 또는 시간 또는 프레임 인덱스의 관련 범위에 대응하는 시간 간격 동안 상기 프리젠테이션의 부분으로서 디스플레이되는 네트워크에서 이용가능한 다른 정보를 포함하지만 그것에 제한되지 않는다. 상기 식별 데이터는 사용자가 점프할 수 있는 프리젠테이션에서의 위치들로서 다양한 북마크들을 식별하거나 구별한다.
제작자 입력(170)은 본 발명의 몇몇 실시예들에서 다중-채널 매체 파일(190)의 생성을 위해 요구되지 않는다. 예를 들어, 다중-채널 파일(190)은 하나 이상의 음성 우편 메시지들을 나타내는 원본 오디오 데이터(110)로부터 생성될 수 있다. 북마크들은 메시지들을 네비게이션하기 위해 생성될 수 있지만, 이러한 메시지들은 일반적으로 관련된 이미지들, HTML 페이지들, 또는 웹 페이지들을 요구하지 않는다. 음성 우편 시스템은 사용자가 메시지들의 재생 속도를 제어할 수 있게 하기 위하여 사용자의 음성 우편에 대한 다중-채널 파일을 자동으로 생성할 수 있다. 전화망에서의 다중-채널 파일의 사용은 이동 전화와 같은 수신기가 재생 속도를 변경하는데 프로세싱 또는 배터리 파워를 소비할 필요가 없게 한다.
도 2a, 도 2b, 도 2c, 도 2d 및 도 2e는 다중-채널 매체 파일(190)에 적합한 형식을 도시하고 이하 추가로 설명된다. 설명되는 형식들은 단지 예들이고 데이터 구조들의 크기, 순서 및 내용에 있어서 폭넓게 변동된다.
가장 넓은 개요에 있어서, 도 2a에 도시된 바와 같이, 다중-채널 매체 파일(190)은 파일 헤더(210), N개의 오디오 채널들(220-1 내지 220-N), 및 M개의데이터 채널들(230-1 내지 230-M)을 포함한다. 파일 헤더(210)는 파일을 식별하고 채널들(220-1 내지 220-N 및 230-1 내지 230-M)내의 오디오 프레임들 및 데이터 프레임들의 표를 포함한다. 오디오 채널들(220-1 내지 220N)은 다양한 시간 스케일들 및 압축 방법들에 대한 오디오 데이터를 포함하고, 데이터 채널들(230-1 내지 230-M)은 디스플레이를 위해 포함된 데이터 및 북마크 정보를 포함한다.
도 2b는 파일 헤더(210)의 실시예를 나타낸다. 이 실시예에 있어서, 파일 헤더(210)는 전체로서 파일의 특성들 및 다중-채널 매체 파일(190)을 식별하는 파일 정보(212)를 포함한다. 특히, 파일 헤더(210)는 오디오 및 데이터 채널들(220-1 내지 220-N 및 230-1 내지 230-M)의 수, 오프셋 및 크기를 나타내는 채널 정보, 및 범용 파일 ID, 파일 태그, 파일 크기, 및 파일 상태 필드를 포함할 수 있다.
파일 헤더(210)의 범용 ID는 다중-채널 파일(190)의 내용들을 나타내고 그것에 의존한다. 상기 범용 ID는 다중-채널 매체 파일(190)의 내용으로부터 생성될 수 있다. 64-바이트 범용 ID를 생성하는 일 방법은 다중-채널 파일(190)의 64-바이트 부분들에 대해 일련의 XOR 연산들을 수행한다. 프리젠테이션의 사용자는 하나의 세션 동안 상기 프리젠테이션을 시작하고 상기 세션을 중단하며 나중에 상기 세션의 사용을 다시 시작하기를 원하는 경우 상기 범용 파일 ID가 유용하다. 후술되는 바와 같이, 다중-채널 매체 파일(190)은 하나 이상의 원격 서버에 저장될 수 있고, 상기 서버의 운용자는 프리젠테이션의 이름을 이동하거나 변경할 수 있다.
사용자가 원래의 또는 다른 서버에서 제2 세션을 시작하려고 시도하는 경우, 비록 프리젠테이션이 세션들간에 이동되거나 다시 명명된다 하더라도 상기 프리젠테이션은 이전에 시작된 것이라는 것을 확인하기 위하여 서버상의 파일로부터 범용 ID 헤더는 사용자의 시스템에서 캐시된 범용 ID에 비교될 수 있다. 범용 ID는 대안으로 서버에 올바른 프리젠테이션을 위치시키는데 사용될 수 있다. 그 다음, 사용자의 시스템이 제1 세션동안 캐시할 수 있는 오디오 프레임들 및 다른 정보는 제2 세션을 다시 시작하는 경우에 사용될 수 있다.
파일 헤더(210)는 또한 다중-채널 파일(190)에서의 모든 프레임들의 리스트 또는 표를 포함한다. 예시된 예에 있어서, 파일 헤더(210)는 각 프레임에 대한 채널 인덱스(213), 프레임 인덱스(214), 프레임 유형(215), 오프셋(216), 프레임 크기(217), 및 상태 필드(218)를 포함한다. 채널 인덱스(213) 및 프레임 인덱스(214)는 프레임의 채널 및 디스플레이 시간을 식별한다. 프레임 유형은 프레임의 유형, 예를 들어 오디오 프레임들에 대한 데이터 또는 오디오, 압축 방법 및 시간 스케일을 나타낸다. 오프셋(216)은 다중-채널 매체 파일(190)의 시작으로부터 관련된 프레임의 시작까지의 오프셋을 나타낸다. 프레임 크기(217)는 상기 오프셋에서 프레임의 크기를 나타낸다.
후술되는 바와 같이, 사용자 시스템은 전형적으로 서버로부터 사용자의 시스템으로 파일 헤더(210)를 로딩한다. 사용자 시스템은 서버로부터 특정 프레임들을 요청하는 경우 오프셋들(216) 및 크기들(217)을 사용할 수 있고 어느 프레임들이 사용자의 시스템에 버퍼링되고 캐시되어 있는지를 추적하는데 상태 필드들(218)을 사용할 수 있다.
도 2c는 오디오 채널(220)을 위한 형식을 도시한다. 오디오 채널(220)은 채널 헤더(222) 및 K 압축된 오디오 프레임들(224-1 내지 224-K)을 포함한다. 채널 헤더(222)는 예를 들어, 채널 태그, 채널 오프셋, 채널 크기 및 상태 필드를 포함하는 전체로서 채널에 관한 정보를 포함한다. 채널 태그는 채널의 시간 스케일 및 압축 방법을 식별할 수 있다. 채널 오프셋은 다중-채널 파일(190)로부터 채널의 시작까지의 오프셋을 나타내고 채널 크기는 상기 오프셋에서 시작하는 채널의 크기를 나타낸다.
예시적인 실시예에 있어서, 모든 오디오 채널들(220-1 내지 220-N)은 K 오디오 프레임들(224-1 내지 224-K)을 구비하지만, 상기 프레임들의 크기는 일반적으로 프레임과 관련된 시간 스케일, 프레임에 적용되는 압축 방법, 및 압축 방법이 특정 프레임들에서의 데이터에 얼마나 잘 작용하는지에 따라 변동된다. 도 2d는 오디오 프레임(224)을 위한 전형적인 형식을 도시한다. 오디오 프레임(224)은 프레임 헤더(226) 및 프레임 데이터(228)를 포함한다. 프레임 헤더(226)는 프레임 인덱스, 프레임 오프셋, 프레임 크기, 및 프레임 상태와 같은 프레임의 특성들을 나타내는 정보를 포함한다. 프레임 데이터(228)는 원본 오디오로부터 생성되는 실제 시간-스케일링되고 압축된 데이터이다.
데이터 채널들(230-1 내지 230-M)은 북마크들과 관련된 데이터를 위한 것이다. 예시적인 실시예에 있어서, 각 데이터 채널(230-1 내지 230-M)은 특정 북마크에 대응한다. 대안으로, 단일 데이터 채널은 북마크들과 관련된 모든 데이터를 포함할 수 있고 이때 M은 1과 같다. 다중-채널 매체 파일(190)의 다른 대안적인 실시예는 각 유형의 북마크에 대해 하나의 데이터 채널을 구비한다. 예를 들어 4개의데이터 채널들은 텍스트, 이미지들, HTML 페이지 기술들, 및 링크들에 각각 관련된다.
도 2e는 다중-채널 매체 파일(190)에서의 데이터 채널(230)을 위한 적합한 형식을 도시한다. 데이터 채널(230)은 데이터 헤더(232) 및 관련된 데이터(234)를 포함한다. 데이터 헤더(232)는 일반적으로 오프셋, 크기, 및 태그 정보와 같은 채널 정보를 포함한다. 데이터 헤더(232)는 추가로 상기 북마크에 대응하는 시간 또는 한 세트의 오디오 프레임들을 나타내는 소정 범위의 시간들 또는 시작 프레임 인덱스 및 정지 프레임 인덱스를 식별할 수 있다.
도 3은 상술된 바와 같은 다중-채널 매체 파일(190)을 생성하는데 사용되는 제작 도구(authoring tool)의 사용자 인터페이스(300)를 도시한다. 상기 제작 도구는 프리젠테이션을 생성하는 경우 원본 오디오 데이터(110)에 영상 정보의 추가 및 북마크들의 생성을 위한 입력(170)을 허용한다. 일반적으로, 적합한 영상 정보를 추가하는 것은 오디오가 정상 속도보다 더 빠른 속도로 재생되는 경우 프리젠테이션의 이해를 크게 용이하게 할 수 있다. 왜냐하면, 영상 정보는 프리젠테이션의 오디오 부분을 이해하기 위한 키를 제공하기 때문이다. 추가로, 그래픽을 오디오에 접속하는 것은 정렬된 방식으로 그래픽의 프리젠테이션을 허용한다.
사용자 인터페이스(300)는 오디오 윈도우(310), 영상 디스플레이 윈도우(320), 슬라이드 바(330), 마크 리스트(340), 마크 데이터 윈도우(350), 마크 유형 리스트(360), 및 제어들(370)을 포함한다.
오디오 윈도우(310)는 소정 범위의 시간 동안 원본 오디오 데이터(110)의 모두 또는 부분을 나타내는 파(wave)를 디스플레이한다. 제작자가 프리젠테이션을 검토하는 경우, 오디오 윈도우(310)는 원본 오디오(110)에 관한 시간 인덱스를 나타낸다. 제작자는 원본 오디오 데이터(110)의 시작에 관하여 어떤 시간 또는 어떤 범위의 시간을 선택하기 위한 마우스 또는 다른 장치를 사용한다. 영상 디스플레이 윈도우(320)는 원본 오디오(110)의 현재 선택된 시간 인덱스와 관련된 이미지들 또는 다른 영상 정보를 디스플레이한다. 슬라이드 바(330) 및 마크 리스트(340)는 각각 섬네일(thumbnail) 슬라이드들 및 북마크 이름들을 포함한다. 제작자는 마크 리스트(340)에서 대응하는 북마크를 선택하거나 슬라이드 바(330)에서 대응하는 슬라이드를 선택함으로써 수정을 위해 특정 북마크를 선택하거나 북마크와 관련된 시간 인덱스로 프리젠테이션에서 간단히 점프할 수 있다.
북마크를 추가하기 위하여, 제작자는 북마크에 대한 시작 시간을 선택하는데 오디오 윈도우(310), 슬라이드 바(330), 또는 마크 리스트(340)를 이용하고, 북마크에 대한 유형을 선택하는데 마크 유형 리스트(360)를 이용하며, 선택된 시간에서 선택된 유형의 북마크를 추가하는 과정을 시작하는데 제어들(370)을 이용한다. 북마크 추가에 대한 상세는 일반적으로 북마크와 관련된 정보의 유형에 의존할 것이다. 예시 목적으로, 북마크와 관련된 내장된 이미지의 추가가 후술되지만, 북마크와 관련될 수 있는 정보의 유형들은 내장된 이미지들에 제한되지 않는다.
내장된 이미지 추가는 제작자로 하여금 이미지를 나타내는 데이터 또는 파일을 선택하도록 요구한다. 이미지 데이터는 어떤 형식을 가질 수 있지만 바람직하기로는 저대역폭 통신 링크를 통한 전송에 적합하다. 일 실시예에 있어서, 내장된 이미지들은 마이크로소프트 파워포인트(Microsoft PowerPoint)를 이용하여 생성된 것과 같은 슬라이드들이다. 제작 도구는 다중-채널 매체 파일(190)의 데이터 채널에서의 이미지 데이터를 포함하고 저장한다.
제작자는 마크 리스트(340)에 나타나는 이름을 상기 북마크에 제공하고 북마크 및 이미지 데이터와 관련된 오디오 프레임 인덱스 값들(즉, 시작 및 종료 시간)의 범위를 설정하거나 변경할 수 있다. 프리젠테이션이 재생되는 경우, 영상 디스플레이 윈도우(320)는 북마크와 관련된 범위에서의 프레임 인덱스를 갖는 어떤 오디오 프레임의 재생 동안 북마크와 관련된 이미지를 디스플레이한다.
제작 도구는 북마크와 관련된 이미지에 기초하여 섬네일 이미지를 슬라이드 바(330)에 추가한다. 제작자가 다중-채널 파일을 제작하는 경우, 북마크의 이름, 오디오 인덱스 범위, 및 섬네일 데이터가 저장되고, 예를 들어 파일 헤더(210) 또는 데이터 채널 헤더(232)에서 다중-채널 매체 파일(190)의 특정 형식에 의존하는 위치에서 다중-채널 매체 파일(190)에서의 데이터를 식별한다. 후술되는 바와 같이, 프리젠테이션을 위한 사용자 시스템의 초기화는 사용자가 프리젠테이션의 북마크 위치로 점프하는 경우 사용하기 위하여 마크 리스트 및 슬라이드 바의 액세스 및 디스플레이를 포함할 수 있다.
텍스트, HTML 페이지, 또는 네트워크 데이터(예를 들어, 웹 페이지)로의 링크와 같은 다른 유형의 그래픽 데이터와 관련되는 북마크들은 내장된 이미지 데이터와 관련된 북마크들과 유사한 방식으로 추가된다. 다양한 유형의 그래픽 데이터를 위해, 마크 데이터 윈도우(350)는 영상 디스플레이 윈도우(320)에서의 데이터표현과는 다른 형태로 그래픽 데이터를 디스플레이할 수 있다. 예를 들어 마크 데이터 원도우(350)는 텍스트, HTML 코드, 또는 링크를 포함할 수 있고, 반면 영상 디스플레이 윈도우(320)는 텍스트, HTML 페이지, 또는 웹 페이지의 각각의 외관을 나타낸다.
제작자가 북마크 및 관련 정보의 추가를 완료한 후에, 상기 제작자는 예를 들어 도 1에 도시된 바와 같은 다중-채널 파일(190)을 생성하기 위하여 제어들(370)을 사용한다. 제작자는 다중-채널 파일에서 오디오에 이용가능한 하나 이상의 시간-스케일들을 선택할 수 있다.
도 4는 본 발명의 실시예에 따라 프리젠테이션을 보기 위한 시스템에서의 사용자 인터페이스(400)를 도시한다. 사용자 인터페이스(400)는 디스플레이 윈도우(420), 슬라이드 바(430), 마크 리스트(440), 소스 리스트(450), 및 제어 바(470)를 포함한다. 소스 윈도우(450)는 사용자의 선택을 위한 프리젠테이션의 리스트를 제공하고 현재 선택된 프리젠테이션을 나타낸다.
제어 바(470)는 프리젠테이션의 일반 제어를 허용한다. 예를 들어, 사용자는 프리젠테이션을 시작하거나 종료할 수 있고, 프리젠테이션의 속도를 높이거나 낮출 수 있으며, 정상 속도, 고속 순방향 또는 고속 역방향(즉, 고정 시간 앞이나 뒤로 점프)으로 스위칭할 수 있고, 프리젠테이션의 모두 또는 일부의 자동 반복을 활성화할 수 있다.
슬라이드 바(430) 및 마크 리스트(440)는 북마크를 식별하고 사용자가 프리젠테이션에서 북마크로 점프하도록 허용한다.
디스플레이 윈도우(420)는 오디오와 동기화된 텍스트, 이미지, HTML 페이지 또는 웹 페이지와 같은 영상 내용을 위한 것이다. 적합하게 선택된 영상 내용에 있어서, 프리젠테이션의 사용자는 비록 오디오가 고속으로 재생중이라 하더라도 오디오 내용을 더 잘 이해할 수 있다.
도 5는 도 4의 사용자 인터페이스를 구비하는 프리젠테이션 플레이어를 구현하는 예시적인 과정(500)의 흐름도이다. 과정(500)은 컴퓨팅 시스템에서 소프트웨어 또는 펌웨어에서 구현될 수 있다. 단계 510에서, 과정(500)은 도 4의 사용자 인터페이스를 통해 사용자의 선택이 있거나 어떠한 이벤트도 없을 수 있는 이벤트를 입수한다.
결정 단계(520)는 사용자가 신규 프리젠테이션을 시작했는지를 결정한다. 신규 프리젠테이션은 헤더 정보가 캐시되지 않은 프리젠테이션이다. 사용자가 신규 프리젠테이션을 시작한 경우, 과정(500)은 단계 522에서 프리젠테이션의 소스에 접속하고 파일 헤더 정보를 요청한다. 소스는 전형적으로 인터넷과 같은 네트워크를 통해 사용자의 컴퓨터에 접속된 서버와 같은 장치일 것이다.
상기 소스가 요청된 헤더 정보를 리턴하는 경우, 단계 524는 프리젠테이션의 프레임들을 요청하고 버퍼링하는 것과 같은 동작의 제어를 위해 요청되는 경우 헤더 정보를 로딩한다. 특히, 단계 526은 다른 프리젠테이션을 위한 프레임들 및 데이터를 포함할 수 있는 재생 버퍼를 리셋한다.
단계 526이 재생 버퍼를 리셋한 이후에, 단계 550은 재생 버퍼를 유지한다. 일반적으로, 단계 550은 사용자가 프레임 인덱스 또는 재생 속도를 변경하지 않는경우 순차적으로 재생되는 일련의 오디오 프레임들을 식별하고, 연속된 오디오 프레임들 중 어느 것이 프레임 캐시에서 이용가능한지를 결정하며, 상기 프레임 캐시에는 없는 연속된 오디오 프레임들을 위한 요청을 소스에 전송함으로써 재생 버퍼를 유지한다.
본 발명의 인터넷 실시예에 있어서, 과정(500)은 서버로부터 특정 프레임들 또는 데이터를 요청하는 경우 공지된 http 프로토콜을 이용한다. 따라서, 서버는 프리젠테이션을 제공하기 위하여 특별한 서버 애플리케이션을 필요로 하지 않는다. 그러나, 대안 실시예는 사용자에게 데이터를 제공하고 통신하기 위한 서버 애플리케이션을 채용함으로써 더 좋은 수행을 제공할 수 있다.
사용자가 소스로부터 오디오 프레임을 수신하는 경우, 과정(500)은 오디오 프레임을 버퍼링하거나 캐시하지만 프레임이 연속으로 재생되는 경우 재생 버퍼에 오디오 프레임을 단지 대기(queue)시킨다. 재생될 오디오 프레임이 재생 버퍼에 대기하는 경우, 단계 560는 재생 버퍼에서의 프레임으로부터 압축해제된 데이터 스트림을 사용하여 오디오 출력을 유지한다. 오디오 스트림이 한 프레임에서 다음 프레임으로 스위칭하는 경우 요구되는 오디오 프레임을 이용할 수 없다면 과정(500)은 프리젠테이션을 중단한다.
단계 570은 비디오 디스플레이를 유지한다. 애플리케이션(500)은 프리젠테이션을 위해 헤더에 표시된 위치로부터 그래픽 데이터를 요청한다. 특히, 그래픽 데이터가 다중-채널 파일에 포함된 텍스트, 이미지 또는 html 페이지를 나타내는 경우, 과정(500)은 소스로부터 그래픽 데이터를 요청하고 그 형식에 따라 상기 그래픽 데이터를 해석한다. 그래픽 데이터가 다중-채널 파일에서 링크에 의해 식별되는 웹 페이지와 같은 네트워크 데이터인 경우, 과정(500)은 디스플레이를 위해 네트워크 데이터를 검색하도록 상기 링크를 액세스한다. 네트워크 조건들 또는 다른 문제들이 그래픽 데이터가 필요할 때 이용가능하지 못하도록 하는 경우, 과정(500)은 프리젠테이션의 오디오 부분을 계속해서 유지한다. 이것은 네트워크 트래픽이 높은 경우 프리젠테이션의 완전한 중단을 피한다.
단계 580에 있어서, 과정(500)은 이용가능한 대역폭 또는 네트워크 트래픽의 양을 결정한다. 네트워크 트래픽 또는 대역폭은 소스가 어떤 요청된 정보 또는 프레임 버퍼들의 상태를 제공하는 속도로부터 결정될 수 있다. 네트워크 트래픽이 너무 높아서 프리젠테이션의 원활한 재생에 필요한 속도로 데이터를 제공할 수 없는 경우, 과정(500)은 단계 584에서 더 작은 대역폭(즉, 더 많은 데이터 압축을 채용)을 요구하지만 여전히 사용자가 선택한 오디오 재생 속도를 제공하는 채널을 선택하기 위하여 프리젠테이션을 위한 채널 인덱스를 변경하도록 결정한다. 네트워크 트래픽이 낮은 경우, 단계 584는 더 작은 데이터 압축을 사용하고 선택된 오디오 재생 속도에서 더 좋은 사운드 품질을 제공하는 채널을 선택하기 위하여 프리젠테이션을 위한 채널 인덱스를 변경할 수 있다.
결정 단계(530)는 이벤트가 프리젠테이션의 시간 스케일의 사용자 변경이었다고 결정하는 경우, 애플리케이션(500)은 단계 530에서 단계 532로 이동하여, 채널 인덱스를 선택된 시간 스케일에 대응하는 값으로 변경한다. 이전에 결정된 네트워크 트래픽 양은 이용가능한 네트워크 대역폭 및 선택된 시간 스케일에 대해 최선의 오디오 품질을 제공하는 채널을 선택하는데 사용될 수 있다.
단계 532가 채널 인덱스를 변경한 후에, 단계 526은 재생 버퍼를 리셋하고, 현재 오디오 프레임을 제외하고 재생 버퍼에 있는 모든 오디오 프레임들을 삭제한다. 재생 버퍼를 리셋한 후에, 과정(500)은 단계 550, 560, 및 570에서 상술된 바와 같이 재생 버퍼, 오디오 출력, 및 비디오 디스플레이를 유지한다.
단계 560에서 오디오 스트림을 유지하는 경우에 있어서, 현재 오디오 프레임은 데이터가 소모될 때까지 오디오 출력에 대한 데이터를 계속 제공한다. 따라서, 오디오 출력은 현재 오디오 프레임으로부터의 데이터가 소모될 때까지 이전 속도로 계속한다. 이 점에 있어서, 다음 프레임 인덱스에 대응하지만 신규 채널 인덱스에 대응하는 오디오 채널로부터 오는 오디오 프레임이 이용가능해야 한다. 따라서 프리젠테이션의 재생은 단일 프레임의 지속시간보다 더 작은, 예를 들어 예시적인 실시예에서 0.5초보다 더 작은 신규 재생 속도로 스위칭한다. 추가로, 신규 채널의 다음 프레임 인덱스에서의 프레임의 내용은 구(old) 재생 속도에 대응하는 프레임을 바로 뒤따르는 오디오 데이터에 대응한다. 따라서, 사용자는 재생 속도에서 원활한 실시간 전이를 인식한다.
다음 프레임 인덱스에 대응하는 프레임이 필요할 때 이용가능하지 않은 경우, 과정(500)은 사용자가 소스로부터 요청된 데이터를 수신할 때까지 재생을 중단하고 단계 550은 재생 버퍼에 데이터 프레임을 대기시킨다. 본 발명의 대안적인 실시예는 단계 526에서 상기 프레임들을 삭제하는 것 대신에, 구 재생 속도로 재생 버퍼에 대기된 연속 오디오 프레임들을 보유하고 사용한다. 따라서,애플리케이션(500)이 시간에 맞게 요구된 프레임을 수신하지 못한 경우 구 오디오 프레임들이 재생되어 프리젠테이션을 중단시키지 않을 수 있다. 구 속도의 이러한 연속은 응답하지 않은 과정의 출현을 바람직하지 않게 제공하고 도 5의 실시예에 의해 회피된다.
신규 프리젠테이션을 시작하거나 속도를 변경하는 것 대신에, 사용자가 북마크 또는 슬라이드 또는 고속 순방향 또는 고속 역방향을 선택하는 경우, 결정 단계(540)는 애플리케이션(540)이 현재 프레임 인덱스를 변경하는 과정(542)으로 이동하게 한다. 현재 프레임 인덱스에 대한 신규 값은 사용자의 행동에 의존한다. 사용자가 고속 순방향 또는 고속 역방향을 선택한 경우, 현재 프레임 인덱스는 고정 양만큼 증가되거나 감소된다. 사용자가 북마크 또는 슬라이드를 선택한 경우, 현재 프레임 인덱스는 선택된 북마크 또는 슬라이드와 관련된 시작 인덱스 값으로 변경된다. 예시적인 실시예에 있어서, 시작 인덱스 값은 상기 단계(524)에서 다중-채널 파일에 대한 헤더로부터 로딩된 데이터 중에 있다.
현재 프레임 인덱스에서의 변경 이후에, 과정(544)은 현재 프레임 인덱스의 신규 값을 반영하도록 재생 버퍼의 큐(queue)를 이동한다. 프레임 인덱스 변경이 그다지 크지 않은 경우, 신규 프레임 인덱스 값을 가지고 시작하는 연속 오디오 프레임들 중 몇몇은 이미 재생 버퍼에 대기할 수 있다. 그렇지 않은 경우, 시프트 과정(544)은 재생 버퍼에 대한 리셋 과정(526)과 동일하다.
도 6은 본 발명의 다른 실시예에 따른 프리젠테이션 플레이어(600)에 대한 다중-스레드(multi-threaded) 아키텍처를 도시하는 블록도이다. 프리젠테이션 플레이어(600)는 프로그램 관리(610)의 제어를 받는 오디오 재생 스레드(620), 오디오 로딩 및 캐싱 스레드(630, audio loading and caching thread), 그래픽 데이터 로딩 스레드(640), 및 디스플레이 스레드(650)를 포함한다. 일반적으로, 프리젠테이션 플레이어(600)는 전화망에 접속된 셀룰러 전화 또는 인터넷 또는 랜(LAN)에 접속된 개인용 컴퓨터 또는 개인 휴대 정보 단말기(PDA; personal digital assistant)와 같은 네트워크 접속을 갖는 컴퓨팅 시스템에서 실행된다.
활성화되는 경우, 오디오 재생 스레드(620)는 프리젠테이션의 오디오 부분을 위한 사운드 신호를 생성하는데 재생 버퍼(625)로부터의 데이터를 사용한다. 일 실시예에 있어서, 오디오 재생 버퍼(625)는 압축 형태로 오디오 프레임들을 포함하고, 오디오 재생 스레드(620)는 상기 오디오 프레임들을 압축 해제한다. 대안으로, 재생 버퍼(625)는 압축 해제된 오디오 데이터를 포함한다.
오디오 로딩 및 캐싱 스레드는 네트워크 인터페이스(660)를 통해 프리젠테이션의 소스와 통신하고 오디오 재생 버퍼(625)를 채운다. 추가로, 오디오 로딩 및 캐싱 스레드(630)는 오디오 프레임들을 컴퓨팅 시스템의 활동 메모리로 프리로드한다. 하드 디스크 또는 다른 메모리 장치로 오디오 프레임들의 캐싱을 제어한다. 스레드(630)는 프리젠테이션을 구성하는 오디오 프레임들의 상태를 추적하는데 프레임 상태 표(632)를 사용하고 상술된 바와 같이 초기에 다중-채널 파일의 헤더로부터 프레임 상태 표(632)를 구성할 수 있다. 스레드(630)는 예를 들어 오디오 프레임이 활동 메모리에 로딩되어 있는지, 디스크에 지역적으로 로딩되어 캐싱되어 있는지 로딩되어 있지 않는지를 나타내는 각 오디오 프레임 변경들의 상태에 따라 프레임 상태 표(632)를 변경한다.
본 발명의 예시적인 실시예에 있어서, 오디오 로딩 및 캐싱 스레드(630)는 현재 선택된 시간 스케일에 대응하는 일련의 오디오 프레임들을 프리-로드한다. 특히, 스레드(630)는 프리젠테이션의 시작에서의 일련의 오디오 프레임들 및 프리젠테이션의 북마크들의 시작 프레임 인덱스 값들을 가지고 시작하는 다른 연속 프레임들을 프리-로드한다. 따라서, 사용자가 북마크에 대응하는 프리젠테이션에서의 위치로 점프하는 경우, 프리젠테이션 플레이어(600)는 네트워크 인터페이스(660)를 통해 오디오 프레임들을 로딩하는데 지연없이 북마크 위치로 재빨리 이동할 수 있다.
사용자가 프리젠테이션의 시간 스케일을 변경하는 경우, 오디오 재생 버퍼(625)는 리셋되고, 오디오 로딩 및 캐싱 스레드(630)는 신규 시간 스케일에 대응하는 신규 채널로부터 프레임들을 로딩하기 시작한다. 예시적인 실시예에 있어서, 프로그램 관리(610)는 오디오 재생 버퍼(625)가 사용자가 선택한 데이터 양, 예를 들어 2.5초의 오디오 데이터를 포함할 때까지 오디오 재생 스레드(620)를 활성화하지 않는다. 오디오 프레임들의 네트워크 전송이 불규칙한 경우, 지연 활성화는 오디오 재생 스레드(610)를 반복해서 정지시킬 필요가 없게 한다. 일반적으로, 오디오 로딩 및 캐싱 스레드(630)는 재생 버퍼(625)가 비어 있거나 거의 비게 되는 경우 높은 압축률을 갖는 오디오 채널을 선택하고 재생 버퍼(625)가 적합한 양의 데이터를 포함하는 경우 더 좋은 오디오 품질을 제공하는 채널로 스위칭할 수 있다.
그래픽 데이터 로딩 스레드(640) 및 디스플레이 스레드(650)는 각각 그래픽 데이터를 로드하고 그래픽 이미지를 디스플레이한다. 그래픽 데이터 로딩 스레드(640)는 그래픽 데이터를 데이터 버퍼(642)에 로딩할 수 있고 디스플레이 스레드(650)를 위해 디스플레이 데이터(644)를 준비할 수 있다. 특히, 그래픽 데이터가 웹 페이지와 같은 네트워크 데이터로의 링크인 경우, 그래픽 데이터 로딩 스레드(640)는 네트워크 인터페이스(660)를 통해 프리젠테이션의 소스로부터 링크를 수신하여 디스플레이 데이터(644)를 획득하기 위하여 상기 링크에 관련된 데이터를 액세스한다. 대안으로, 그래픽 데이터 로딩 스레드(640)는 디스플레이 데이터(644)로서 프리젠테이션의 소스로부터 내장된 이미지 데이터를 직접 사용한다.
본 발명의 일 태양에 따라, 프리젠테이션의 재생은 오디오에 따라 조정된다. 따라서, 프로그램 관리(610)는 오디오 로딩 및 캐싱 스레드(630)에 가장 높은 우선순위를 부여한다. 그러나, 몇몇 실시예들에 있어서, 오디오 로딩 및 캐싱 스레드(630)는 그래픽 데이터를 위해 더 많은 대역폭을 제공하기 위하여 높은 압축을 갖는 오디오 채널을 선택할 수 있다. 특히, 스레드(630)는 오디오 재생 스레드(620)가 시작 프레임 인덱스에 도달하는 경우 스레드(640)가 디스플레이를 위해 신규 그래픽 데이터를 로딩하기 위한 대역폭을 제공하기 위하여 북마크에 대한 시작 프레임 인덱스에 오디오가 도달하기 전 어느 때에 더 높은 압축 오디오 채널로 변경할 수 있다.
상기 개시된 프리젠테이션 플레이어들 및 제작 도구들은 특별한 하드웨어, 대량의 이용가능한 프로세싱 파워 또는 고-대역폭 네트워크 접속을 구비하지 않고프리젠테이션의 재생 속도 또는 시간 스케일을 사용자가 실시간으로 변경하도록 허용하는 프리젠테이션을 제공할 수 있다. 이러한 프리젠테이션들은 재생 속도 변경 능력이 있는 다양한 사업적인, 상업적인 그리고 교육적인 콘텍스트들에서 유용하다. 그러나, 상기 시스템들은 또한 재생 속도 변경이 관계되지 않는 경우에도 유용하다. 특히, 상술된 바와 같이, 제작 도구의 몇몇 실시예들은 http 프로토콜과 같은 인식 프로토콜을 구현하는 어떤 서버에 액세스하는데 적합한 프리젠테이션을 생성한다. 따라서, 비록 임시(casual) 제작자라도 오디오 메시지를 레코드할 수 있고 오디오 메시지에 이미지를 동기화하는데 제작 도구를 사용하여, 가족 또는 친구들을 위한 개인 프리젠테이션을 생성할 수 있다. 상기 프리젠테이션의 수신자는 특별한 하드웨어 또는 고-대역폭 네트워크 접속을 갖지 않고도 상기 프리젠테이션을 재생할 수 있다.
본 발명의 태양들은 또한 네트워크 접속이 관련되지 않고 프로세싱 파워 또는 배터리 파워가 제한될 수 있는 자립형 시스템에 채용될 수 있다. 도 7은 프리젠테이션의 재생 속도 또는 시간 스케일에 대한 실시간 제어를 사용자에게 제공하는 자립형 시스템(700)을 도시한다. 자립형 시스템(700)은 PDA 또는 휴대용 컴퓨터 또는 특별히 설계된 프리젠테이션 플레이어와 같은 휴대용 장치일 수 있다. 시스템(700)은 데이터 저장부(710), 선택 로직(720), 오디오 복호기(730), 및 비디오 복호기(740)를 포함한다.
데이터 저장부(710)는 상술된 바와 같은 프리젠테이션을 나타내는 다중-채널 파일(715)를 저장할 수 있는 어떤 매체일 수 있다. 예를 들어, PDA에 있어서, 데이터 저장부(710)는 플래시(Flash) 디스크 또는 다른 유사한 장치일 수 있다. 대안으로, 데이터 저장부(710)는 디스크 플레이어 및 CD-ROM 또는 다른 유사한 매체를 포함할 수 있다. 자립형 시스템(700)에 있어서, 데이터 저장부(710)는 네트워크 접속이 요구되지 않는 오디오 데이터 및 어떤 그래픽 데이터를 제공한다.
오디오 복호기(730)는 데이터 저장부(710)로부터 오디오 데이터 스트림을 수신하고 상기 오디오 데이터 스트림을 증폭기 및 스피커 시스템(735)를 통해 재생될 수 있는 오디오 신호로 변환한다. 필요한 프로세싱 파워를 최소화하기 위하여, 다중-채널 파일(715)은 압축되지 않은 디지털 오디오 데이터를 포함하고, 오디오 복호기(730)는 종래의 디지털 아날로그 변환기이다. 대안으로, 오디오 복호기(730)는 시스템(700)이 압축된 오디오 데이터를 포함하는 다중-채널 파일(715)을 위해 설계된 경우 데이터를 압축 해제할 수 있다. 유사하게, 데이터 저장부(710)는 다중-채널 파일(715)로부터 디스플레이(745)에 필요한 그래픽 데이터를 변환하는 옵션의 비디오 복호기(740)로 어떤 그래픽 데이터를 제공한다.
선택 로직(720)은 데이터 저장부(710)가 오디오 복호기(730) 및 비디오 복호기(740)에 제공하는 데이터 스트림들을 선택한다. 선택 로직(720)은 시스템(700)의 제어에 사용되는 버튼들, 스위치들, 또는 다른 사용자 인터페이스 장치들을 포함한다. 사용자가 재생 속도를 변경하는 경우, 선택 로직(720)은 데이터 저장부(710)로 하여금 신규 재생 속도에 대응하는 다중-채널 파일(715)에서의 채널로 스위칭하게 한다. 사용자가 북마크를 선택하는 경우, 선택 로직(720)은 데이터 저장부(710)로 하여금 상기 북마크에 대응하는 프레임 인덱스로 점프하게 하고 신규 시간 인덱스로부터 오디오 및 비디오 데이터 스트림들을 다시 시작하게 한다. 선택 로직(720)은 거의 또는 전혀 프로세싱 파워를 필요로 하지 않는데, 왜냐하면 시간 스케일 또는 북마크의 선택이 데이터 저장부(710)가 다중-채널 파일(715)로부터 오디오 및 그래픽 데이터 스트림들을 읽는데 사용하는 매개변수들(예를 들어 채널 또는 프레임 인덱스)의 변경을 요구하기 때문이다.
자립형 시스템(700)은 다중-채널 파일(715)의 오디오 채널들이 이미 시간-스케일링된 오디오 데이터를 포함하기 때문에 어떤 시간 스케일링을 위한 프로세싱 파워를 소모하지 않는다. 따라서, 자립형 시스템(700)은 매우 작은 배터리 또는 프로세싱 파워를 소모하고 사용자가 시간-스케일에서 실시간으로 변경하는 시간-스케일링된 프리젠테이션을 여전히 제공할 수 있다. 특별히 설계된 프리젠테이션 플레이어에 있어서, 자립형 시스템(700)은 시스템(700)이 상당한 프로세싱 하드웨어를 요구하지 않기 때문에 저비용 장치가 될 수 있다.
비록 본 발명은 특정 실시예들을 참조하여 설명되었다 하더라도, 상기 설명은 단지 본 발명의 애플리케이션의 예이고 제한하기 위한 것이 아니다. 개시된 실시예들의 특징들의 다양한 적응들 및 조합들은 다음의 청구범위에 의해 정의되는 본 발명의 범위 내에 있다.
본 발명은 네트워크를 통해 전송되는 프리젠테이션에 대한 상이한 재생 속도에 대응하는 상이한 오디오 채널들을 갖는 다중-채널 아키텍처를 채용하는 매체 부호화, 전송, 및 재생 프로세스들 및 구조들에 적용될 수 있다.

Claims (36)

  1. 프리젠테이션을 나타내는 데이터 구조를 포함하는 장치에 있어서,
    상기 데이터 구조는:
    제1 시간 스케일 인자에 의한 시간 스케일링 이후의 상기 프리젠테이션의 오디오 부분을 나타내는 제1 오디오 채널; 및
    상기 제1 시간 스케일 인자와는 상이한 제2 시간 스케일 인자에 의한 시간 스케일링 이후의 상기 오디오 부분을 나타내는 제2 오디오 채널을 포함하는 것을 특징으로 하는 장치.
  2. 제1항에 있어서,
    상기 제1 오디오 채널은 복수의 프레임들을 포함하고,
    상기 제2 오디오 채널은 상기 제1 오디오 채널의 복수의 프레임들과 일대일 대응하는 복수의 프레임들을 포함하며,
    상기 제1 및 제2 오디오 채널들의 대응하는 프레임들은 동일 시간 간격의 프리젠테이션을 나타내는 것을 특징으로 하는 장치.
  3. 제2항에 있어서, 상기 제1 오디오 채널의 각 프레임은 제1 압축 방법을 이용하여 개별적으로 압축되는 것을 특징으로 하는 장치.
  4. 제3항에 있어서, 상기 데이터 구조는 상기 제1 시간 스케일 인자에 의한 시간 스케일링 이후의 오디오 프리젠테이션을 나타내는 제3 오디오 채널을 더 포함하고, 상기 제3 오디오 채널의 각 프레임은 제2 압축 방법을 이용하여 개별적으로 압축되는 것을 특징으로 하는 장치.
  5. 제1항에 있어서, 상기 데이터 구조는 상기 오디오 프리젠테이션과 관련되는 그래픽을 식별하는 데이터 채널을 더 포함하는 것을 특징으로 하는 장치.
  6. 제1항에 있어서,
    상기 제1 오디오 채널은 복수의 프레임들을 포함하고, 각 프레임은 상기 프레임이 나타내는 오디오 부분의 시간 간격을 식별하는 인덱스 값을 구비하며;
    상기 제2 오디오 채널은 복수의 프레임들을 포함하고, 상기 제2 채널의 각 프레임은 상기 프레임이 나타내는 오디오 부분의 시간 간격을 식별하는 인덱스 값을 구비하는 것을 특징으로 하는 장치.
  7. 제6항에 있어서, 상기 제1 및 제2 데이터 채널들에서의 각 프레임은 개별적으로 압축되는 것을 특징으로 하는 장치.
  8. 제6항에 있어서, 상기 데이터 구조는 복수의 북마크(bookmark)들에 대응하는 데이터 채널을 더 포함하고, 각 북마크는 인덱스 값을 구비하며 그래픽을 식별하고, 상기 인덱스 값은 상기 제1 또는 제2 오디오 채널의 프레임들의 재생에 관한 그래픽의 디스플레이 시간을 나타내는 것을 특징으로 하는 장치.
  9. 제1항에 있어서, 상기 장치는 네트워크에 접속된 서버를 포함하는 것을 특징으로 하는 장치.
  10. 제1항에 있어서,
    상기 데이터 구조가 저장되는 데이터 저장부;
    상기 데이터 저장부로부터 데이터 스트림을 수신하도록 접속되어, 인식가능한 프리젠테이션을 위해 상기 데이터 스트림을 변환하는 복호기; 및
    상기 데이터 저장부에 연결되어, 상기 제1 오디오 채널 및 상기 제2 오디오 채널을 포함하는 한 세트의 채널들 중에서 상기 데이터 스트림을 위한 소스 채널을 선택할 수 있는 선택 로직을 포함하는 것을 특징으로 하는 장치.
  11. 제10항에 있어서, 상기 장치는 배터리 파워로 움직이는 자립형 장치인 것을 특징으로 하는 장치.
  12. 오디오 프리젠테이션을 나타내는 데이터 구조를 포함하는 장치에 있어서,
    상기 데이터 구조는 시간 스케일링 이후의 상기 오디오 프리젠테이션을 나타내는 복수의 오디오 채널들을 포함하고,
    각 오디오 채널은 대응하는 시간 스케일 인자를 구비하고 복수의 오디오 프레임들을 포함하며,
    각 오디오 프레임은 동일한 채널의 다른 오디오 프레임들로부터 상기 오디오 프레임을 고유하게 구별하고 상기 오디오 프레임을 다른 오디오 채널들의 특정 오디오 프레임들에 대응하는 것으로서 식별하는 프레임 인덱스를 구비하는 것을 특징으로 하는 장치.
  13. 제12항에 있어서, 상이한 채널들에 있고 동일한 프레임 인덱스를 구비하는 오디오 프레임들은 상기 오디오 프리젠테이션의 동일 부분을 나타내는 것을 특징으로 하는 장치.
  14. 오디오 데이터를 부호화하는 방법에 있어서,
    상기 오디오 데이터에 복수의 시간 스케일링 과정들을 수행하여 복수의 시간-스케일링된 오디오 데이터 세트들을 생성하는 단계로서, 각 시간-스케일링된 오디오 데이터 세트는 상이한 시간 스케일 인자를 구비하는 단계; 및
    상기 복수의 시간 스케일링 과정들에 각각 대응하는 복수의 오디오 채널들을 포함하는 데이터 구조를 생성하는 단계로서, 각 오디오 채널의 내용은 상기 오디오 데이터의 대응하는 시간 스케일링 과정을 수행한 결과로 생성된 상기 시간-스케일링 오디오 데이터 세트로부터 유도되는 단계를 포함하는 것을 특징으로 하는 방법.
  15. 제14항에 있어서, 상기 데이터 구조를 생성하는 단계는:
    각 시간-스케일링된 오디오 데이터 세트를 복수의 프레임들로 분할하는 단계;
    각 프레임을 개별적으로 압축하여 압축된 프레임들을 생성하는 단계; 및
    상기 압축된 프레임들을 상기 복수의 오디오 채널들에 모으는 단계로서, 각 오디오 채널은 상기 상이한 시간 스케일 인자들 중에서 대응하는 인자를 구비하는 단계를 포함하는 것을 특징으로 하는 방법.
  16. 제15항에 있어서, 상기 분할의 결과로 생성된 모든 프레임들은 상기 오디오 데이터에서의 동일한 양의 시간에 대응하는 것을 특징으로 하는 방법.
  17. 제15항에 있어서, 각 프레임을 개별적으로 압축하는 단계는 복수의 상이한 압축 방법들을 적용하여 각 프레임으로부터 복수의 압축된 프레임들을 생성하는 단계를 포함하는 것을 특징으로 하는 방법.
  18. 제17항에 있어서, 상기 압축된 프레임들을 모으는 단계는 각 오디오 채널에서 상기 오디오 채널의 모든 압축된 프레임들이 동일한 시간 스케일 및 압축 방법을 갖도록 오디오 채널들을 생성하는 것을 특징으로 하는 방법.
  19. 프리젠테이션을 재생하는 방법에 있어서,
    제1 프레임을 소스로부터 네트워크를 경유하여 플레이어로 로딩(loading)하는 단계로서, 상기 제1 프레임은 제1 시간-스케일링 인자에 의한 스케일링 이후의 상기 프리젠테이션의 제1 부분을 나타내고, 상기 제1 오디오 프레임은 상기 제1 오디오 프레임을 상기 제1 시간 스케일링 인자에 의해 스케일링된 것으로 식별하는 제1 채널 인덱스 값을 구비하는 단계;
    상기 제1 오디오 프레임으로부터의 데이터에 기초하여 상기 프리젠테이션의 제1 부분을 재생하는 단계;
    상기 제1 시간 스케일링 인자로부터 제2 시간 스케일링 인자로 재생을 변경하기 위한 요청을 수신하는 단계;
    상기 소스로부터 제2 프레임을 상기 제2 시간-스케일링 인자에 의해 스케일링된 것으로 식별하는 제2 채널 인덱스 값을 구비하는 제2 오디오 프레임을 요청하는 단계; 및
    상기 제1 프레임 이후에 상기 제2 프레임을 재생하여 상기 프리젠테이션의 시간-스케일에서의 실시간 변경을 제공하는 단계를 포함하는 것을 특징으로 하는 방법.
  20. 제19항에 있어서, 상기 제1 프레임은 상기 제1 오디오 프레임이 나타내는 상기 프리젠테이션의 제1 부분을 식별하는 제1 프레임 인덱스 값을 구비하고, 상기 제2 프레임은 상기 제1 오디오 프레임이 나타내는 상기 프리젠테이션의 제2 부분을 식별하는 제2 인덱스 값을 구비하는 것을 특징으로 하는 방법.
  21. 제20항에 있어서, 상기 제2 인덱스 값은 상기 제1 시간 인덱스 값을 바로 뒤따르는 것을 특징으로 하는 방법.
  22. 제19항에 있어서,
    프레임들의 채널 인덱스 값들은 상기 프레임들에 대한 각각의 압축 방법들을 더 나타내고,
    상기 방법은:
    상기 네트워크에서 이용가능한 대역폭을 결정하는 단계; 및
    상기 제2 시간 스케일링 인자를 식별하는 복수의 채널 인덱스 값들로부터 상기 제2 채널 인덱스 값을 선택하는 단계로서, 상기 제2 채널 인덱스는 상기 이용가능한 대역폭에서 가장 높은 오디오 품질을 제공하는 압축 방법을 나타내는 단계를 더 포함하는 것을 특징으로 하는 방법.
  23. 제19항에 있어서,
    프레임들의 채널 인덱스 값들은 상기 프레임들에 대한 각각의 압축 방법들을 더 나타내고,
    상기 방법은:
    상기 네트워크에서 이용가능한 대역폭을 결정하는 단계;
    상기 제2 시간 스케일링 인자를 식별하는 복수의 채널 인덱스 값들로부터제3 채널 인덱스 값을 선택하는 단계로서, 상기 제3 채널 인덱스는 상기 이용가능한 대역폭에서 가장 높은 오디오 품질을 제공하는 압축 방법을 나타내는 단계;
    상기 소스로부터 제3 오디오 프레임을 상기 제2 시간-스케일링 인자에 의해 시간-스케일링된 것으로 식별하는 제3 채널 인덱스 값을 구비하는 제3 오디오 프레임을 요청하는 단계; 및
    상기 제2 프레임 이후에 상기 제3 프레임을 재생하여 상기 프리젠테이션의 시간-스케일에서의 실시간 변경을 제공하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  24. 네트워크를 경유하여 오디오 프리젠테이션을 나타내는 다중-채널 데이터 구조를 구비하는 소스에 접속되는 수신기에서 상기 오디오 프리젠테이션을 재생하는 방법에 있어서,
    상기 네트워크에서 이용가능한 대역폭을 결정하는 단계;
    요망되는 시간-스케일링 인자에 의한 시간-스케일링 이후의 상기 오디오 프리젠테이션을 나타내는 복수의 채널들로부터 상기 다중-채널 데이터 구조의 제1 채널을 선택하는 단계로서, 상기 제1 채널은 상기 이용가능한 대역폭에서 가장 높은 오디오 품질을 제공하는 압축 방법을 이용하여 압축되는 데이터를 포함하는 단계;
    상기 제1 채널로부터 제1 프레임을 수신하는 단계; 및
    상기 제1 프레임을 재생하는 단계를 포함하는 것을 특징으로 하는 방법.
  25. 제24항에 있어서,
    상기 제1 프레임을 수신한 이후에 상기 네트워크에서 이용가능한 대역폭을 결정하는 단계;
    상기 요망되는 시간-스케일링 인자에 의한 시간-스케일링 이후의 상기 오디오 프리젠테이션을 나타내는 복수의 채널들로부터 상기 다중-채널 데이터 구조의 제2 채널을 선택하는 단계로서, 상기 제2 채널은 상기 제1 프레임을 수신한 이후에 이용가능한 대역폭에서 가장 높은 오디오 품질을 제공하는 제2 압축 방법을 이용하여 압축되는 데이터를 포함하는 단계;
    상기 제2 채널로부터 제2 프레임을 수신하는 단계; 및
    상기 제1 프레임을 재생한 이후에 상기 제2 프레임을 재생하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  26. 웹 페이지들의 디스플레이를 제어하는 방법에 있어서,
    일련의 웹 페이지들을 프리젠테이션의 오디오 부분을 나타내는 오디오 데이터의 각각의 인덱스 값들에 할당하는 단계;
    상기 오디오 데이터로부터 생성된 오디오를 재생하는 단계; 및
    상기 재생에 응답하여 상기 오디오 데이터에서 상기 웹 페이지에 할당된 인덱스 값에 도달하는 각 웹 페이지를 디스플레이하는 단계를 포함하는 것을 특징으로 하는 방법.
  27. 제26항에 있어서, 상기 일련의 웹 페이지들을 할당하는 단계는:
    상기 오디오 데이터를 일련의 프레임들로 분할하는 단계;
    상이한 인덱스 값을 상기 프레임들 각각에 할당하는 단계; 및
    각 웹 페이지를 상기 프레임의 인덱스 값에 할당하는 단계를 포함하고, 상기 웹 페이지는 상기 프레임이 재생되는 동안 디스플레이되는 것을 특징으로 하는 방법.
  28. 제26항에 있어서,
    상기 일련의 웹 페이지들을 할당하는 단계는 데이터 구조를 생성하는 단계를 포함하고,
    상기 데이터 구조는:
    함께 상기 오디오 데이터를 구성하는 오디오 프레임들을 포함하는 오디오 채널; 및
    각 웹 페이지에 대해 상기 웹 페이지에 상기 웹 페이지에 대응하는 오디오 프레임을 식별하는 프레임 인덱스 값 및 상기 웹 페이지로의 링크를 포함하는 데이터 채널을 포함하는 것을 특징으로 하는 방법.
  29. 제26항에 있어서, 상기 일련의 웹 페이지들을 각각의 인덱스 값들에 할당하는 단계는 각 웹 페이지를 시작 인덱스 값 및 종료 인덱스 값에 할당하는 단계를 포함하고, 상기 웹 페이지는 상기 시작 인덱스 값 및 상기 종료 인덱스 값간의 인덱스 값들을 구비하는 프레임들의 재생 동안 디스플레이되는 것을 특징으로 하는 방법.
  30. 컴퓨팅 시스템에서 재생하기 위해 프리젠테이션을 제작(authoring)하는 방법에 있어서,
    시간 인덱스 값들을 상기 프리젠테이션을 위한 오디오 데이터에 할당하는 단계;
    소정 범위의 시간 인덱스 값들을 상기 프리젠테이션을 위한 그래픽 데이터에 의해 표현되는 각 이미지에 할당하는 단계; 및
    상기 오디오 데이터 및 상기 그래픽 데이터를 포함하는 파일을 구성하는 단계를 포함하고, 상기 파일은 상기 이미지에 할당된 범위의 시간 인덱스 값들을 할당한 오디오 데이터의 재생 동안 발생하는 각 이미지의 디스플레이를 나타내는 형식을 갖는 것을 특징으로 하는 방법.
  31. 제30항에 있어서, 상기 그래픽 데이터는 네트워크에서 이용가능한 데이터를 식별하는 링크를 포함하고, 상기 링크에 관련된 이미지의 디스플레이는 상기 링크가 식별하는 데이터의 검색을 포함하는 것을 특징으로 하는 방법.
  32. 제31항에 있어서, 상기 링크는 웹 페이지를 식별하고, 상기 링크와 관련된 이미지의 디스플레이는 상기 웹 페이지의 디스플레이를 더 포함하는 것을 특징으로하는 방법.
  33. 제30항에 있어서, 상기 그래픽 데이터는 상기 파일에 내장된 이미지 데이터를 포함하고, 상기 이미지를 디스플레이하는 것은 상기 이미지 데이터가 나타내는 이미지를 디스플레이하는 것을 포함하는 것을 특징으로 하는 방법.
  34. 제30항에 있어서,
    상기 오디오 부분에 시간 인덱스 값들을 할당하는 단계는 상기 오디오 데이터를 복수의 프레임들로 분할하는 단계를 포함하고, 각 프레임은 상기 프레임들의 재생 순서에 따른 시간 인덱스 값을 구비하며;
    상기 파일을 구성하는 단계는 상기 프레임들을 오디오 채널에 모으는 단계를 포함하는 것을 특징으로 하는 방법.
  35. 제34항에 있어서, 상기 그래픽 데이터를 데이터 채널에 모으는 단계를 더 포함하는 것을 특징으로 하는 방법.
  36. 제30항에 있어서, 소정 범위의 시간 인덱스 값들을 상기 이미지들에 할당하는 단계는:
    상기 오디오 데이터의 시간 범위를 나타내는 단계;
    상기 시간 범위에서의 한 포인트를 선택하는 단계; 및
    상기 선택된 포인트에 할당되는 이미지들 중 하나를 선택하는 단계를 포함하는 것을 특징으로 하는 방법.
KR10-2003-7013508A 2001-05-04 2002-05-02 프리젠테이션의 재생 속도 실시간 제어 KR20040005919A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/849,719 2001-05-04
US09/849,719 US7047201B2 (en) 2001-05-04 2001-05-04 Real-time control of playback rates in presentations
PCT/JP2002/004403 WO2002091707A1 (en) 2001-05-04 2002-05-02 Real-time control of playback rates in presentations

Publications (1)

Publication Number Publication Date
KR20040005919A true KR20040005919A (ko) 2004-01-16

Family

ID=25306356

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-7013508A KR20040005919A (ko) 2001-05-04 2002-05-02 프리젠테이션의 재생 속도 실시간 제어

Country Status (7)

Country Link
US (1) US7047201B2 (ko)
EP (1) EP1384367A1 (ko)
JP (1) JP2004530158A (ko)
KR (1) KR20040005919A (ko)
CN (1) CN1507731A (ko)
TW (1) TW556154B (ko)
WO (1) WO2002091707A1 (ko)

Families Citing this family (93)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7683903B2 (en) 2001-12-11 2010-03-23 Enounce, Inc. Management of presentation time in a digital media presentation system with variable rate presentation capability
US20090282444A1 (en) * 2001-12-04 2009-11-12 Vixs Systems, Inc. System and method for managing the presentation of video
US7162414B2 (en) * 2001-12-07 2007-01-09 Intel Corporation Method and apparatus to perform speech recognition over a data channel
US7349941B2 (en) * 2001-12-10 2008-03-25 Intel Corporation Data transfer over a network communication system
US7941037B1 (en) * 2002-08-27 2011-05-10 Nvidia Corporation Audio/video timescale compression system and method
US20040125128A1 (en) * 2002-12-26 2004-07-01 Cheng-Chia Chang Graphical user interface for a slideshow presentation
US7426221B1 (en) * 2003-02-04 2008-09-16 Cisco Technology, Inc. Pitch invariant synchronization of audio playout rates
US7694000B2 (en) * 2003-04-22 2010-04-06 International Business Machines Corporation Context sensitive portlets
US11106425B2 (en) 2003-07-28 2021-08-31 Sonos, Inc. Synchronizing operations among a plurality of independently clocked digital data processing devices
US11650784B2 (en) 2003-07-28 2023-05-16 Sonos, Inc. Adjusting volume levels
US11106424B2 (en) 2003-07-28 2021-08-31 Sonos, Inc. Synchronizing operations among a plurality of independently clocked digital data processing devices
US11294618B2 (en) 2003-07-28 2022-04-05 Sonos, Inc. Media player system
US8086752B2 (en) 2006-11-22 2011-12-27 Sonos, Inc. Systems and methods for synchronizing operations among a plurality of independently clocked digital data processing devices that independently source digital data
US10613817B2 (en) 2003-07-28 2020-04-07 Sonos, Inc. Method and apparatus for displaying a list of tracks scheduled for playback by a synchrony group
US8290603B1 (en) 2004-06-05 2012-10-16 Sonos, Inc. User interfaces for controlling and manipulating groupings in a multi-zone media system
US8234395B2 (en) 2003-07-28 2012-07-31 Sonos, Inc. System and method for synchronizing operations among a plurality of independently clocked digital data processing devices
KR100566215B1 (ko) * 2003-11-24 2006-03-29 삼성전자주식회사 동영상 콘텐트의 북마크 서비스 방법
KR100593989B1 (ko) * 2003-12-22 2006-06-30 삼성전자주식회사 휴대용 단말기의 동영상 표시방법
US7620896B2 (en) * 2004-01-08 2009-11-17 International Business Machines Corporation Intelligent agenda object for showing contextual location within a presentation application
US9374607B2 (en) 2012-06-26 2016-06-21 Sonos, Inc. Media playback system with guest access
US9977561B2 (en) 2004-04-01 2018-05-22 Sonos, Inc. Systems, methods, apparatus, and articles of manufacture to provide guest access
US8032360B2 (en) * 2004-05-13 2011-10-04 Broadcom Corporation System and method for high-quality variable speed playback of audio-visual media
FI116439B (fi) * 2004-06-04 2005-11-15 Nokia Corp Videon ja audion synkronointi
US8326951B1 (en) 2004-06-05 2012-12-04 Sonos, Inc. Establishing a secure wireless network with minimum human intervention
US8868698B2 (en) 2004-06-05 2014-10-21 Sonos, Inc. Establishing a secure wireless network with minimum human intervention
US9330187B2 (en) 2004-06-22 2016-05-03 International Business Machines Corporation Persuasive portlets
KR100773539B1 (ko) * 2004-07-14 2007-11-05 삼성전자주식회사 멀티채널 오디오 데이터 부호화/복호화 방법 및 장치
US8566879B2 (en) * 2004-09-28 2013-10-22 Sony Corporation Method and apparatus for navigating video content
US8261177B2 (en) * 2006-06-16 2012-09-04 Microsoft Corporation Generating media presentations
US7979801B2 (en) * 2006-06-30 2011-07-12 Microsoft Corporation Media presentation driven by meta-data events
US8788080B1 (en) 2006-09-12 2014-07-22 Sonos, Inc. Multi-channel pairing in a media system
US9202509B2 (en) 2006-09-12 2015-12-01 Sonos, Inc. Controlling and grouping in a multi-zone media system
US8483853B1 (en) 2006-09-12 2013-07-09 Sonos, Inc. Controlling and manipulating groupings in a multi-zone media system
US7679637B1 (en) * 2006-10-28 2010-03-16 Jeffrey Alan Kohler Time-shifted web conferencing
US8185815B1 (en) * 2007-06-29 2012-05-22 Ambrosia Software, Inc. Live preview
US9449524B2 (en) * 2010-11-05 2016-09-20 International Business Machines Corporation Dynamic role-based instructional symbiont for software application instructional support
US9076457B1 (en) * 2008-01-15 2015-07-07 Adobe Systems Incorporated Visual representations of audio data
US8745101B2 (en) * 2008-02-11 2014-06-03 Lg Electronics Inc. Terminal and method for identifying contents
US20090273712A1 (en) * 2008-05-01 2009-11-05 Elliott Landy System and method for real-time synchronization of a video resource and different audio resources
US20100040349A1 (en) * 2008-05-01 2010-02-18 Elliott Landy System and method for real-time synchronization of a video resource and different audio resources
US20100042702A1 (en) * 2008-08-13 2010-02-18 Hanses Philip C Bookmarks for Flexible Integrated Access to Published Material
US9282289B2 (en) 2010-12-23 2016-03-08 Citrix Systems, Inc. Systems, methods, and devices for generating a summary document of an online meeting
WO2012088230A1 (en) * 2010-12-23 2012-06-28 Citrix Systems, Inc. Systems, methods and devices for facilitating online meetings
US11429343B2 (en) 2011-01-25 2022-08-30 Sonos, Inc. Stereo playback configuration and control
US11265652B2 (en) 2011-01-25 2022-03-01 Sonos, Inc. Playback device pairing
JP5825937B2 (ja) * 2011-08-31 2015-12-02 キヤノン株式会社 画像処理装置、その制御方法、及びプログラム
US9729115B2 (en) 2012-04-27 2017-08-08 Sonos, Inc. Intelligently increasing the sound level of player
US9185387B2 (en) 2012-07-03 2015-11-10 Gopro, Inc. Image blur based on 3D depth information
CN102867525B (zh) * 2012-09-07 2016-01-13 Tcl集团股份有限公司 一种多路音频处理方法、音频播放终端及音频接收装置
US9008330B2 (en) 2012-09-28 2015-04-14 Sonos, Inc. Crossover frequency adjustments for audio speakers
US9361371B2 (en) * 2013-04-16 2016-06-07 Sonos, Inc. Playlist update in a media playback system
EP3448006B1 (en) * 2013-07-02 2023-03-15 Family Systems, Limited System for improving audio conferencing services
US9226087B2 (en) 2014-02-06 2015-12-29 Sonos, Inc. Audio output balancing during synchronized playback
US9226073B2 (en) 2014-02-06 2015-12-29 Sonos, Inc. Audio output balancing during synchronized playback
US10074013B2 (en) 2014-07-23 2018-09-11 Gopro, Inc. Scene and activity identification in video summary generation
US9685194B2 (en) 2014-07-23 2017-06-20 Gopro, Inc. Voice-based video tagging
KR102319456B1 (ko) * 2014-12-15 2021-10-28 조은형 콘텐츠 재생 방법 및 이를 수행하는 전자 기기
US9734870B2 (en) 2015-01-05 2017-08-15 Gopro, Inc. Media identifier generation for camera-captured media
US9666233B2 (en) * 2015-06-01 2017-05-30 Gopro, Inc. Efficient video frame rendering in compliance with cross-origin resource restrictions
US10248376B2 (en) 2015-06-11 2019-04-02 Sonos, Inc. Multiple groupings in a playback system
US9639560B1 (en) 2015-10-22 2017-05-02 Gopro, Inc. Systems and methods that effectuate transmission of workflow between computing platforms
US9871994B1 (en) 2016-01-19 2018-01-16 Gopro, Inc. Apparatus and methods for providing content context using session metadata
US10078644B1 (en) 2016-01-19 2018-09-18 Gopro, Inc. Apparatus and methods for manipulating multicamera content using content proxy
US9787862B1 (en) 2016-01-19 2017-10-10 Gopro, Inc. Apparatus and methods for generating content proxy
US10129464B1 (en) 2016-02-18 2018-11-13 Gopro, Inc. User interface for creating composite images
US9972066B1 (en) 2016-03-16 2018-05-15 Gopro, Inc. Systems and methods for providing variable image projection for spherical visual content
US10402938B1 (en) 2016-03-31 2019-09-03 Gopro, Inc. Systems and methods for modifying image distortion (curvature) for viewing distance in post capture
US9838730B1 (en) 2016-04-07 2017-12-05 Gopro, Inc. Systems and methods for audio track selection in video editing
US10229719B1 (en) 2016-05-09 2019-03-12 Gopro, Inc. Systems and methods for generating highlights for a video
US9953679B1 (en) 2016-05-24 2018-04-24 Gopro, Inc. Systems and methods for generating a time lapse video
US9922682B1 (en) 2016-06-15 2018-03-20 Gopro, Inc. Systems and methods for organizing video files
US9967515B1 (en) 2016-06-15 2018-05-08 Gopro, Inc. Systems and methods for bidirectional speed ramping
US10045120B2 (en) 2016-06-20 2018-08-07 Gopro, Inc. Associating audio with three-dimensional objects in videos
US10395119B1 (en) 2016-08-10 2019-08-27 Gopro, Inc. Systems and methods for determining activities performed during video capture
JP2018032912A (ja) * 2016-08-22 2018-03-01 株式会社リコー 情報処理装置、情報処理方法、情報処理プログラムおよび情報処理システム
US9953224B1 (en) 2016-08-23 2018-04-24 Gopro, Inc. Systems and methods for generating a video summary
GB201614356D0 (en) 2016-08-23 2016-10-05 Microsoft Technology Licensing Llc Media buffering
CN106469208B (zh) * 2016-08-31 2019-07-16 浙江宇视科技有限公司 一种热度图数据处理方法、热度图数据检索方法及装置
US10268898B1 (en) 2016-09-21 2019-04-23 Gopro, Inc. Systems and methods for determining a sample frame order for analyzing a video via segments
US10282632B1 (en) 2016-09-21 2019-05-07 Gopro, Inc. Systems and methods for determining a sample frame order for analyzing a video
US10397415B1 (en) 2016-09-30 2019-08-27 Gopro, Inc. Systems and methods for automatically transferring audiovisual content
US10044972B1 (en) 2016-09-30 2018-08-07 Gopro, Inc. Systems and methods for automatically transferring audiovisual content
US11106988B2 (en) 2016-10-06 2021-08-31 Gopro, Inc. Systems and methods for determining predicted risk for a flight path of an unmanned aerial vehicle
US10002641B1 (en) 2016-10-17 2018-06-19 Gopro, Inc. Systems and methods for determining highlight segment sets
US10712997B2 (en) 2016-10-17 2020-07-14 Sonos, Inc. Room association based on name
US10339443B1 (en) 2017-02-24 2019-07-02 Gopro, Inc. Systems and methods for processing convolutional neural network operations using textures
US9916863B1 (en) 2017-02-24 2018-03-13 Gopro, Inc. Systems and methods for editing videos based on shakiness measures
US10360663B1 (en) 2017-04-07 2019-07-23 Gopro, Inc. Systems and methods to create a dynamic blur effect in visual content
US10395122B1 (en) 2017-05-12 2019-08-27 Gopro, Inc. Systems and methods for identifying moments in videos
US10614114B1 (en) 2017-07-10 2020-04-07 Gopro, Inc. Systems and methods for creating compilations based on hierarchical clustering
US10402698B1 (en) 2017-07-10 2019-09-03 Gopro, Inc. Systems and methods for identifying interesting moments within videos
CN113707174B (zh) * 2021-08-31 2024-02-09 亿览在线网络技术(北京)有限公司 一种音频驱动的动画特效的生成方法
CN117527771B (zh) * 2024-01-05 2024-03-29 深圳旷世科技有限公司 音频传输方法、装置、存储介质及电子设备

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5546395A (en) 1993-01-08 1996-08-13 Multi-Tech Systems, Inc. Dynamic selection of compression rate for a voice compression algorithm in a voice over data modem
US5583652A (en) * 1994-04-28 1996-12-10 International Business Machines Corporation Synchronized, variable-speed playback of digitally recorded audio and video
EP0702474A1 (en) 1994-09-19 1996-03-20 International Business Machines Corporation Dynamically structured data transfer mechanism in an ATM netowrk
US5923853A (en) 1995-10-24 1999-07-13 Intel Corporation Using different network addresses for different components of a network-based presentation
US5956674A (en) * 1995-12-01 1999-09-21 Digital Theater Systems, Inc. Multi-channel predictive subband audio coder using psychoacoustic adaptive bit allocation in frequency, time and over the multiple channels
US5995091A (en) * 1996-05-10 1999-11-30 Learn2.Com, Inc. System and method for streaming multimedia data
US5996022A (en) 1996-06-03 1999-11-30 Webtv Networks, Inc. Transcoding data in a proxy computer prior to transmitting the audio data to a client
JP3622365B2 (ja) 1996-09-26 2005-02-23 ヤマハ株式会社 音声符号化伝送方式
US6005600A (en) 1996-10-18 1999-12-21 Silcon Graphics, Inc. High-performance player for distributed, time-based media
US5953506A (en) 1996-12-17 1999-09-14 Adaptive Media Technologies Method and apparatus that provides a scalable media delivery system
US5886276A (en) * 1997-01-16 1999-03-23 The Board Of Trustees Of The Leland Stanford Junior University System and method for multiresolution scalable audio signal encoding
US6151632A (en) 1997-03-14 2000-11-21 Microsoft Corporation Method and apparatus for distributed transmission of real-time multimedia information
US5959684A (en) 1997-07-28 1999-09-28 Sony Corporation Method and apparatus for audio-video synchronizing
US6078594A (en) 1997-09-26 2000-06-20 International Business Machines Corporation Protocol and procedure for automated channel change in an MPEG-2 compliant datastream
US5859641A (en) 1997-10-10 1999-01-12 Intervoice Limited Partnership Automatic bandwidth allocation in multimedia scripting tools
US6035336A (en) 1997-10-17 2000-03-07 International Business Machines Corporation Audio ticker system and method for presenting push information including pre-recorded audio
JP3017715B2 (ja) * 1997-10-31 2000-03-13 松下電器産業株式会社 音声再生装置
US6084919A (en) 1998-01-30 2000-07-04 Motorola, Inc. Communication unit having spectral adaptability
US6622171B2 (en) * 1998-09-15 2003-09-16 Microsoft Corporation Multimedia timeline modification in networked client/server systems
US6182031B1 (en) 1998-09-15 2001-01-30 Intel Corp. Scalable audio coding system
US7086077B2 (en) 1999-04-01 2006-08-01 Sedna Patent Services, Llc Service rate change method and apparatus

Also Published As

Publication number Publication date
JP2004530158A (ja) 2004-09-30
TW556154B (en) 2003-10-01
US20020165721A1 (en) 2002-11-07
WO2002091707A1 (en) 2002-11-14
CN1507731A (zh) 2004-06-23
EP1384367A1 (en) 2004-01-28
US7047201B2 (en) 2006-05-16

Similar Documents

Publication Publication Date Title
US7047201B2 (en) Real-time control of playback rates in presentations
US20210247883A1 (en) Digital Media Player Behavioral Parameter Modification
US7941554B2 (en) Sparse caching for streaming media
US8819754B2 (en) Media streaming with enhanced seek operation
US20140052770A1 (en) System and method for managing media content using a dynamic playlist
US20030124502A1 (en) Computer method and apparatus to digitize and simulate the classroom lecturing
CN101582926B (zh) 实现远程媒体播放重定向的方法和系统
EP1653468A2 (en) Content using apparatus, content using method, distribution server apparatus, information distribution method, and recording medium
JP4481304B2 (ja) 異なるデータフォーマットを格納する記憶装置
US8144837B2 (en) Method and system for enhanced user experience of audio
JPWO2019130763A1 (ja) 情報処理装置、情報処理方法およびプログラム
US8185815B1 (en) Live preview
US20030105640A1 (en) Digital audio with parameters for real-time time scaling
WO2009016474A2 (en) System and method for efficiently providing content over a thin client network
KR101238423B1 (ko) 콘텐츠 제작 방법 및 그 시스템
WO2005104125A1 (ja) 記録再生装置、同時記録再生制御方法、および同時記録再生制御プログラム
JP2008172629A (ja) コンテンツ統合サーバ
KR100386036B1 (ko) 티씨피/아이피 네트워크 상에서의 디지털 비디오편집시스템 및 그 제어방법
JP2019121037A (ja) 情報処理装置、情報処理方法およびプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application