[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR20060092235A - 트릭 플레이 성능을 향상시키기 위한 캐시 관리 - Google Patents

트릭 플레이 성능을 향상시키기 위한 캐시 관리 Download PDF

Info

Publication number
KR20060092235A
KR20060092235A KR1020067006251A KR20067006251A KR20060092235A KR 20060092235 A KR20060092235 A KR 20060092235A KR 1020067006251 A KR1020067006251 A KR 1020067006251A KR 20067006251 A KR20067006251 A KR 20067006251A KR 20060092235 A KR20060092235 A KR 20060092235A
Authority
KR
South Korea
Prior art keywords
data
cache memory
data blocks
unit
latest
Prior art date
Application number
KR1020067006251A
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 KR20060092235A publication Critical patent/KR20060092235A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/005Reproducing at a different information rate from the information rate of recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/782Television signal recording using magnetic recording on tape
    • H04N5/783Adaptations for reproducing at a rate different from the recording rate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording
    • H04N5/85Television signal recording using optical recording on discs or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

플레이백 장치 및 연관된 방법이 재생 시스템에서의 사용을 위해 개시되어 있고, 상기 장치는 데이터 소스(1)로부터 판독되는 데이터를 저장하도록 구성된 캐시 메모리와, 상기 장치의 적어도 2개의 플레이 모드들에서 상기 데이터 소스 데이터의 사용의 결정에 기초하여 캐시 메모리(335)로부터 삭제될 상기 데이터의 어떤 것을 식별하도록 구성된 캐시 대체 유닛(341)과, 사용자에게 표현될 캐시 메모리(335)로부터 데이터를 획득하도록 구성된 프리젠테이션 유닛(337)을 포함한다. 상기 플레이백 장치는 캐시 메모리(335)의 최신 콘텐츠들에 기초하여 캐시 메모리(335)에 저장될 데이터 소스(1)로부터 판독될 데이터를 식별하도록 구성된 디스크 제어 유닛(343)을 더 포함한다.
디스크 제어 유닛, 플레이백 장치, 캐시 메모리, 재생 시스템, 프리젠테이션 유닛

Description

트릭 플레이 성능을 향상시키기 위한 캐시 관리{Cache management for improving trick play performance}
본 발명은 비디오 녹화기 및 재생 시스템들, 보다 구체적으로는 광 디스크 플레이백 시스템 및 그에서 향상된 트릭 모드 성능에 관한 것이다.
다음의 기술은 이하 규정되는 전문용어를 사용한다:
MPEG(Motion Picture Experts Group) - 는 디지털 압축된 포맷에서 시청각 정보를 코딩하는데 사용되는 국제 표준의 단체에 주어진 명칭이다. MPEG 표준들은 서로 다른 대역폭 및 품질 조건들을 적합하게 하도록 MPEG-1, MPEG-2, 및 MPEG-4를 포함한다. 예를 들어, MPEG-2는 방송 품질 텔레비전 프로그램들의 저장 및 송신에 특히 적합하다.
프라그먼트 (Fragment) - MPEG 스트림의 일부이다. 전형적으로 MPEG 스트림의 매 15번째 프레임마다 I 프레임으로 인코딩된다. 프라그먼트는 I 프레임으로 규정되거나, 전형적으로 중간적인 정보의 14 프레임들을 갖는 2개의 연속적인 인코딩된 I 프레임들 경계들 사이의 MPEG 스트림의 일부로 규정된다.
도 1은 5개의 프라그먼트들(101 내지 105)을 도시하는 예시적인 MPEG 데이터 스트림을 도시하고 있다. 도시된 바와 같이, 프레임들(I1, I2, 및 I3)은 각각 프라그먼트들(101, 103 및 105)을 나타내고, 프라그먼트들(102, 104)은 I 프레임들에 의해 어느 한쪽 측에 대해 경계가 되는 정보의 14 프레임들로 구성된다. 몇 가지 구현들에서 프라그먼트 경계들이 바이트 포지션들과 정확히 일치하지 않을 것이고, 여기서 I 프레임이 시작 또는 종료되지만, 이러한 바이트가 광 디스크 섹터 경계들과 정렬하도록 포지셔닝(positioning)하기 이전 또는 이후에 얼마간 포지셔닝된다는 것에 주의한다.
도 2는 광 디스크를 플레이 백하는 종래의 광 디스크 재생 시스템을 도시한 고레벨 블록도이다. 광 디스크 재생 시스템(200)은 사용자 인터페이스(2)와, 플레이백 유닛(6)과, 외부 디스플레이(8)를 포함한다. 광 디스크 재생 시스템(200)은 보통의 플레이백 속도보다 더 느리거나 더 빠른 속도들에서 앞 또는 뒤 방향들에 따라 디스크 드라이브(1) 내 삽입되는 광 디스크의 플레이백을 제공한다. 그러한 비표준 속도 플레이백 피쳐들은 트릭 모드들 또는 트릭 플레이(예로써, 고속 포워드, 휴지, 되감기 등)로 본 기술 분야에 공지되어 있다. 플레이백 유닛(6)은 트릭 모드들을 포함하는 다양한 플레이백 피쳐들을 실행하는데 주요한 책임이 있다. 트릭 모드의 일례는 고속 포워드 모드를 획득하기 위해 선택된 프레임들을 건너뛰는 것이다. 트릭 모드의 또 다른 예는 A-B 루프 플레이로 공통으로 언급되는 반복적으로 프레임들의 인접한 시퀀스를 액세싱할 수 있다. 디스크 재생 시스템(200)은 또한 시스템(200)에 대한 사용자 명령어들을 수용하기 위해 사용자 인터페이스 구조 (2)를 갖는다. 사용자 인터페이스 구조는 예를 들어 동작 스위치들 및 버튼들과, 원격 제어기와, 키보드 및 액정 디스플레이 디바이스들 등으로 구성된다.
도 3은 종래 기술에 따른 도 2의 재생 시스템(200)의 플레이백 유닛(6)을 보다 상세히 도시한 블록도이다. 플레이백 유닛(6)은 모든 디스크 관련된 동작들을 제어하는 제어기(10)와, 플레이백이 발생하는 최신 포지션을 유지하도록 상기 제어기에 의해 사용되는 최신 플레이백 포지션 유닛(12)과, 디스플레이(8) 상에 디스플레이하기 위해 프리젠테이션 유닛(16)에 의해 요청될 수 있는 프라그먼트들을 저장하는 FIFO 버퍼(14)를 포함한다. 제어기(10)는 디스크 드라이브(1) 내 광 디스크 상에 저장된 데이터의 (트릭 모드 플레이백을 포함하는) 플레이백을 제어한다. 제어기(10)는 제어기(10)에 '최신 플레이백 포지션' 포인터를 제공하는 최신 플레이백 포지션 유닛(12)에 양방향으로 결합된다. 최신 플레이백 포지션 포인터는 광 디스크로부터 판독될 다음 비디오 프라그먼트를 결정하기 위해 앞뒤로 이동된다.
보통의 '플레이' 모드에서, 포인터는 '점프들' 없이 선형 방식으로 앞으로 이동된다. '고속' 트릭 모드에서 포인터는 소재의 부분들을 건너뛴다. 건너뛰는 거리는 일정하거나(예로서, 고속 포워드에서 60 프레임들과 동일한 매 4번째 I 프레임), 피드백 루프를 통해 제어된다. 디스크 드라이브(1)는 광 디스크 상의 어떠한 위치로부터 어떠한 사이즈의 정보의 프라그먼트를 판독하기 위해 제어기(10)로부터 명령들을 수신한다. 판독되는 프라그먼트들은 외부 디스플레이 디바이스(8) 상에 디스플레이하기 위해 프리젠테이션 유닛(16) 상으로 그 프라그먼트들을 결국 건네주는 FIFO 버퍼(14)로 밀려 들어간다.
도 2 및 도 3의 종래의 광 디스크 재생 시스템(200)은 다음과 같은 다수의 결점들을 경험한다. (1) 서로 다른 트릭 모드들 사이의 효율적인(즉, 고속) 전이들의 실행이 비교적 복잡한 제어기(10)를 필요로 하고, (2) 하나의 모드로부터 또 다른 모드로의 전이들은 저장, 제어, 레이턴시(latency), 및 타이밍에 관련된 문제점들을 나타내고, 모든 그러한 것들은 디자인, 코딩, 디버깅, 및 튜닝 타임을 요구하며, (3) 상기 제어기는 디스크 또는 유사한 저장 매체 상에 완전히 순차적으로 저장되지 않는 데이터 스트림들을 취급하는 어려움을 갖는다. 데이터 스트림 내 '간격(gap)'이 디스크 드라이브에 의해 교차되어야 하는 경우, 이것은 FIFO 버퍼 언더런(FIFO buffer underrun)을 야기할 수 있는 지연들을 나타낼 수 있다. 버퍼 언더런은 디스크 재생 시스템이 재생 프로세스의 지속기간 동안 광 디스크로부터 데이터 스트림을 유지하는데 실패할 때 발생하고(이것은 빈 FIFO 버퍼를 취급할 수 있는 프리젠테이션 유닛을 사용함으로써 또는 보다 복잡한 제어기를 사용함으로써 극복될 수 있다), (4) A-B 루프 플레이의 경우에 있어서, 포인트들(A, B)이 매우 근접하여 함께 있을 때 제어기 복잡도를 추가함으로써 극복될 수 있는 바람직하지 않은 버퍼 언더런들을 초래하지 않으며 다루기에 어려운 상황이 된다.
따라서, 종래 기술의 상술된 결점들을 극복하는 보다 단순한 시스템 디자인에 대한 필요성이 존재한다.
본 발명은 상술된 결점들을 극복하고 광 디스크 재생 시스템에서 사용하기 위한 광 디스크 플레이백 장치를 제공한다.
본 발명의 일 특징에 따라, 복수의 플레이 모드들을 포함하는 재생 시스템에서 사용하기 위한 플레이백 장치는 일 실시예에서 데이터 소스로부터 판독될 데이터를 저장하도록 구성된 캐시 메모리와, 상기 복수의 플레이 모드들 중으로부터 적어도 2개 플레이 모드들에서의 장래 사용 및/또는 상기 저장된 데이터의 현재 결정에 기초하여 상기 캐시 메모리로부터 삭제될 상기 저장된 데이터의 어떠한 것을 식별하도록 구성된 캐시 대체 유닛과, 사용자에게 표현되도록 상기 캐시 메모리로부터 데이터를 검색하기 위해 구성된 프리젠테이션 유닛을 포함한다.
본 발명의 다른 특징에 따라, 재생 시스템에서 트릭 모드 성능을 향상시키는 방법은 데이터 소스로부터 데이터를 판독하는 단계와, 캐시 메모리에 상기 데이터를 저장하는 단계와, 상기 복수의 플레이 모드들 중으로부터 적어도 2개 플레이 모드들에서의 장래 사용 및/또는 상기 저장된 데이터의 현재 결정에 기초하여 상기 캐시 메모리로부터 삭제될 상기 저장된 데이터 중 어떤 것을 식별하는 단계와, 사용자에게 표현되도록 상기 캐시 메모리로부터 데이터를 검색하는 단계를 포함한다.
본 발명의 플레이백 장치는 인접하거나 인접하지 않는 데이터 스트림을 저장할 수 있는 광 디스크로부터 검색되는 데이터를 저장하도록 종래의 FIFO 버퍼 대신에 캐시 메모리를 사용하는 것이 장점이다. 종래의 FIFO 버퍼에 우선하는 장점들은 예측가능하지 않은 트릭 모드 전이를 예상하여 상기 캐시 메모리에서 데이터의 선택을 허용하도록 임의로 어드레스 가능한 상기 캐시 메모리를 제작하는 단계와, 상기 저장된 데이터가 장래 트릭 모드 전이들을 예상하여 상기 캐시에 남아있도록 허용하는 단계를 포함한다.
본 발명의 상술한 특징들은 첨부된 도면들을 참조로 하는 본 발명의 예시적인 실시예들의 다음에 따른 상세한 기술을 통해 명확하게 이해될 것이다.
도 1은 종래 기술에 따른 복수의 프라그먼트들을 포함하는 부분적 MPEG 스트림을 도시한 도면.
도 2는 종래 기술에 따른 광 디스크를 플레이백하는 비디오 디스크 재생 시스템을 도시한 블록도.
도 3은 도 2의 시스템의 플레이백 유닛을 보다 자세히 도시한 도면.
도 4는 본 발명의 일 실시예에 따른 광 디스크를 플레이백하는 비디오 디스크 플레이백 시스템을 도시한 블록도.
도 5는 도 4의 플레이백 유닛을 보다 자세히 도시한 블록도.
다음의 세부적인 기술이 예시적인 목적을 위해 많은 특정한 것들을 포함할지라도, 당업자는 다음의 기술에 따른 많은 변경들 및 대안들이 본 발명의 범위 내에 존재한다는 것을 이해할 것이다. 따라서, 본 발명의 다음의 양호한 실시예는 어떠한 일반성도 상실하지 않고 본 발명을 제한하지 않는 것으로 설명되어 있다.
개시된 시스템들, 방법들, 및 장치가 디스크로부터 멀티미디어 콘텐츠를 플 레이백하는 능력을 갖는 어떠한 디바이스에도 일반적인 응용성을 찾을 수 있는 것으로 고려된다. 본 발명의 플레이백 장치는 그 장치가 적어도 다음의 기준들에 따르는 경우 특히 적용가능하다:
(1) 느린 랜덤 액세스 응답 시간을 갖는 디스크 드라이브 또는 느린 랜덤 액세스 레이턴시를 갖는 어떠한 다른 매체를 사용하는 장치. 예를 들어, 광역 네트워크 링크, 특히 위성을 통해 라우팅될 때;
(2) 콘텐츠가 항상 선형적으로 레이 아웃(lay out)되는 것으로 가정되지 않는 디스크 포맷을 사용하는 장치, 및
(3) 소비자 전자 디바이스와 같은 제한된 메모리 버젯(memory budget)을 갖는 장치(즉, 핸드-헬드 컴퓨터들(hand-held computers), 포켓-사이즈화된 컴퓨터들, 개인용 디지털 보조기들, 이동 전화기들 및 다른 전자 디바이스들).
본 발명의 플레이백 장치는 마이크로프로세서에 의해 실행되는 프로그램 모듈들과 같은 컴퓨터 실행가능한 명령어들의 일반적인 콘텍스트(context)로 기술될 수 있다. 일반적으로, 프로그램 모듈들은 루틴들, 프로그램들, 오브젝트들, 구성요소들, 데이터 구조들 등을 포함한다. 본 명세서에 규정된 컴퓨터 저장 매체는 CD-ROM이나, 디지털 다용도 디스크들(DVD) 또는 다른 광 디스크 저장소나, 원하는 정보를 저장하기 위해 사용될 수 있고 컴퓨터에 의해 액세싱될 수 있는 어떠한 다른 매체를 포함하고, 이들에 제한되지 않는다.
도 4는 본 발명에 따른 디스크 플레이백 시스템(400)의 고레벨 블록도이다. 디스크 플레이백 시스템(400)은 디스크 드라이브(1), 사용자 인터페이스(2), 플레 이백 유닛(6), 및 외부 디스플레이(8)를 포함한다. 플레이백 유닛(6)은 트릭 모드 캐시(31), 캐시 및 디스크 제어 유닛(33) 및 프리젠테이션 유닛(35)으로 구성된다.
도 5는 본 발명의 실시예에 따른 도 4의 디스크 플레이백 시스템(400)을 보다 상세히 도시한 블록도이다. 도 5는 도 4의 디스크 플레이백 시스템(400)의 캐시 및 디스크 제어 유닛(33)을 포함한다. 도시된 바와 같이, 캐시 및 디스크 제어 유닛(33)은 i) 모드 유닛(331), ii) 최신 프라그먼트 포지션 유닛(333), iii) 액세스 예측 유닛(339), iv) 캐시 대체 유닛(341), v) 디스크 제어 유닛(343), vi) 트릭 모드 캐시(335), 및 vii) 프리젠테이션 유닛(337)을 포함한다.
대안적인 실시예들에서 액세스 예측 유닛(339)이 디스크 제어 유닛(343) 및 캐시 대체 유닛(341) 사이에서 분리되어 그 디스크 제어 유닛(343) 및 캐시 대체 유닛(341) 내에서 활용되도록 그것의 기능을 유지하는 동안 물리적으로 제거될 수 있다. 다시 말해서, 디스크 제어 유닛(343) 및 캐시 대체 유닛(341)은 내재된 액세스 예측 기능을 가질 수 있다.
다음의 기술은 시스템(500)을 포함하는 유닛들의 기능적 기술을 제공함으로써 일 실시예에 따라 도 5에 도시된 독창적인 플레이백 시스템(500)의 전체적인 동작을 기술하고 있다.
모드 유닛(331)
모드 유닛(331)은 (라인(42)을 통해) 프리젠테이션 유닛(337) 및 (라인(40)을 통해) 액세스 예측 유닛(339)과 인터페이싱한다.
동작에 있어서, 모드 변경이 라인(44) 상에 사용자 인터페이스(2)로부터 수 신될 때 모드 유닛(331)은 새로운 모드 상태를 저장한다. 일단 저장되면, 모드 유닛(331)은 그에 따라 그것이 동작을 계속해야 하는 곳에 대해 프리젠테이션 유닛(337)에 알리기 위해 어떠한 적용가능한 포인터 포지션 변경들에 관한 정보를 포함하는 라인(42) 상에서 프리젠테이션 유닛(337)에 어떠한 적용가능한 A-B 루프 플레이 정보 및 새로운 모드 상태를 출력한다. 프리젠테이션 유닛(337)은 적용가능한 포인터 포지션 변경들을 최신 프라그먼트 포지션 유닛(333)에 그것들이 존재하는 경우 라인(45) 상에 업데이트된 프라그먼트 포지션 값을 전송함으로써 알린다. 모드 유닛(331)은 또한 라인(40) 상에서 액세스 예측 유닛(335)으로 어떠한 적용가능한 A-B 루프 플레이 정보 및 모드 상태를 출력한다.
일반적으로, 모드 상태는 도 4 및 도 5에 도시된 광 디스크 플레이백 시스템들(400, 500)의 동작들을 사용자가 제어하도록 허용하는 명령어들로 구성된다. 예를 들어, 모드 상태는 다음과 같은 명령들을 포함할 수 있다: 플레이백을 수행하도록 지시하는 "PLAY"; "FF"(고속 포워드), "REW"(고속 되감기), "SLOW"(느린 모션) 등과 같은 트릭 플레이 명령들; 장면 또는 시간에 대해 검색하도록 지시하는 "SEARCH"; 플레이백을 정지하도록 지시하는 "STOP"; 플레이백을 휴지하도록 지시하는 "PAUSE"; 플레이백 모드를 세팅하는 명령 등. 역시 상기 명령들은 상기 언급된 것들에 제한되지 않고 광 플레이백 시스템들(400, 500)을 제어하는 임의적인 명령들로 구성될 수 있다.
대안적인 실시예들에서 모드 유닛(331)의 기능이 하나 또는 그 이상의 다른 유닛들 전체 또는 일부에서 중복 및/또는 복제될 수 있다는 것에 주의한다.
최신 프라그먼트 포지션 유닛(333)
최신 프라그먼트 포지션 유닛(333)은 (라인(48)을 통해) 액세스 예측 유닛(339) 및 (라인(45)을 통해) 프리젠테이션 유닛(337)과 인터페이싱한다. 다양한 유닛들과 상호접속하는 라인들이 단방향, 양방향, 또는 버스 라인들 일 수 있다는 것을 이해해야 한다.
최신 프라그먼트 포지션 유닛(333)은 (1) 양방향 라인(45) 상에 프리젠테이션 유닛(337)에 의해 현재 디스플레이되는 프라그먼트의 포지션을 수신 및 저장하고, (2) (라인(48)을 통해) 액세스 예측 유닛(339)에 최신 프라그먼트 포지션을 출력한다.
프리젠테이션 유닛(337)
프리젠테이션 유닛(337)은 트릭 모드 캐시(335), 라인(45)을 통한 최신 프라그먼트 포지션 유닛(333), 라인(42)을 통한 모드 유닛(331), 및 디스플레이(8)와 인터페이싱한다.
일 특징에서 프리젠테이션 유닛(337)은 "Play" 및 "FF"와 같은 모드들에 의해 요구되는 바에 따라 연속적인 프라그먼트들의 프리젠테이션을 개시하는 타이밍 메커니즘을 포함한다. 내부 타이밍 메커니즘은 최신 프라그먼트 포지션 유닛(333)에 저장된 값을 진전 또는 지체시키기 위해 모드 유닛(331)의 모드 값에 의존한다.
프리젠테이션 유닛(337)은 최신 프라그먼트 포지션 유닛(333)으로부터 라인(45)을 통해 수신된 최신 프라그먼트의 식별을 통해 최신 프라그먼트를 나타내고, 외부 디스플레이(8) 상에 디스플레이하기 위해 양방향 라인(46) 상에서 트릭 모드 캐시(335)로부터 프라그먼트들에 대한 요청들을 만든다.
프라그먼트 포지션이 변경될 때마다, 프리젠테이션 유닛(337)은 트릭 모드 캐시(335)로부터 새로운 프라그먼트를 요청하려고 시도할 것이다.
프리젠테이션 유닛(337)에 의해 만들어진 프라그먼트에 대한 요청이 프라그먼트가 트릭 모드 캐시(335)에 현재 저장되지 않기 때문에 만족될 수 없는 경우에(즉, 캐시 미스), 프리젠테이션 유닛(337)은 가장 최근 디스플레이된 프라그먼트의 마지막 프레임(즉, 프리즈 프레임(freeze frame)) 출력을 계속함으로써 데이터 분실에 대해 보상한다. 캐시 미스의 경우에 있어서, 프라그먼트 포지션 유닛(333)을 앞당기는 내부 타이밍 메커니즘의 기능이 영향받을 수 있다. 예를 들어, 다수의 캐시가 PLAY 모드에서 분실한 후에 타이밍 메커니즘은 디스크 상의 불량한 영역을 건너뛰는 시도로 '30초 앞' 프라그먼트 포지션으로 앞당길 수 있다. 최신 플레이백 포지션의 그러한 경험적 조작들(heuristic manipulations)이 본 기술 분야에 공지되어 있다는 것에 주의한다.
디스크 제어 유닛(343)
디스크 제어 유닛(343)은 라인(54)을 통한 디스크 드라이브(1), 라인들(50, 52)을 통한 액세스 예측 유닛(339), 및 라인(55)을 통한 트릭 모드 캐시와 인터페이싱한다.
디스크 제어 유닛(343)은 명령 라인(54) 상에서 프라그먼트들을 판독하도록 디스크 드라이브(1)에 지시한다. 디스크 제어 유닛(343)은 또한 데이터 라인(52)을 통해 가장 최근에 생성된 프라그먼트 리스트를 전송하도록 명령 라인(50) 상에서 액세스 예측 유닛(339)에 명령한다.
디스크 제어 유닛(343)은 프라그먼트 리스트를 생성 및 전달하도록 액세스 예측 유닛(339)에 명령한다. 액세스 예측 유닛(339)으로부터 프라그먼트 리스트를 수신할 시에, 디스크 제어 유닛(343)은 프라그먼트 리스트로부터 단일한 프라그먼트를 선택하기 위해 프라그먼트 선택 알고리즘을 사용한다. 일단 선택되면, 그 프라그먼트 리스트의 리마인더는 디스크 제어 유닛(343)에 의해 폐기된다.
이하 기술될 접근방식들 중 하나에 따라 프라그먼트 리스트로부터 단일한 프라그먼트를 선택할 시에, 디스크 제어 유닛(343)은 그 후에 디스크 드라이브(1)에 대해 적절한 명령 언어에 따라 하나 또는 그 이상의 명령들을 사용하여 선택된 프라그먼트를 검색하도록 라인(54) 상에서 디스크 드라이브(1)에 지시한다. 이러한 명령들에 응답하여, 디스크 드라이브(1)는 라인(56) 상에서 트릭 모드 캐시(335)로 검색된 프라그먼트를 출력한다.
일 실시예에 따라 디스크 제어 유닛(343)의 프라그먼트 선택 알고리즘에 의해 프라그먼트 리스트로부터 단일한 프라그먼트를 선택하는 프로세스가 이제부터 기술될 것이다.
프라그먼트 선택 알고리즘은 트릭 모드 캐시(335)의 최신 콘텐츠들의 지식을 갖는다. 그것의 콘텐츠들을 이해하여, 상기 알고리즘은 우선적으로 프라그먼트 리스트 {f1, f2, f3, f4, ...}의 콘텐츠들을 재검토하여 트릭 모드 캐시(335)에 이미 존재하는 모든 프라그먼트들을 제거한다. 이러한 프라그먼트들을 제거한 후, 프라 그먼트 선택 알고리즘은 그에 따라 좁혀진 프라그먼트 리스트로부터 단일한 프라그먼트를 선택하기 위해 어떠한 수의 접근방식들을 사용할 수 있다.
단일한 프라그먼트를 선택하는 제 1 접근방식은 좁혀진 리스트의 제 1 프라그먼트를 찾아내는 것이다.
제 2 접근방식은 디스크 드라이브 자리찾기 패턴을 또한 최적화하는 프라그먼트를 선택하기 위해 추가적인 목표를 갖는다. 이러한 제 2 접근방식은 다음과 같이 규정되는 트레이드오프 함수 T에의해 계산되는 가장 낮은 수치 값을 갖는 좁혀진 프라그먼트 리스트로부터 단일한 프라그먼트를 선택한다:
T(리스트의 시작에서 fx의 거리, 최신 디스크 포지션에서 fx의 거리) 방정식[1]
방정식(1)은 프라그먼트 리스트로부터 프라그먼트(fx)에 대해 2개의 계산된 값들을 트레이드 오프하는 트레이트오프 함수(T)를 기술하고 있다. 제 1 계산된 값은 "프라그먼트 리스트의 시작에서 프라그먼트(fx)의 거리"이다. 프라그먼트 리스트의 헤드에 보다 근접한 프라그먼트들은 요청될 가능성이 더 크고, 그러므로 보다 큰 수치 값을 산출한다.
제 2 계산된 값, 즉 "최신 디스크 포지션에서 fx의 거리"는 최신 디스크 드라이브 읽기/쓰기 헤드 포지션에서 프라그먼트(fx)의 거리이다. 거리가 더 가까울수록, 결과적인 값은 더 높다.
트레이드오프 함수(tradeoff function)(T)는 두 값들을 모두 계산하고, 프라그먼트 리스트에서 각각의 요소(fx)에 대한 그 2개의 계산된 값들의 가중된 조합을 리턴한다. 이러한 가중된 조합은 X가 증가되는 경우 및 Y가 증가되는 경우 모두에서 T(X,Y)가 보다 높은 함수 값을 산출하는 것을 의미하는 두 인수들에 따른 증가 함수이다. 적절한 T의 예는 항수 C를 갖는 T(X,Y)=X+C*Y이다. 가중 함수(T)의 정확한 파라미터들(예로써, 항수 C)은 최적 자리찾기 패턴을 생성하기 위한 방식으로 튜닝 또는 결정되며, 디스크 드라이브(1)의 특정 성능 파라미터들로 제시된다.
이전에 언급된 바와 같이, 단일 프라그먼트는 그 후에 트레이트오프 함수 T'에 의해 계산된 가장 낮은 수치 값을 갖는 좁혀진 프라그먼트 리스트로부터 선택된다.
프라그먼트 리스트를 생성할 때 디스크 제어 유닛(343)이 액세스 예측 유닛에 의해 생성된 프라그먼트 리스트를 사용하고 액세스 예측 유닛(339)이 적어도 2개의 플레이 모드들을 고려함에 따라, 그 결과 디스크 제어 유닛이 어느 프라그먼트들을 요청할 것인지 결정할 때 적어도 2개의 플레이 모드들을 고려하는 것이 뒤따른다.
프라그먼트 리스트의 생성이 액세스 예측을 수행하기 위한 한 가지 방식을 나타낸다는 것의 주의한다. 프라그먼트들을 분류하는 다른 표현들이 또한 본 발명의 의도 내에 존재한다.
또 다른 실시예에 따라, 본 발명은 액세스 예측 유닛(339)의 사용을 고려하 지 않는다. 오히려 디스크 제어 유닛(343)은 액세스 예측 유닛(339)의 기능과 결합한다. 구체적으로는, 디스크 제어 유닛(343)은 캐시(335)의 최신 콘텐츠들에 기초하여 데이터 소스(1)로부터 판독될 데이터 블록들을 식별한다. 판독될 데이터 블록들의 식별은 판독될 하나의 후보 데이터 블록을 선택하도록 몇 개의 후보 데이터 블록들에 우선순위를 매기는 우선순위화 제어 메커니즘을 통해 수행될 수 있다. 우선순위화는 캐시 메모리(335)에 현재 존재하지 않는 적어도 2개의 후보 데이터 블록들을 식별하는 단계와, 상기 후보 데이터 블록들에 원하는 특징(desirability figure)을 할당하는 단계와, 가장 높은 원하는 특징을 갖는 데이터 블록을 선택하는 단계를 포함한다. 원하는 특징은 각각의 플레이 모드들의 적어도 비교적인 중요성을 포함하는 기준들에 기초할 수 있고, 이에 제한되지 않는다.
또 다른 실시예에 있어서, 디스크 제어 유닛(343)은 경험적 알고리즘에 기초하여 데이터 소스(1) 상에 저장된 데이터를 예측가능하게 선택하도록 구성된다. 상기 경험적 알고리즘은 데이터가 장래의 시간에 캐시 메모리(335)로부터 요청될 가능성을 예측하고, 그 예측에 기초하여 예측 스코어를 할당하며, 가장 높은 예측 스코어들을 갖는 데이터 소스(1)로부터 데이터를 선택함으로써 상기 데이터 소스로부터 상기 데이터를 선택한다. 경험적 알고리즘은 최신 플레이 모드의 지식과, 최신 프라그먼트 포지션과, 복수의 플레이 모드들에서 프라그먼트 액세스 패턴들의 지식과, 최신 모드가 유지될 확률과, 최신 플레이 모드와는 다른 모드가 선택될 확률을 포함하는 기준들을 고려하고, 이것들에 제한되지 않는다.
트릭 모드 캐시(335)
트릭 모드 캐시(335)는 라인(56)을 통한 디스크 드라이브(1)와, 라인(53)을 통한 캐시 대체 유닛(341)과, 라인(46)을 통한 프리젠테이션 유닛(337)과 인터페이싱한다.
트릭 모드 캐시(335)는 디스크 제어 유닛(343)의 제어 하에 디스크 드라이브(1)로부터 수신된 프라그먼트들을 저장한다. 트릭 모드 캐시(335)에 저장된 프라그먼트들 중 어느 하나는 장래의 시간에 양방향 라인(46) 상에서 프리젠테이션 유닛(337)에 의해 결국 요청될 수 있다.
트릭 모드 캐시(335)의 특징은 그것이 허용가능한 트릭 및/또는 플레이 모드들 중 어느 것으로의 전이를 예상하여 프라그먼트들을 요청하기 위해 프리젠테이션 유닛(337)에 의해 임의로 어드레싱될 수 있다는 것이다. 이러한 능력은 FIFO 버퍼를 활용하는 종래의 플레이백 유닛에서는 사용가능하지 않았다. 대안적인 실시예들에서 트릭 모드 캐시(335)가 디스크 섹터 번호들과 같은 프라그먼트들과는 다른 데이터 세그먼트들을 요청하기 위해 어드레싱될 수 있다는 것에 주의한다.
이러한 실시예에서 트릭 모드 캐시(335) 및 그것의 대응하는 제어 로직의 또 다른 특징은 프리젠테이션 유닛(337)이 디스플레이를 위해 프라그먼트를 요청할 때 검색된 프라그먼트가 트릭 모드 캐시(335)로부터 자동적으로 삭제 또는 제거되지 않는다는 것이다. 이러한 특징은 허용가능한 트릭 및/또는 플레이 모드들 중 어느 것으로의 전이를 예상하여 제공된다.
이러한 실시예에서 트릭 모드 캐시(335) 및 그것의 대응하는 제어 로직의 또 다른 특징은 캐시의 사용자가 그 캐시에 이미 존재하지 않는 데이터의 조각을 요청 할 때만 종래의 캐시가 채워지는 보통의 캐시와는 서로 다른 예측 캐시라는 것이다. 예측 캐시는 장래의 요청들을 예측하려고 시도하는 개별적 메커니즘에 의해 채워진다.
트릭 모드 캐시(335)의 또 다른 특징은 프리젠테이션 유닛(337)이 데이터(예로써, 하나 또는 그 이상의 프라그먼트들)를 요청하는 경우, 그 요청된 데이터가 캐시에서 존재하고 사용가능해야 한다는 것을 보장하기 위해 그 캐시를 둘러싸는 제어 로직 상에 내포된 요구가 존재하지 않는다는 것이다. 이것은 요청된 데이터가 FIFO 버퍼에 존재해야 하는 종래의 FIFO 솔루션들과는 서로 다르다. 요청된 데이터가 캐시에 존재할 때마다, 캐시 미스가 발생하고 프리젠테이션 유닛(337)은 가장 최근에 디스플레이된 프라그먼트의 마지막 프레임(즉, 프리즈 프레임) 출력을 계속할 것이다.
액세스 예측 유닛(339)
액세스 예측 유닛(339)은 (라인(48)을 통해) 최신 프라그먼트 포지션 유닛(333)과, (라인(40)을 통해) 모드 유닛(331)과, (라인(47)을 통해) 캐시 대체 유닛(341)과, (라인들(50, 52)을 통해) 디스크 제어 유닛(343)과 인터페이싱한다.
액세스 예측 유닛(339)은 사용자에 의해 장래에 액세싱될 가능성이 가장 높은 프라그먼트들로 구성된 프라그먼트 리스트를 생성하도록 액세스 예측을 수행한다. 프라그먼트 리스트는 장래에 액세싱될 가능성이 가장 높은 프라그먼트인 f1과 함께 {f1, f2, f3, f4, ....}로 표현될 수 있다.
양호한 실시예에 있어서, 액세스 예측 유닛(339)에 의해 생성되는 프라그먼트 리스트의 길이는 그 리스트에서 프라그먼트들의 수를 표현하는 (F+1)*M 이며, 여기서 F는 트릭 모드 캐시(335)에 적합할 수 있는 프라그먼트들의 추정된 최대 수이다. 이러한 추정은 MPEG-2 스트림 내 프라그먼트들이 저작 품질 고려들에 의해 지시되는 실제 최소 사이즈와 함께 가변적인 사이즈를 가질 수 있기 때문에 필요로 된다. 변수 M은 액세스 예측 유닛에 의한 고려 하에서의 서로 다른 플레이 모드들의 수이다.
다른 실시예들에 있어서, 보다 짧거나 보다 킨 리스트들이 생성될 수 있다는 것을 이해해야 한다. 특히, 보통 더 짧은 가변 사이즈 리스트들은 수신 유닛이 자신의 결정을 내리기 위해 충분한 요소들을 수신했다는 것을 표시하는 액세스 예측 유닛(339)에 그 수신 유닛이 몇 가지 신호를 제공할 때 생성될 수 있다. 이러한 신호의 사용은 특히 액세스 예측 태스크가 디스크 제어 유닛(341) 및/또는 캐시 대체 유닛(343)으로 집적되는 경우 적용가능하다. 그러한 집적되는 경우에 있어서, 리스트 데이터 구조를 전혀 사용하지 않는 실시예 또는 (페치 또는 삭제하기 위해) 예측을 생성하고 프라그먼트들을 선택하는 태스크들을 단일한 알고리즘으로 혼합하는 실시예를 사용하는 것이 가능하다(그리고, 때때로 그러한 실시예들에 사용된 구현 방법에 의존하는 것이 바람직하다).
액세스 예측 유닛(339)은 프리젠테이션 유닛(337)에 의해 장래에 액세싱될 가능성이 가장 높은 그러한 프라그먼트들을 예측하기 위해 예측 알고리즘을 사용한다. 장래에 액세싱될 가능성이 가장 높은 그러한 프라그먼트들의 예측들을 하기 위 해, 프리젠테이션 유닛(337)은 모드 유닛(331) 및 최신 프라그먼트 포지션 유닛(333)으로부터 입력 정보를 수신한다.
종래 기술에 있어서, 액세스 예측은 전형적으로 최신 플레이 모드에 의해 결정된 방향에 따라 최신 프라그먼트 플레이백 포지션으로부터 그 모드의 선형 외삽법(linear extrapolation)으로 수행된다. 프라그먼트들의 리스트가 출력되어 이러한 리스트는 최신 플레이 모드의 선형 외삽법을 표현한다. 반대로, 본 발명의 주요한 특징은 액세스 예측이 최신 플레이 모드를 단순히 설명하는 것이 아니라 사용자가 장래에 스위칭할 수 있는 다른 플레이 모드들을 고려한다는 것이다. 가장 단순한 경우에 있어서, 액세스 예측은 최신 플레이 모드 외에 적어도 하나의 모드를 고려한다. 따라서, 액세스 예측 유닛은 적어도 하나의 다른 모드에 의해 필요로 되는 프라그먼트들 이외에 최신 플레이 모드에 의해 필요로 되는 프라그먼트들을 포함하는 프라그먼트 리스트를 출력한다. 보다 복잡한 구현에 있어서, 하나 또는 그 이상의 추가적인 모드들이 액세스 예측을 수행할 때 고려될 수 있다. 그러므로, 최신 플레이 모드와는 서로 다른 모드들이 장래에 사용자에 의해 선택될 확률 이외에 최신 모드가 유지될 확률을 반영한다는 것을 알 수 있다.
액세스 예측의 결과들이 캐시 대체 유닛 및 디스크 제어 유닛으로 공급된다는 이해와 결합되는 다중 플레이 모드들을 액세스 예측이 고려한다는 사실에 비추어, 이러한 유닛들 모두가 또한 양호한 실시예에서 어느 프라그먼트들을 삭제 또는 요청할 것인지에 대해 그것들을 결정들을 내리기 위해 하나 이상의 모드에서 고려하도록 구성된다는 것을 이해할 수 있다.
액세스 예측 유닛의 상기된 기술이 주요한 원리로 '예측'을 강조하는 반면에, 예측을 강요하지 않고 몇 가지 다른 분류 방법을 사용하는 다른 실시예들이 본 발명의 의도 내에 존재한다. 가장 일반화된 경우에 있어서, 액세스 예측 유닛에 요구되는 모든 것은 그것이 트릭 모드 성능을 최적화하는 효과를 갖는 경험적 알고리즘을 포함한다는 것이다.
대안적인 실시예에 있어서, 액세스 예측 유닛은 캐시 메모리에 갖기 위한 보다 바람직한 프라그먼트들이 더 높은 원하는 특징을 갖는 그러한 방식으로 각각의 프라그먼트에 원하는 특징을 할당하는 '희망 분류 유닛'에 의해 대체될 수 있다. 원하는 특징은 적어도 2개의 후보 프라그먼트들이 사용될 수 있는 적어도 2개의 플레이 모드들 중 비교적 중요한 메트릭과, 최신 플레이백 포지션에서 상기 적어도 2개의 후보 데이터 블록들 사이의 거리를 포함하는 기준들에 기초할 수 있고, 이것들에 제한되지 않는다.
희망 분류 유닛을 활용하는 실시예에 있어서, 출력은 리스트의 앞에 가장 바람직한 프라그먼트를 갖는 프라그먼트 리스트인 것이 바람직하다. 이러한 프라그먼트 리스트가 캐시 대체 유닛 및 디스크 제어 유닛으로 공급되기 때문에, 이러한 유닛들 모두가 또한 (즉, 어느 프라그먼트들을 삭제 또는 요청할 것인지에 대해 그것들이 결정하는데 하나 이상의 모드가 고려되는) 희망 분류 방법론을 사용하도록 구성된다는 것을 이해할 수 있다.
캐시 대체 유닛(341)
캐시 대체 유닛(341)은 (라인(53)을 통해) 트릭 모드 캐시(335)와, (라인 (47)을 통해) 액세스 예측 유닛(339)과, (라인(51)을 통해) 프리젠테이션 유닛(337)과 인터페이싱한다.
캐시 대체 유닛(341)은 프라그먼트 데이터를 판독하기 위해 디스크 제어 유닛(343)으로부터 명령어에 응답하여 저장소가 디스크 드라이브(1)로부터 수신된 프라그먼트 데이터를 저장하도록 필요로 될 때 트릭 모드 캐시(335)로부터 어느 프라그먼트들이 삭제될 것인지를 선택한다. 트릭 모드 캐시(335)로부터 어느 프라그먼트들이 삭제될 것인지에 관한 결정은 액세스 예측 유닛(339)으로부터 검색되는 프라그먼트 리스트 내 각각의 저장된 프라그먼트의 포지션을 고려한다. 순위의 정렬에 있어서, 프라그먼트 리스트 상에 보이지 않는 그러한 저장된 프라그먼트들은 항상 삭제된다. 더 많은 저장소가 이러한 단계 후에 요구되는 경우, 그에 따라 그 리스트 상에 마지막으로 보이는 저장된 프라그먼트들이 삭제된다.
양호한 실시예들의 이전 기술이 본 발명을 제작 또는 사용하기 위한 당업자들에 의해 가능하도록 제공된다는 것에 주의해야 한다. 이러한 실시예들에 따른 다양한 수정들이 독창적인 기능의 사용 없이도 다른 실시예들에서도 또한 가능하다는 것은 당업자들에게 명백할 것이다. 따라서, 본 발명은 본 명세서에의 실시예들에 제한되도록 의도되지 않으며 본 명세서에 개시된 원리들 및 독창적인 특징들과 일치하는 가장 넓은 범위에 따른다.
첨부된 특허청구범위를 해석하는데 있어서,
a) 단어 "포함하는"은 제시된 특허청구범위에 열거된 것들과는 다른 요소들 또는 단계들의 존재를 배제하지 않고;
b) 구성 요소의 단수 표현은 복수의 그러한 요소들의 존재를 배제하지 않고;
c) 특허청구범위에서 어떠한 참조부호들은 그것들의 범위를 제한하지 않고;
d) 몇 가지 "수단"은 동일한 아이템이나, 하드웨어 또는 소프트웨어 구현된 구조나, 기능에 의해 표현될 수 있으며;
e) 개시된 요소들 각각은 하드웨어 부분들(예로써, 이산 전자 회로), 소프트웨어 부분들(예로써, 컴퓨터 프로그래밍), 또는 그의 어떤 조합으로 구성될 수 있다는 것을 이해해야 한다.

Claims (25)

  1. 복수의 플레이 모드들을 포함하는 재생 시스템 내 플레이백 장치(500)에 있어서,
    데이터 소스(1)로부터 판독될 데이터를 저장하도록 구성된 캐시 메모리(335),
    상기 복수의 플레이 모드들 중 적어도 2개의 플레이 모드들에서 상기 저장된 데이터의 현재 및/또는 장래 사용의 결정에 기초하여 상기 캐시 메모리(335)로부터 삭제될 상기 저장된 데이터 중 어떤 것을 식별하도록 구성된 캐시 대체 유닛(341), 및
    사용자에게 표현될 상기 캐시 메모리(335)로부터 데이터를 검색하도록 구성된 프리젠테이션 유닛(337)을 포함하는, 플레이백 장치(500).
  2. 제 1 항에 있어서,
    상기 데이터 소스(1)로부터 판독될 상기 데이터를 식별 및 검색하도록 구성된 디스크 제어 유닛(343)을 더 포함하고, 상기 식별은 상기 캐시 메모리(335) 내 현재 저장된 데이터의 고려를 배제하는, 플레이백 장치(500).
  3. 제 2 항에 있어서,
    상기 식별되고 검색된 데이터는 상기 복수의 플레이 모드들 중 적어도 2개에 서 현재 및/또는 장래 사용에 대해 적절한 데이터인, 플레이백 장치(500).
  4. 제 3 항에 있어서,
    상기 데이터 식별은 상기 캐시 메모리(335)에 현재 존재하지 않는 적어도 2개의 후보 데이터 블록들을 식별하고, 상기 적어도 2개의 식별된 후보 데이터 블록들에 원하는 특징(desirability figure)을 할당하며, 가장 높은 할당된 원하는 특징을 갖는 상기 적어도 2개의 후보 데이터 블록 중 하나를 선택하는 동적 우선순위화 제어 메커니즘을 통해 수행되는, 플레이백 장치(500).
  5. 제 4 항에 있어서,
    상기 할당된 원하는 특징은 상기 적어도 2개의 후보 데이터 블록들이 사용될 수 있는 상기 적어도 2개의 플레이 모드들의 적어도 비교적 중요한 메트릭과, 최신 플레이백 포지션에서 상기 적어도 2개의 후보 데이터 블록들 사이의 거리를 포함하는 기준들에 기초하는, 플레이백 장치(500).
  6. 제 1 항에 있어서,
    경험적 알고리즘(heuristic algorithm)에 기초하여 상기 데이터 소스(1) 상에 저장된 데이터를 예측적으로 선택하도록 구성된 디스크 제어 유닛(343)을 더 포함하고, 상기 예측적으로 선택된 데이터는 상기 캐시 메모리(335)에 현재 저장된 데이터를 배제하는, 플레이백 장치(500).
  7. 제 6 항에 있어서,
    상기 경험적 알고리즘은 상기 데이터가 장래 시간에 상기 캐시 메모리(335)로부터 요청될 가능성을 예측하고, 상기 예측에 기초하여 예측 스코어를 할당하며, 가장 높은 예측 스코어들을 갖는 상기 데이터 소스(1)로부터 상기 데이터를 선택함으로써 상기 데이터 소스(1)로부터 상기 데이터를 선택하는, 플레이백 장치(500).
  8. 제 7 항에 있어서,
    상기 경험적 알고리즘은 상기 최신 플레이 모드의 적어도 하나의 지식과, 최신 플레이백 포지션과, 상기 복수의 플레이 모드들의 각각에서 데이터 액세스 패턴들의 지식과, 최신 모드가 유지될 확률과, 상기 최신 플레이 모드와는 서로 다른 모드가 선택될 확률을 포함하는 기준들을 고려하는, 플레이백 장치(500).
  9. 복수의 플레이 모드들을 포함하는 재생 시스템 내 플레이백 장치(500)에 있어서,
    데이터 소스(1)로부터 판독되는 데이터를 저장하도록 구성된 캐시 메모리(335)로서, 상기 데이터는 복수의 데이터 블록들로 구성되는, 상기 캐시 메모리(335),
    상기 데이터 소스(1)로부터 판독될 상기 복수의 데이터 블록들 중 어떤 것을 식별하도록 구성된 디스크 제어 유닛(343)으로서, 상기 식별은 상기 캐시 메모리 (335)의 최신 콘텐츠들에 기초하는, 상기 디스크 제어 유닛(343),
    상기 캐시 메모리(335)로부터 삭제될 상기 데이터 블록들 중 어떤 것을 식별하도록 구성된 캐시 대체 유닛(341), 및
    디스플레이될 상기 캐시 메모리(335)로부터의 데이터를 획득하도록 구성된 프리젠테이션 유닛(337)을 포함하는, 플레이백 장치(500).
  10. 제 9 항에 있어서,
    상기 디스크 제어 유닛(343)의 제어 하에서 상기 데이터 소스(1)로부터 판독될 상기 복수의 데이터 블록들 중 상기 어떤 것은 상기 복수의 데이터 모드들 중 적어도 2개에서 사용을 위해 적용가능한 후보 데이터 블록들인, 플레이백 장치(500).
  11. 제 10 항에 있어서,
    상기 후보 데이터 블록들의 상기 식별은 동적 우선순위화 제어 메커니즘을 통해 수행되는, 플레이백 장치(500).
  12. 제 11 항에 있어서,
    상기 동적 우선순위화 제어 메커니즘은 상기 캐시 메모리(335)에 현재 존재하지 않는 적어도 2개의 후보 데이터 블록들을 식별하고, 상기 적어도 2개의 후보 데이터 블록들에 원하는 특징을 할당하며, 가장 높은 할당된 원하는 특징을 갖는 상기 적어도 2개의 후보 데이터 블록들 중으로부터 후보 데이터 블록을 선택하도록 구성된, 플레이백 장치(500).
  13. 제 12 항에 있어서,
    상기 할당된 원하는 특징은 상기 적어도 2개의 후보 데이터 블록들이 사용될 수 있는 상기 적어도 2개의 플레이 모드들의 적어도 비교적 중요한 메트릭과, 최신 플레이백 포지션에서 상기 적어도 2개의 후보 데이터 블록들 사이의 거리를 포함하는 기준들에 기초하는, 플레이백 장치(500).
  14. 복수의 플레이 모드들을 포함하는 재생 시스템 내 플레이백 장치(500)에 있어서,
    데이터 소스(1)로부터 판독될 데이터 블록들을 예측적으로 선택하도록 구성된 액세스 예측 유닛(339)으로서, 상기 선택된 데이터는 상기 복수의 플레이 모드들 중으로부터 적어도 2개의 플레이 모드들에서 사용가능한, 상기 액세스 예측 유닛(339),
    상기 데이터 소스로부터 상기 예측적으로 선택된 데이터 블록들을 판독하도록 구성된 디스크 제어 유닛(343),
    상기 데이터 소스(1)로부터 판독되는 상기 예측적으로 선택된 데이터 블록들을 저장하도록 구성된 캐시(335), 및
    사용자에게 표현될 상기 캐시(335)로부터의 데이터 블록들을 요청하도록 구 성된 프리젠테이션 유닛(337)을 포함하는, 플레이백 장치(500).
  15. 제 14 항에 있어서,
    상기 액세스 예측 유닛(339)은 경험적 알고리즘에 따라 프라그먼트들(fragments)을 예측적으로 선택하는, 플레이백 장치(500).
  16. 제 15 항에 있어서,
    상기 경험적 알고리즘은 상기 데이터 소스(1)로부터 판독될 데이터 블록들이 장래에 상기 캐시 메모리(335)로부터 검색될 가능성을 예측하고, 상기 데이터 블록들을 선택하는 단계는 검색될 가장 높은 가능성을 갖는, 플레이백 장치(500).
  17. 제 16 항에 있어서,
    상기 캐시 메모리로부터 삭제될 상기 데이터 블록들 중 어떤 것을 식별하도록 구성된 캐시 대체 유닛을 더 포함하는, 플레이백 장치(500).
  18. 복수의 플레이 모드들을 포함하는 재생 시스템 내 플레이백 장치에서 트릭 모드 성능을 향상시키는 방법에 있어서,
    데이터 소스(1)로부터 데이터를 판독하는 단계,
    캐시 메모리(335)에 상기 데이터를 저장하는 단계,
    상기 복수의 플레이 모드들 중으로부터 적어도 2개의 플레이 모드들에서 상 기 저장된 데이터의 현재 및/또는 장래 사용의 결정에 기초하여 상기 캐시 메모리(335)로부터 삭제될 상기 저장된 데이터의 어떤 것을 식별하는 단계, 및
    디스플레이될 상기 캐시 메모리로(335)부터 데이터를 검색하는 단계를 포함하는, 트릭 모드 성능 향상 방법.
  19. 제 18 항에 있어서,
    상기 데이터 소스(1)로부터 판독되는 상기 데이터를 식별하는 단계로서, 상기 데이터는 상기 캐시 메모리(335)에 현재 저장된 것의 고려를 배제하는, 상기 식별 단계,
    상기 데이터 소스(1)로부터 상기 식별된 데이터를 검색하는 단계, 및
    상기 캐시 메모리(335)에 상기 검색된 데이터를 저장하는 단계를 더 포함하는, 트릭 모드 성능 향상 방법.
  20. 제 19 항에 있어서,
    상기 식별 단계는 상기 복수의 플레이 모드들 중 적어도 2개에서 상기 데이터의 현재 및/또는 장래 사용에 기초하는, 트릭 모드 성능 향상 방법.
  21. 제 20 항에 있어서,
    상기 데이터 식별은,
    상기 캐시 메모리(335)에 현재 존재하지 않는 적어도 2개의 후보 데이터 블 록들을 식별하는 단계,
    상기 적어도 2개의 식별된 후보 데이터 블록들에 원하는 특징을 할당하는 단계, 및
    가장 높은 할당된 원하는 특징을 갖는 상기 적어도 2개의 후보 데이터 블록들 중 하나를 선택하는 단계를 포함하는 동적 우선순위화 제어 메커니즘을 통해 수행되는, 트릭 모드 성능 향상 방법.
  22. 제 20 항에 있어서,
    상기 할당된 원하는 특징은 상기 적어도 2개의 후보 데이터 블록들이 사용될 수 있는 상기 적어도 2개의 플레이 모드들의 적어도 비교적 중요한 메트릭과, 최신 플레이백 포지션에서 상기 적어도 2개의 후보 데이터 블록들 사이의 거리를 포함하는 기준들에 기초하는, 트릭 모드 성능 향상 방법.
  23. 제 18 항에 있어서,
    경험적 알고리즘에 기초하여 상기 데이터 소스(1) 상에 저장된 상기 데이터를 예측적으로 선택하는 단계를 더 포함하며, 상기 예측적으로 선택된 데이터는 상기 캐시 메모리(335)에 현재 저장된 데이터를 배제하는, 트릭 모드 성능 향상 방법.
  24. 제 23 항에 있어서,
    상기 경험적 알고리즘은,
    상기 데이터가 장래에 상기 캐시 메모리(335)로부터 요청될 가능성을 예측하는 단계,
    상기 예측에 기초하여 예측 스코어를 할당하는 단계, 및
    가장 높은 예측 스코어들을 갖는 상기 데이터 소스(1)로부터 상기 데이터를 선택하는 단계에 따라 상기 데이터 소스(1)로부터 상기 데이터를 예측적으로 선택하는, 트릭 모드 성능 향상 방법.
  25. 제 24 항에 있어서,
    상기 경험적 알고리즘은 상기 최신 플레이 모드의 적어도 하나의 지식과, 최신 플레이백 포지션과, 상기 복수의 플레이 모드들의 각각에서 프라그먼트 액세스 패턴들의 지식과, 최신 모드가 유지될 확률과, 상기 최신 플레이 모드와는 서로 다른 모드가 선택될 확률을 포함하는 기준들을 고려하는, 트릭 모드 성능 향상 방법.
KR1020067006251A 2003-09-30 2004-09-28 트릭 플레이 성능을 향상시키기 위한 캐시 관리 KR20060092235A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US50709103P 2003-09-30 2003-09-30
US60/507,091 2003-09-30

Publications (1)

Publication Number Publication Date
KR20060092235A true KR20060092235A (ko) 2006-08-22

Family

ID=34393208

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067006251A KR20060092235A (ko) 2003-09-30 2004-09-28 트릭 플레이 성능을 향상시키기 위한 캐시 관리

Country Status (6)

Country Link
US (1) US20070038811A1 (ko)
EP (1) EP1671326A1 (ko)
JP (1) JP2007511855A (ko)
KR (1) KR20060092235A (ko)
CN (1) CN1860545A (ko)
WO (1) WO2005031737A1 (ko)

Families Citing this family (130)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8645137B2 (en) 2000-03-16 2014-02-04 Apple Inc. Fast, language-independent method for user authentication by voice
US8151259B2 (en) 2006-01-03 2012-04-03 Apple Inc. Remote content updates for portable media devices
US7831199B2 (en) 2006-01-03 2010-11-09 Apple Inc. Media data exchange, transfer or delivery for portable electronic devices
US7724716B2 (en) 2006-06-20 2010-05-25 Apple Inc. Wireless communication system
US20080243918A1 (en) * 2004-03-30 2008-10-02 Koninklijke Philips Electronic, N.V. System and Method For Supporting Improved Trick Mode Performance For Disc Based Multimedia Content
US7536565B2 (en) 2005-01-07 2009-05-19 Apple Inc. Techniques for improved playlist processing on media devices
US8300841B2 (en) 2005-06-03 2012-10-30 Apple Inc. Techniques for presenting sound effects on a portable media player
US7590772B2 (en) 2005-08-22 2009-09-15 Apple Inc. Audio status information for a portable electronic device
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US7930369B2 (en) 2005-10-19 2011-04-19 Apple Inc. Remotely configured media device
US20070096939A1 (en) * 2005-10-27 2007-05-03 Craig Walrath Methods and systems for content distribution using intelligent data management arrangements
US7673238B2 (en) * 2006-01-05 2010-03-02 Apple Inc. Portable media device with video acceleration capabilities
US9137309B2 (en) 2006-05-22 2015-09-15 Apple Inc. Calibration techniques for activity sensing devices
US20070271116A1 (en) 2006-05-22 2007-11-22 Apple Computer, Inc. Integrated media jukebox and physiologic data handling application
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8090130B2 (en) 2006-09-11 2012-01-03 Apple Inc. Highly portable media devices
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
JP5261785B2 (ja) * 2007-10-31 2013-08-14 株式会社日立製作所 コンテンツ配信システム、キャッシュサーバ及びキャッシュ管理サーバ
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
US10496753B2 (en) 2010-01-18 2019-12-03 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
WO2010067118A1 (en) 2008-12-11 2010-06-17 Novauris Technologies Limited Speech recognition involving a mobile device
US20120311585A1 (en) 2011-06-03 2012-12-06 Apple Inc. Organizing task items that represent tasks to perform
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US9431006B2 (en) 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
US10679605B2 (en) 2010-01-18 2020-06-09 Apple Inc. Hands-free list-reading by intelligent automated assistant
US10705794B2 (en) 2010-01-18 2020-07-07 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US10553209B2 (en) 2010-01-18 2020-02-04 Apple Inc. Systems and methods for hands-free notification summaries
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
WO2011089450A2 (en) 2010-01-25 2011-07-28 Andrew Peter Nelson Jerram Apparatuses, methods and systems for a digital conversation management platform
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US10762293B2 (en) 2010-12-22 2020-09-01 Apple Inc. Using parts-of-speech tagging and named entity recognition for spelling correction
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US8994660B2 (en) 2011-08-29 2015-03-31 Apple Inc. Text correction processing
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US9483461B2 (en) 2012-03-06 2016-11-01 Apple Inc. Handling speech synthesis of content for multiple languages
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
US9495129B2 (en) 2012-06-29 2016-11-15 Apple Inc. Device, method, and user interface for voice-activated navigation and browsing of a document
US9576574B2 (en) 2012-09-10 2017-02-21 Apple Inc. Context-sensitive handling of interruptions by intelligent digital assistant
US9547647B2 (en) 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
KR102380145B1 (ko) 2013-02-07 2022-03-29 애플 인크. 디지털 어시스턴트를 위한 음성 트리거
US9368114B2 (en) 2013-03-14 2016-06-14 Apple Inc. Context-sensitive handling of interruptions
WO2014144579A1 (en) 2013-03-15 2014-09-18 Apple Inc. System and method for updating an adaptive speech recognition model
KR101759009B1 (ko) 2013-03-15 2017-07-17 애플 인크. 적어도 부분적인 보이스 커맨드 시스템을 트레이닝시키는 것
WO2014197336A1 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
US9582608B2 (en) 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
DE112014002747T5 (de) 2013-06-09 2016-03-03 Apple Inc. Vorrichtung, Verfahren und grafische Benutzerschnittstelle zum Ermöglichen einer Konversationspersistenz über zwei oder mehr Instanzen eines digitalen Assistenten
KR101809808B1 (ko) 2013-06-13 2017-12-15 애플 인크. 음성 명령에 의해 개시되는 긴급 전화를 걸기 위한 시스템 및 방법
DE112014003653B4 (de) 2013-08-06 2024-04-18 Apple Inc. Automatisch aktivierende intelligente Antworten auf der Grundlage von Aktivitäten von entfernt angeordneten Vorrichtungen
US20150334204A1 (en) * 2014-05-15 2015-11-19 Google Inc. Intelligent auto-caching of media
US9620105B2 (en) 2014-05-15 2017-04-11 Apple Inc. Analyzing audio input for efficient speech and music recognition
US10592095B2 (en) 2014-05-23 2020-03-17 Apple Inc. Instantaneous speaking of content on touch devices
US9502031B2 (en) 2014-05-27 2016-11-22 Apple Inc. Method for supporting dynamic grammars in WFST-based ASR
US9734193B2 (en) 2014-05-30 2017-08-15 Apple Inc. Determining domain salience ranking from ambiguous words in natural speech
US10078631B2 (en) 2014-05-30 2018-09-18 Apple Inc. Entropy-guided text prediction using combined word and character n-gram language models
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US10289433B2 (en) 2014-05-30 2019-05-14 Apple Inc. Domain specific language for encoding assistant dialog
TWI566107B (zh) 2014-05-30 2017-01-11 蘋果公司 用於處理多部分語音命令之方法、非暫時性電腦可讀儲存媒體及電子裝置
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US9760559B2 (en) 2014-05-30 2017-09-12 Apple Inc. Predictive text input
US9785630B2 (en) 2014-05-30 2017-10-10 Apple Inc. Text prediction using combined word N-gram and unigram language models
US9842101B2 (en) 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
US10659851B2 (en) 2014-06-30 2020-05-19 Apple Inc. Real-time digital assistant knowledge updates
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10446141B2 (en) 2014-08-28 2019-10-15 Apple Inc. Automatic speech recognition based on user feedback
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US9606986B2 (en) 2014-09-29 2017-03-28 Apple Inc. Integrated word N-gram and class M-gram language models
US9886432B2 (en) 2014-09-30 2018-02-06 Apple Inc. Parsimonious handling of word inflection via categorical stem + suffix N-gram language models
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US9646609B2 (en) 2014-09-30 2017-05-09 Apple Inc. Caching apparatus for serving phonetic pronunciations
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US10552013B2 (en) 2014-12-02 2020-02-04 Apple Inc. Data detection
US9711141B2 (en) 2014-12-09 2017-07-18 Apple Inc. Disambiguating heteronyms in speech synthesis
US9865280B2 (en) 2015-03-06 2018-01-09 Apple Inc. Structured dictation using intelligent automated assistants
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9899019B2 (en) 2015-03-18 2018-02-20 Apple Inc. Systems and methods for structured stem and suffix language models
US9842105B2 (en) 2015-04-16 2017-12-12 Apple Inc. Parsimonious continuous-space phrase representations for natural language processing
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10127220B2 (en) 2015-06-04 2018-11-13 Apple Inc. Language identification from short strings
US10101822B2 (en) 2015-06-05 2018-10-16 Apple Inc. Language input correction
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US10255907B2 (en) 2015-06-07 2019-04-09 Apple Inc. Automatic accent detection using acoustic models
US10186254B2 (en) 2015-06-07 2019-01-22 Apple Inc. Context-based endpoint detection
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US9697820B2 (en) 2015-09-24 2017-07-04 Apple Inc. Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
DK179588B1 (en) 2016-06-09 2019-02-22 Apple Inc. INTELLIGENT AUTOMATED ASSISTANT IN A HOME ENVIRONMENT
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
DK179049B1 (en) 2016-06-11 2017-09-18 Apple Inc Data driven natural language event detection and classification
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK179343B1 (en) 2016-06-11 2018-05-14 Apple Inc Intelligent task discovery
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
DK201770439A1 (en) 2017-05-11 2018-12-13 Apple Inc. Offline personal assistant
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
DK201770432A1 (en) 2017-05-15 2018-12-21 Apple Inc. Hierarchical belief states for digital assistants
DK179549B1 (en) 2017-05-16 2019-02-12 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
TWI713362B (zh) * 2019-12-17 2020-12-11 瑞昱半導體股份有限公司 多媒體內容播放裝置與多媒體內容播放方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08504283A (ja) * 1992-08-10 1996-05-07 ディジタル・ピクチャーズ,インコーポレイテッド 複数のデータ・ストリームの間で選択を行うシステム、及び方法
GB2270791B (en) * 1992-09-21 1996-07-17 Grass Valley Group Disk-based digital video recorder
JPH07176174A (ja) * 1992-12-25 1995-07-14 Mitsubishi Electric Corp ディスク装置
US6009231A (en) * 1994-09-05 1999-12-28 Sony Corporation Reproduction of information using a ring buffer with read and write pointers separated from each other by substantially half of the total ring buffer capacity
JP3319209B2 (ja) * 1995-02-17 2002-08-26 ソニー株式会社 データ復号化装置
US5870551A (en) * 1996-04-08 1999-02-09 Lucent Technologies Inc. Lookahead buffer replacement method using ratio of clients access order offsets and buffer data block offsets
US6128712A (en) * 1997-01-31 2000-10-03 Macromedia, Inc. Method and apparatus for improving playback of interactive multimedia works
JP3968206B2 (ja) * 2000-04-11 2007-08-29 パイオニア株式会社 再生装置

Also Published As

Publication number Publication date
US20070038811A1 (en) 2007-02-15
JP2007511855A (ja) 2007-05-10
EP1671326A1 (en) 2006-06-21
CN1860545A (zh) 2006-11-08
WO2005031737A1 (en) 2005-04-07

Similar Documents

Publication Publication Date Title
KR20060092235A (ko) 트릭 플레이 성능을 향상시키기 위한 캐시 관리
US20080243918A1 (en) System and Method For Supporting Improved Trick Mode Performance For Disc Based Multimedia Content
JP3396639B2 (ja) 階層記憶装置及び階層記憶制御方法
US8924643B2 (en) System and method for caching multimedia data
US7720349B2 (en) Image processing apparatus, method, and program, and program storage medium
US20060029364A1 (en) Digital video stream trick play
KR20040045893A (ko) 정보 파일을 이용한 트릭 플레이
US20140086564A1 (en) Decoding interdependent frames of a video for display
JP4150340B2 (ja) ユーザ選択可能な可変のトリックモード速度
KR20070028375A (ko) 콘텐츠 재생 장치, 콘텐츠 재생 방법, 콘텐츠 재생 시스템및 그 컴퓨터 프로그램
US20230062704A1 (en) Video decoding method and device enabling improved user interaction with video content
JP4827669B2 (ja) 動画再生方法および装置
KR20080010898A (ko) 콘텐츠 전처리 방법 및 그 방법을 이용하는 콘텐츠 제공장치
EP1842368B1 (en) Video player for digital video server
US7178152B2 (en) Application programming interface for communication between audio/video file system and audio video controller
US20040086262A1 (en) Video data reproducing system and method
KR100606681B1 (ko) 주문형 비디오 시스템(vod)의 서버 데이터 구조와 빨리 보기/빨리 되감아보기 서비스 제공 방법
JP2001155470A (ja) ランダムアクセス可能な記録媒体を用いたデジタル記録再生装置およびデジタルデータの再生方法
JP2013046357A (ja) 画像再生装置、画像再生方法および画像再生プログラム
JP2010074545A (ja) 動画検索装置及び動画検索方法
JP3869389B2 (ja) 映像再生方法、映像再生装置、および映像符号化方法
JP4461875B2 (ja) 映像配信システム及び方法
JPH11298858A (ja) ビデオサーバシステム
JP2003111032A (ja) 動画像復号装置、動画像復号方法及びその方法をコンピュータに実行させるプログラムが記録されている記録媒体
JP2006157731A (ja) データ再生装置、プログラム及び記録媒体

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