KR20070007810A - 디스크 기반 멀티미디어 콘텐츠에 대한 개선된 트릭 모드수행을 지원하는 시스템 및 방법 - Google Patents

디스크 기반 멀티미디어 콘텐츠에 대한 개선된 트릭 모드수행을 지원하는 시스템 및 방법 Download PDF

Info

Publication number
KR20070007810A
KR20070007810A KR1020067020486A KR20067020486A KR20070007810A KR 20070007810 A KR20070007810 A KR 20070007810A KR 1020067020486 A KR1020067020486 A KR 1020067020486A KR 20067020486 A KR20067020486 A KR 20067020486A KR 20070007810 A KR20070007810 A KR 20070007810A
Authority
KR
South Korea
Prior art keywords
modes
ranking
unit
play
data blocks
Prior art date
Application number
KR1020067020486A
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 KR20070007810A publication Critical patent/KR20070007810A/ko

Links

Images

Classifications

    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6024History based prefetching
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers

Abstract

본 발명은 재생 시스템에 사용하기 위한 재생 장치에 관한 것이다. 재생 장치는 데이터 소스(1)로부터 판독될 데이터를 저장하도록 구성된 메모리; 사용자에게 프리젠테이션하기 위하여 상기 메모리로부터 하나 이상의 데이터 블록들을 검색하도록 구성된 프리젠테이션 유닛(340); 상기 메모리의 콘텐츠들을 관리하고 상기 데이터 소스(1)의 동작들을 제어하도록 구성된 제어기(365)를 포함한다. 종래의 엘리먼트들 외에, 상기 제어기는 랭킹 유닛(360) 및 후보 식별자 유닛(355)으로 구성된 액세스 예측 유닛(370)을 더 포함한다. 후보 식별자 유닛(355)은 랭킹 유닛(360)에 의하여 고려하기 위하여 데이터 소스상에 저장된 복수의 데이터 블록들로부터 후보 블록들(적어도 두 개의 데이터 블록들)의 세트를 선택하도록 구성된다. 랭킹 유닛(360)은 데이터 소스에 저장된 복수의 데이터 블록들 중에서 후보 블록들의 세트에 대한 소망성을 랭킹하도록 동작한다. 일 실시예에서, 랭킹 유닛(360)은, (i) 적어도 두 개의 모드에서 미래에 사용될 것으로 예측된 적어도 두 개의 후보 데이터 블록들의 각 블록, 및 (ii) 적어도 두 개의 모드의 상대적 랭킹을 포함하는 기준에 기초하여 소망성 랭킹을 할당한다.
프리젠테이션 유닛, 랭킹 유닛, 후보 식별자 유닛, 디스크 제어 유닛, 메모리 관리 유닛

Description

디스크 기반 멀티미디어 콘텐츠에 대한 개선된 트릭 모드 수행을 지원하는 시스템 및 방법{System and method for supporting improved trick mode performance for disc-based multimedia content}
본 발명은 비디오 레코더 및 재생 시스템들, 특히 광디스크 재생 시스템 및 개선된 트릭-모드 수행에 관한 것이다. 이하의 설명은 이하에서 한정된 방법을 사용한다.
MPEG(동영상 전문가 그룹(Motion Picture Expert Group))은 디지털 압축 포맷으로 오디오-시각 정보를 코딩하기 위하여 사용되는 국제 표준의 패밀리로서 주어진 명칭이다. MPEG 표준들은 다른 대역폭 및 품질 제약들을 적합하게 하기 위하여 MPEG-1, MPEG-2 및 MPEG-4를 포함한다. MPEG-2는 예컨대 방송 품질 텔레비전 프로그램들을 저장 및 전송하는데 특히 적합하다.
프래그먼트(fragment)는 MPEG 스트림의 일부분이다. 일반적으로, MPEG 스트림의 매 15번째 프레임은 I 프레임으로서 인코딩된다. 프래그먼트는 I-프레임 또는 전형적으로 정보의 14개의 프레임들을 가진 두 개의 연속적으로 인코딩된 I 프레임들 경계들사이의 MPEG 스트림의 부분으로서 정의된다.
도 1은 5개의 프래그먼트들(101 내지 105)을 기술하는 전형적인 MPEG 데이터 스트림을 도시한다. 도시된 바와 같이, 프레임들(I1, I2, I3)은 프래그먼트들(101, 103, 105)을 각각 나타내며, 프래그먼트들(102, 104)은 I 프레임들에 의하여 어느 한 측면이 한정된 정보의 14개의 프레임들로 구성된다. 일부 구현들에서, 프래그먼트 경계들은 I-프레임들이 시작하거나 또는 끝나는 바이트 위치들과 정확하게 일치하지 않으나, 광디스크 섹터 경계들과 정렬되도록 상기 바이트 위치들 전 또는 후에 어느 정도 배치된다.
도 2는 광디스크를 재생하기 위하여 광디스크를 재생하는 종래의 광디스크 재생 시스템(200)의 고레벨 블록도이다. 광디스크 재생 시스템(200)은 사용자 인터페이스(2), 재생 유닛(6) 및 외부 디스플레이(8)를 포함한다. 광디스크 재생 시스템(200)은 보통 재생속도보다 느리거나 또는 빠른 속도로 순방향 또는 역방향으로 디스크 드라이브(1)에 삽입되는 광디스크를 재생한다. 이러한 비표준 속도 재생 특징들은 트릭 모드들 또는 트릭 플레이(예컨대, 빨리감기, 중지, 되감기 등)로서 종래에 공지된다. 재생 유닛(6)은 주로 트릭 모드들을 포함하는 다양한 재생 특징들을 실행하는 역할을 한다. 트릭 모드의 예는 고속 순방향 모드를 획득하기 위하여 선택된 프레임들을 스킵한다. 트릭 모드의 다른 예는 보통 A-B 루프 플레이(loop play)로서 언급된 프레임들의 연속 시퀀스를 반복적으로 액세스할 수 있다. 디스크 재생 시스템(200)은 시스템(200)에 대한 사용자 명령들을 수용하기 위하여 사용자 인터페이스 구조(2)를 가진다. 사용자 인터페이스 구조는 스위치들 및 버튼들, 원격 제어기, 키보드 및 액정 디스플레이 장치들 등을 동작시킨다.
도 3은 종래기술에 따른 도 2의 재생 시스템(200)의 재생 유닛(6)에 대한 더 상세한 블록도이다. 재생 유닛(6)은 모든 디스크 관련 동작들을 제어하는 제어기(10), 재생이 발생하는 현재의 위치를 유지하기 위하여 제어기에 의하여 사용되는 현재의 재생 위치 유닛(12), 및 디스플레이(8)상에 디스플레이하는 프리젠테이션 유닛(16)에 의하여 요구될 수 있는 프래그먼트들을 저장하는 FIFO 버퍼(14)를 포함한다. 제어기(10)는 디스크 드라이브(1)상에 저장된 데이터의 재생(트릭 모드 재생을 포함함)을 제어한다. 제어기(10)는 단일 장치 또는 개별 장치들내에 포함될 수 있다. 제어기(10)는 제어기(10)에 현재의 재생 위치 포인터(playback position pointer)를 제공하는 현재의 재생 위치 유닛(12)에 양방향으로 접속된다. 현재의 재생 위치 포인터는 광디스크로부터 판독될 다음 비디오 프래그먼트를 결정하기 위하여 순방향으로 그리고 역방향으로 이동된다.
보통 "플레이" 모드에서, 포인터는 "점프들"없이 선형 방식으로 순방향으로 이동된다. "고속" 트릭 모드에서, 포인터는 자료의 부분들을 스킵한다. 스킵 거리는 일정하거나(예컨대, 빨리감기에서 60 프레임들과 등가인 모든 4번째 I 프레임) 또는 피드백 루프를 통해 제어된다. 디스크 드라이브(1)는 광디스크상의 임의의 위치로부터 임의의 크기의 정보의 프래그먼트를 판독하기 위하여 제어기(10)로부터의 명령들을 수신한다. 판독되는 프래그먼트들은 외부 디스플레이 장치(8)상에 디스플레이하기 위한 프리젠테이션 유닛(16)에 프래그먼트들을 패스하는 FIFO 버퍼(14)에 푸시된다.
도 2 및 도 3의 종래의 광디스크 재생 시스템(200)은 다수의 단점들을 포함하며, 즉 (1) 다른 트릭 모드들간의 효율적인(즉, 고속) 전이들의 실행은 비교적 복잡한 제어기(10)를 필요로하며, (2) 한 모드로부터 다른 모드로의 전이들은 저장, 제어, 대기시간 및 타이밍(이들 모두는 설계, 코딩, 디버깅, 및 동조 시간과 같은 투자를 필요로한다)과 관련된 문제점들을 유발하며, (3) 제어기는 디스크 또는 유사한 저장 매체상에 순차적으로 완전히 저장되지 않는 데이터 스트림들 처리하기가 곤란하다. 만일 데이터 스트림의 "갭"이 디스크 드라이브에 의하여 교차되어야 하면, 이는 FIFO 버퍼 언더런을 유발할 수 있는 지연들을 유발할 수 있다. 버퍼 언더런은 디스크 재생 시스템이 재생 프로세스의 기간동안 광 디스크로부터 데이터 스트림을 유지하지 못할 때 유발되며 (이는 빈 FIFO 버퍼를 처리할 수 있는 프리젠테이션 유닛을 사용하거나 또는 더 복잡한 제어기를 사용함으로써 극복될 수 있다), (4) A-B 루프 플레이의 경우에 포인트들 A 및 B가 매우 근접할 때 부적절한 버퍼 언더런들을 초래하지 않고 조절하기가 곤란한 상황이 되며, 부적절한 버퍼 언더런들은 제어기 복잡성을 추가함으로써 극복될 수 있다.
따라서, 종래의 전술한 단점들을 극복하는 단순화된 시스템 설계에 대한 필요성이 요망된다.
본 발명은 전술한 단점들을 극복하고 광디스크 재생 시스템에 사용하기 위한 광디스크 재생 장치를 제공한다.
본 발명의 양태에 따르면, 복수의 플레이 모드들을 포함하는 재생 시스템에서 사용하기 위한 재생 장치는 데이터 소스로부터 판독될 데이터를 저장하는 캐시 메모리; 복수의 플레이 모드들 중에서 적어도 두 개의 모드들에서 저장된 데이터의 현재 및/또는 미래 사용의 결정에 기초하여 캐시 메모리로부터 제거될 저장된 데이터의 일부를 식별하도록 구성된 캐시 교체 유닛; 및 사용자에게 프리젠테이션되도록 캐시 메모리로부터 데이터를 검색하는 프리젠테이션 유닛을 포함한다.
일 실시예에 따른 본 발명의 시스템은 데이터 소스로부터 판독되고 상기 데이터 소스상의 복수의 데이터 블록들로서 구성되는 데이터를 저장하도록 구성된 메모리; 사용자에게 프리젠테이션하기 위하여 상기 메모리로부터 하나 이상의 데이터 블록들을 검색하도록 구성된 프리젠테이션 유닛; 상기 메모리의 콘텐츠들을 관리하고 상기 데이터 소스의 동작들을 제어하도록 구성된 제어기를 포함하며; 상기 제어기는 상기 복수의 데이트 블록들 중 적어도 두 개의 데이터 블록들의 소망성을 랭킹하도록 동작하는 랭킹 유닛(ranking unit)을 더 포함하며, 상기 소망성 랭킹은 상기 복수의 플레이 모드들 중 적어도 두 개의 모드에서 미래에 사용될 것으로 예측된 적어도 두 개의 데이터 블록들의 각 블록, 및 상기 복수의 플레이 모드들의 적어도 두 개의 모드의 상대적 랭킹을 포함하는 기준에 기초한다.
본 발명의 재생 장치는 연속 또는 비연속 데이터 스트림을 저장할 수 있는 광디스크로부터 검색된 데이터를 저장하는 종래의 FIFO 버퍼 대신에 캐시 메모리를 유리하게 사용한다. 종래의 FIFO 버퍼에 대비한 장점은 비예측가능 트릭 모드 전이의 예상으로 캐시 메모리에서 데이터를 선택하고 미래의 트릭 모드 전이들의 예상으로 캐시에 저장된 데이터가 유지되도록 캐시 메모리를 랜덤하게 어드레싱 가능하게 한다.
본 발명의 전술한 특징들은 첨부 도면들과 관련하여 본 발명의 예시적인 실시예의 이하의 상세한 설명을 참조함으로써 더 용이하게 이해될 것이다.
도 1은 종래 기술에 따른 복수의 프래그먼트들을 포함하는 부분 MPEG 스트림을 기술한 도면.
도 2는 종래 기술에 따라 광디스크를 재생하는 비디오 디스크 재생 시스템을 도시한 블록도.
도 3은 도 2의 시스템의 재생 유닛을 상세히 기술한 도면.
도 4는 본 발명의 일 실시예에 따라 광디스크를 재생하는 비디오 디스크 재생 시스템을 도시한 블록도.
도 5는 도 4의 재생을 상세히 기술한 도면.
이하의 상세한 설명이 설명을 위하여 많은 실시예들을 포함할지라도, 당업자는 이하의 설명에 대한 여러 변형들 및 수정들이 본 발명의 범위내에 있다는 것을 인식할 것이다.
따라서, 본 발명의 이하의 바람직한 실시예는 청구된 발명을 제한하지 않고 기술된다.
기술된 시스템들, 방법들 및 장치들은 디스크로부터 멀티미디어 콘텐츠를 재생하는 능력을 가진 임의의 장치에 적용할 수 있다는 것이 인식되어야 한다. 본 발명의 재생 장치는 장치가 적어도 이하의 기준을 따르는 경우에 특히 적용가능하다.
(1) 장치는 저속 랜덤 액세스 응답시간을 가진 디스크 드라이브 또는 저속 랜덤 액세스 대기시간을 가진 임의의 다른 매체를 사용한다. 예컨대, 광역 네트워크가 특히 위성들을 통해 라우팅될 때 링크된다.
(2) 장치는 콘텐츠가 항상 선형적으로 정렬되는 것으로 가정되는 디스크 포맷을 사용한다.
(3) 장치는 소비자 전자장치(즉, 핸드헬드 컴퓨터들(hand held computer), 포켓형 컴퓨터들, 개인휴대단말들, 이동 전화들 및 다른 전자장치들)와 같은 제한된 메모리 버짓(memory budget)을 가진다.
본 발명의 재생 장치는 마이크로프로세서에 의하여 실행되는 프로그램 모듈들과 같은 컴퓨터-실행가능 명령들과 관련하여 기술될 수 있다. 일반적으로, 프로그램 모듈들은 루틴들, 프로그램들, 객체들, 컴포넌트들, 데이터 구조들 등을 포함한다. 여기에 기술된 컴퓨터 저장 매체는 CD-ROM, 디지털 다방면 디스크들(DVD) 또는 다른 디스크 저장장치, 또는 적정 정보를 저장하기 위하여 사용되고 컴퓨터에 의하여 액세스될 수 있는 임의의 다른 매체를 포함한다(그러나, 이에 제한되지 않음).
낮은 대기시간 트릭 모드 전이들을 지원하는 디스크 재생 시스템이 기술된다. 이하의 실시예들에서, 종래기술에 비하여 본 발명을 구별하는 다수의 특징들이 기술된다.
본 발명의 일 특징은 종래의 캐시와 대조적으로 예측 "트릭 모드" 캐시의 사용이다. 본 발명의 트릭 모드 캐시는 디스크 제어 유닛의 제어하에서 디스크 드라 이브로부터 수신된 프래그먼트들을 저장한다. 예측 캐시는 종래의 캐시가 적어도 최근에 사용된 (LRU) 교체 정책과 같은 캐시 교체 알고리즘을 한정하는 종래의 캐시와 다르다. 대조적으로, 예측 캐시는 미래의 요구들의 예측을 시도하는 개별 메커니즘에 의하여 충전된다. 이러한 메커니즘은 어느 프래그먼트들이 프리젠테이션 유닛에 의하여 미래에 액세스되는지를 예측하기 위하여 랭킹 시스템을 이용하는 액세스 예측 유닛이다. 그러나, 랭킹은 액세스될 프래그먼트들과 관련하여 최상의 가능한 예측을 반드시 반영하지 않을 수 있다. 대신에, 본 발명의 실시예들에 따르면, 왜곡된 랭킹은 비록 모드들이 가장 높은 확률을 가지고 발생하지 않을 수 있을지라도 중료하게 고려되는 특정 플레이 모드들 또는 플레이 모드 전이들을 선호하기 위하여 사용될 수 있다.
관련 양태에서, 종래의 시스템들이 현재의 플레이 모드의 단순한 외삽법의 프로세서에 의하여 예측들을 수행할지라도, 발명자는 요구될 수 있는 미래의 프래그먼트들의 양호한 예측이 현재의 플레이 모드를 고려하지 않으나 미래에 사용자를 스위칭할 수 있는 다른 플레이 모드들을 고려함으로써 가능하다는 것을 인식하였다.
본 발명의 다른 관련된 특징은 미래에 요구될 수 있는 프래그먼트들을 예측할 때 현재의 플레이 모드보다 더 많이 고려된다. 일 실시예에서, 본 발명은 미래의 임의의 시점에서 발생하는 각각의 플레이 모드의 예측된 확률을 고려하는 방식으로 인터리빙될 수 있는 두 개 이상의 플레이 모드들에서 요구될 수 있는 프래그먼트들을 외삽한다.
관련된 양태에서, 본 발명의 액세스 예측 유닛을 기능은 모든 가능한 미래의 프래그먼트 위치들로부터 시작하는 것들을 고려하지 않고 현재의 프래그먼트 위치로부터 시작하는 플레이 모드 외삽들을 고려함으로써 더 실제적인 방식으로 실현될 수 있다.
본 발명의 다른 특징은 디스크 제어 유닛 및 캐시 교체 유닛이 프래그먼트들에 대하여 랭킹 결정들을 수행할 때 동일한 랭킹 결정 프로세스들(즉, 알고리즘들)을 사용한다는 점이다. 이는 이들 두 개의 유닛들이 덜 강하게 결합되는 종래의 기술과 대조적이다. 종래기술에서, 디스크 제어 유닛은 전형적으로 프래그먼트들의 특정 랭킹을 (함축적으로 또는 명백하게) 사용하며, 캐시 교체 유닛은 프래그먼트들의 다른 랭킹을 사용한다. 종래기술의 디스크 제어 및 캐시 교체 유닛들의 비정렬 랭킹 방법들은 모드 스위치들이 관련될 때 전체 시스템 동작을 분석할 때 곤란성을 유발할 수 있다. 대조적으로, 디스크 제어 유닛 및 캐시 교체 유닛들이 결정을 수행할 때 동일한 랭킹 방법을 사용하기 때문에, 전체 시스템 동작의 분석은 트릭 모드 캐시의 콘텐츠들이 가장 높은 랭킹을 가지는 프래그먼트들인 경향을 가지는 가정으로부터 시작할 수 있다. 이는 시스템이 임의의 시간에 단일 모드에 이는 모드 스위치가 수행되는 경우를 분석하며 다른 모드로 간단하게 스위칭하도록 한다. 간단한 분석을 수행함으로써, 설계자는 임의의 재생 품질 기준들이 항상 충족되도록 하면서 사용된 랭킹 기능들을 크게 변동시킬 수 있도록 한다.
도 4는 본 발명의 실시예에 따른 디스크 재생 시스템(400)의 고 레벨 블록도를 기술한다. 디스크 재생 시스템(400)은 디스크 드라이브(1), 사용자 인터페이 스(2), 재생 유닛(6) 및 외부 디스플레이(8)를 포함한다. 재생 유닛(6)은 트릭 모드 캐시(31), 캐시 및 디스크 제어 유닛(33) 및 프리젠테이션 유닛(35)으로 구성된다.
도 5는 본 발명의 실시예에 따른 도 4의 디스크 재생 시스템(400)의 더 상세한 블록도이다. 도 5는 도 4의 디스크 재생 시스템(400)의 캐시 및 디스크 제어 유닛(33)을 포함하는 모듈들을 기술한다.
이하의 설명은 시스템(500)을 포함하는 유닛들의 기능 설명을 제공함으로써 일 실시예에 따라 도 5에 도시된 신규한 재생 시스템(500)의 전체 동작을 기술한다.
트릭 모드 캐시(335)
트릭 모드 캐시(335)는 라인(42)을 통해 디스크 드라이브(1)와 인터페이싱하고, 라인(52)을 통해 메모리 관리 유닛(350)을 인터페이싱하며, 라인(44)을 통해 프리젠테이션 유닛(340)을 인터페이싱하며, 라인(68)을 통해 디스크 제어를 인터페이싱한다.
트린 모드 캐시(335)는 디스크 제어 유닛(345)의 제어하에서 디스크 드라이브(1)로부터 수신된 프래그먼트들을 저장한다. 트릭 모드 캐시(335)에 저장된 프래그먼트들 중 어느 하나는 미래의 시간에 라인(44)을 통해 프리젠테이션 유닛(340)에 의하여 요구될 수 있다.
트릭 모드 캐시(335)의 특징은 허용가능 트릭 및/또는 플레이 모드들 중 일부에서 전이의 예상으로 프래그먼트들을 요구하기 위하여 프리젠테이션 유닛(340) 에 의하여 랜덤하게 어드레싱될 수 있다는 점이다. 이러한 능력은 FIFO 버퍼를 사용하는 종래의 재생 유닛에서 이용가능하지 않다. 대안 실시예들에서 트릭 모드 캐시(335)는 디스크 섹터 번호들과 같은 프래그먼트들과 다른 데이터 세그먼트들을 요구하도록 어드레싱될 수 있다.
트릭 모드 캐시(335)의 다른 특징은 프리젠테이션 유닛(340)이 디스플레이를 위한 프래그먼트를 요구할 때 검색된 프래그먼트가 트릭 모드 캐시(335)로부터 자동적으로 제거되지 않거나 또는 정화되지 않는다는 점이다. 이러한 특징은 허용가능한 트릭 및/또는 플레이 모드들에서 전이의 예상으로 제공된다.
트릭 모드 캐시(335)의 다른 특징은 캐시에 미리 존재하지 않는 데이터의 피스를 캐시의 사용자가 요구할 때 종래의 캐시가 채워지지 않는 종래의 캐시와 다른 예측 캐시이라는 점이다. 대조적으로, 예측 캐시는 미래의 요구들의 예측을 시도하는 개별 메커니즘에 의하여 채워진다.
트릭 모드 캐시(335)의 다른 특징은 프리젠테이션 유닛(340)이 데이터(예컨대, 하나 이상의 프래그먼트들)를 요구하는 경우에 요구된 데이터가 캐시에 제공되어 이용가능하도록 캐시를 둘러싸는 제어 로직에 대한 요건이 존재하지 않는다는 점이다. 이는 요구된 데이터가 FIFO 버퍼에 존재해야 하는 종래의 FIFO 솔루션들과 다르다. 요구된 데이터가 캐시에 제공되지 않을 때마다, 캐시 손실(cache miss)이 발생할 것이며, 프리젠테이션 유닛(340)은 가장 최근에 디스플레이된 프래그먼트(즉, 정지 프레임(freeze frame))의 마지막 프레임을 계속해서 출력할 것이다.
프리젠테이션 유닛(340)
프리젠테이션 유닛(340)은 라인(40)을 통해 사용자 인터페이스(2)와 인터페이싱하고, 라인(44)을 통해 트릭 모드 캐시(335)와 인터페이싱하며, 라인(46)을 통해 디스플레이(8)와 인터페이싱하며, 라인(56)을 통해 랭킹 유닛(360)을 인터페이싱하며, 라인(58)을 통해 후보 식별자 유닛(355)을 인터페이싱한다.
프리젠테이션 유닛(340)은 일 양태에서 "플레이" 및 "FF"와 같은 모드들에 의하여 요구되는 바와 같이 연속 프래그먼트들의 프레젠테이션을 시작하는 타이밍 메커니즘을 포함한다.
프리젠테이션 유닛(340)은 현재의 프래그먼트를 프리젠테이션하며, 외부 디스플레이(8)상에 디스플레이하기 위하여 라인(44)을 통해 트릭 모드 캐시(335)로부터 프래그먼트들을 요구한다.
프래그먼트가 트릭 모드 캐시(335)에 현재 저장되지 않기 때문에(즉, 캐시 손실때문에) 프리젠테이션 유닛(340)에 의하여 수행되는 프래그먼트에 대한 요구가 만족될 수 없는 경우에, 프리젠테이션 유닛(340)은 가장 최근에 디스플레이된 프래그먼트(즉, 정지 프래그먼트)의 마지막 프레임을 계속해서 출력함으로써 손실 데이터(missing data)를 보상한다. 다수의 연속 캐시가 플레이 모드에서 손실한 후에, 타이밍 메커니즘은 디스크상의 불량 영역 위를 점프하기 위하여 '30초 앞서' 프래그먼트 위치를 전진할 수 있다. 현재의 재생 위치의 발견적 조작들은 공지되어 있다는 것에 유의해야 한다.
제어기(365)
제어기(365)는 트릭 모드 캐시(335)의 콘텐츠들을 관리하고 디스크 드라이브(1)가 동작들을 제어하도록 구성된다. 제어기(365)는 3개의 서브-유닛들, 즉 디스크 제어 유닛(345), 메모리 관리 유닛(350), 및 후보 식별자 유닛(355)과 랭킹 유닛(360)으로 구성된 액세스 예측 유닛(370)을 포함한다. 각각은 이하에서 기술될 것이다.
액세스 예측 유닛(370)
액세스 예측 유닛(370)은 랭킹 유닛(360) 및 후보 식별자 유닛(355)으로 구성된다. 각각의 이하에서 기술된다.
랭킹 유닛(360)
랭킹 유닛(360)은 라인(54)을 통해 메모리 관리 유닛(350)과 인터페이싱하고, 라인(56)을 통해 프리젠테이션 유닛(340)과 인터페이싱하며, 라인(64)을 통해 디스크 제어 유닛(345)과 인터페이싱한다.
랭킹 유닛(360)은 디스크 드라이브(1)상에 저장된 전체 프래그먼트들 중에서 적어도 두 개의 프래그먼트들의 소망성을 랭킹한다. 디스크 드라이브(1)상의 프래그먼트들 중 일부는 임의의 시점에서 트랙 모드 캐시(335)에 동시에 저장될 수 있다. 그러나, 프래그먼트가 트릭 모드 캐시(335)에 현재 저장되어 있는지의 여부는 랭킹 유닛(360)의 결정 프로세스들과 관련되지 않는다.
랭킹은 트릭 모드 캐시(335)에 프래그먼트를 페치하거나(fetching) 유지하는 소망성을 측정하는 소망성의 메트릭을 콘텐츠 소스, 즉 디스크 드라이브(1)의 각각의 프래그먼트에 할당하는 단계를 포함한다. 높게 할당된 소망성의 메트릭은 높은 랭킹에 대응한다. 일 실시예에서, 동일한 소망성 메트릭은 디스크 액세스(페칭에 대한 결정들) 및 캐시 교체(캐시에서 프래그먼트를 유지하거나 제거하는 것에 대한 결정들)을 위하여 사용된다. 다른 실시예들은 프래그먼트들을 페치하고 유지하는 다른 소망성 메트릭들을 사용하도록 선택될 수 있다.
일 실시예에서, 소망성 메트릭은 두 개의 고려사항들에 기초하여 유도된다. 소망성을 유도하는 제 1 고려사항은 프래그먼트가 임의의 미래의 시점에 프리젠테이션 유닛(340)에 의하여 페치되는 확률과 관련된다. 미래의 시점에 프래그먼트가 페치되는 가능성이 높을 수록, 프래그먼트가 더 바람직하다. 제 2 고려사항은 프래그먼트가 미래에 페치되는 시간에 관한 것이다. 현재 시간에 근접하게 페치된 프래그먼트는 미래에 페치되는 프래그먼트보다 더 바람직하게 고려된다.
제 1 고려사항, 즉, 미래에 페치된 프래그먼트의 확률은 다음과 같이 확률 함수로서 표현될 수 있다.
pf(f)=프래그먼트 f가 프리젠테이션 메커니즘에 의하여 요구되는 확률 (1)
수식(1)의 확률 함수는 제 2 고려사항, 즉 다음과 같이 시간을 통합할 수 있다.
pf(t,f)=프래그먼트 f가 시간 t에서 프리젠테이션 메커니즘에 의하여 미래의 시간에 요구되는 확률 (2)
수식(2)을 사용하면, 소망성은 다음과 같이 표현될 수 있다.
Figure 112006071671585-PCT00001
(3)
여기서, w(t)는 제 1 고려사항, 즉, 시간을 고려하는 시간-기반 가중 함수이다. 시간-기반 가중 함수 w(t)의 값은 t가 미래에 추가되는 경우에 낮다. 예시적인 가중 함수는 다음과 같다:
Figure 112006071671585-PCT00002
(4)
실제 구현에서는 수식(2)의 소망성 메트릭을 근사화하는 것이 바람직하다.
종래기술에서 현재의 플레이 모드가 외삽되는 앞의 논의를 상기하라. 현재의 플레이 모드의 외삽(extrapolation)은 근사화 함수 d1(f)로서 공식화될 수 있다:
Figure 112006071671585-PCT00003
(5)
여기서:
Figure 112006071671585-PCT00004
M은 현재의 동작 플레이 모드를 나타낸다.
Figure 112006071671585-PCT00005
pf(m,t,f)는 프래그먼트 f가 플레이 모드 m에서 시간 t에 프리젠테이션 메커니즘에 의하여 미래의 시간에서 요구되는 확률을 나타내며, 여기서 플레이 모드 "m"에서 동작하는 동안 현재의 재생 위치로부터 외삽하는 경우에 pf(m,t,f)=1이며, 프래그먼트 "f"는 시간 t에서 프리젠테이션 메커니즘에 의하여 평가되며, 그렇지 않은 경우에 pf(m,t,f)=0이다.
함수 pf(m,t,f)는 구현하기에 용이한 계산을 나타낸다는 것에 유의해야 하 며, 즉 0 또는 1의 값은 현재의 플레이 모드의 단순한 외삽값이다.
본 실시예의 랭킹 알고리즘은 다중 모드들을 고려함으로써 종래의 근사화 d1(f)를 개선한다. 결과적인 근사화 d2(f)는 다음과 같이 정의될 수 있다:
Figure 112006071671585-PCT00006
(6)
여기서:
Figure 112006071671585-PCT00007
MODES는 모든 플레이 모드들의 세트이다.
Figure 112006071671585-PCT00008
pm(m,t)는 두 개의 파라미터, 즉 모드 식별자 m 및 시간 t의 확률함수이다. 확률 함수는 시스템이 시간 t에서 재생모드 m에 있을 확률을 결정한다.
Figure 112006071671585-PCT00009
pf(m,t,f) 함수는 앞서 정의된 바와 같다.
Figure 112006071671585-PCT00010
w(t)는 앞서 정의된 바와 같다.
수식(6)은 본 발명의 원리들에 따른 랭킹 알고리즘을 구현하는 근사 함수를 기술한다.
일 실시예에서, pm(m,t)의 값은 테이블 룩업을 사용하여 계산된다. 예로서, 장치가 이하의 플레이 모드들을 포함한다고 가정한다:
Figure 112006071671585-PCT00011
플레이
Figure 112006071671585-PCT00012
FF4(4배속 빨리감기)
Figure 112006071671585-PCT00013
FF16(16배속 빨리감기)
Figure 112006071671585-PCT00014
FR4(4배속 되감기)
Figure 112006071671585-PCT00015
FR16(16배속 되감기)
앞서 기술된 바와 같이 장치가 미래의 시간 t에서 임의의 플레이 모드 "m"에 있을 확률을 pm(m,t)의 함수 값들이 반영한다는 것을 상기하라. pm(m,t)를 계산하기 위하여, 스텝들의 수가 수행된다. 일 실시예에서, 테이블 룩업은 근접한 미래에 동작될 장치에서 가장 가능한 4개의 플레이 모드들을 결정하기 위하여 사용된다. 플레이 모드들은 확률 스코어에 기초하여 감소 순서로 랭킹된다. 현재의 플레이 모드가 근접한 미래에 동작할 장치에서 가장 가능한 플레이 모드라는 것을 가정한다. 현재의 플레이 모드가 모드 A인 것을 가정한다. 요구된 것은 어느 플레이 모드(예컨대, FF16, FF4, FR4 등이 B, C 및 D와 연관되는지를 결정하는 것이며, 여기서 B는 가장 스위칭될 것 같은 플레이 모드이며, 플레이 모드 C는 다음으로 스위칭될 것 같은 플레이 모드이며, 플레이 모드 D는 그 다음으로 스위칭될 것 같은 플레이 모드이다.
현재의 플레이 모드 A를 아는 것과는 별도로, 사용자가 마지막 5초에 다른 플레이 모드로 스위칭되는지의 여부를 안다고 가정한다. 이러한 정보를 사용하면, 테이블 1의 제 2 두 개의 열들은 모드가 마지막 5초에서 스위칭되는지의 여부에 따라 현재의 플레이 모드 및 예/아니오 정보를 매칭시키는 특정 행을 발견하기 위하여 사용된다. 예컨대, 만일 A가 현재의 모드 "플레이"이고 사용자가 마지막 5초에 모드들을 스위칭하지 않은 경우에, 테이블 1의 제 2행이 선택된다. 그 다음에, 제 2행은 B, C, D(예컨대, B=FF4, C=FF16, D=FR16)에 대한 플레이 모드값들을 결정하기 위하여 사용된다.
Figure 112006071671585-PCT00016
앞서 얻어진 A, B, C 및 D의 값을 사용하면, 함수 pm(m,t)는 다음과 같이 계산된다.
Figure 112006071671585-PCT00017
(7)
앞서 언급된 바와 같이, 플레이 모드 A는 장치에 대한 가장 가능한 미래의 플레이 모드이다. 마찬가지로, 수식(7)은 이러한 모드에 1.00의 확률 메트릭을 할당한다. 모드 B에서, 메트릭은 낮으며, 즉 0.50이며, 이는 미래의 모드에서 동작할 가능성이 낮다는 것을 지시한다. 확률 함수 pm(m,t)는 두 개의 변수, 즉 m 및 t의 확률 함수이나, 본 실시예에서 시간 변수 t는 계산시 고려되지 않는다. 테이블 I의 테이블 값들은 셋업 또는 사전 구성 스테이지 동안 할당될 수 있다. 테이블 값들은 임의의 환경들하에서 플레이 모드를 선택할 때 사용자의 가능한 행위를 고려함으로써 한 방식으로 할당될 수 있다. 대안 방법은 실제 사용자들의 행위를 연구하며 이러한 연구의 (통계적) 결과들을 사용하여 테이블 값들을 결정한다.
앞의 단계 2, 즉 테이블 룩업은 두 개의 기준, 즉 (1) 현재 플레이 모드(열 2) 및 (2) 플레이 모드가 최근에 변경되었는지의 여부에 대한 정보(행 1)에 기초한다. 대안 실시예들이 추가 또는 다른 룩업 기준(다른 테이블과 결합된)을 사용할 수 있다는 것에 유의해야 한다. 예컨대, 현재의 모드 및 과거 모드의 식별자 둘다가 사용될 수 있다.
본 발명은 캐시 손실의 경우에 정지-프레임을 사용함으로써 양호한 방식으로 캐시 손실들을 처리할 수 있는 프리젠테이션 메커니즘과 트릭 모드 캐시를 결합한다. 이러한 특징은 캐시 손실이 결코 발생하지 않는 설계 기준에 의하여 랭킹 유닛이 강제되지 않기 때문에 랭킹 유닛(및 여기에서 사용되는 테이블)에서 융통성을 부여할 수 있다. 이러한 융통성은 사용자의 특별한 요구에 맞게 장치의 기능을 조정하는 목표로 랭킹 유닛(예컨대, 테이블을 수정함으로써)에 의하여 수행되는 랭킹 계산들을 수정하는 실시예들에 의하여 유리하게 이용될 수 있다.
랭킹 계산을 변경하기 위한 하나의 가능한 실시예는 장치가 동작중인 동안 테이블을 업데이트하는 것에 관한 것이다. 특히, 사용자의 행위가 측정되고 테이블이 업데이트되어, 테이블은 측정된 사용자 행위를 더 근접하게 매칭시킨다.
랭킹 계산을 수정하기 위한 다른 가능한 실시예는 사용자로 하여금 구성 메커니즘(예컨대, 온-스크린 메뉴)을 통해 테이블을 변경시키도록 한다. 사용자는 테이블 콘텐츠들의 대안 버전들을 선택할 수 있거나, 개별 테이블 엔트리들을 편집할 수 있다.
특정 예로서, 'FR16'을 자주 사용하나 'FR4' 모드를 덜 자주 사용하는 사용자는 m=FR4에 대하여 전체 낮은 함수값 pm(m,t)를 생성하기 위하여 테이블을 수정할 수 있다. 이러한 변경은 예컨대 테이블에서 FR4 엔트리들을 삭제하고 이들을 FR16 엔트리들로 대체함으로써 구현될 수 있다. 이는 FR4 모드에서 유용하나 FR 16 모드에서 유용하지 않는 프래그먼트들이 낮은 랭킹을 가지고 이에 따라 트릭 모드 캐시에서 판독되거나 또는 유지될 낮은 확률을 가지는 상황을 유발한다. 이는 FR16 모드의 프래그먼트를 위하여 더 큰 캐시 용량이 존재한다는 것을 의미한다. 트릭 모드 캐시에서 FR16 모드에 대한 더 많은 프래그먼트들을 가짐으로써, 모드가 스위칭될 때 사용자에 의하여 인식되는 재생 품질은 개선된다. 프리젠테이션 유닛을 위하여 선택된 구현에 따르면, 스위치는 a) 고속으로 이루어지거나, 또는 b) 필요한 프래그먼트가 (아직) 캐시에 존재하지 않기 때문에 적은 정지 프레임 상황들을 수반하거나, c) a) 및 b)의 결합이 일어날 것이다.
후보 식별자 유닛(355)
후보 식별자 유닛(335)은 라인(50)을 통해 디스크 제어 유닛(345)과 인터페이싱하고 라인(58)을 통해 프리젠테이션 유닛(340)과 인터페이싱한다.
디스크 제어 유닛(345)은 프래그먼트가 디스크로부터 판독되어야 하는지를 결정하기 위하여 하나의 입력으로서 랭킹 유닛(360)에 의하여 결정되는 디스크 드라이브(1)의 프래그먼트들의 랭킹을 사용한다. 과도하게 큰 전체 프래그먼트들이 디스크 드라이브(1)에 저장되면, 랭킹 유닛이 이러한 상황을 고려하는 것이 용이하지 않다. 실제 해법으로서, 미래에 디스크 제어 유닛(345)에 의하여 액세스하는 후보 프래그먼트들로서 고려하는 프래그먼트들의 부세트를 식별한다. 일 실시예에서, 후보 식별자 유닛(355)은 미래에 액세스하기 위한 후보 프래그먼트들로서 고려하는 프래그먼트들의 부세트를 식별한다. 일단 후보 프래그먼트들이 후보 식별자 유닛(355)에 의하여 식별되면, 랭킹 유닛(360)은 각각의 할당된 소망성 메트릭들에 기초하여 후보 프래그먼트들을 랭킹한다.
더 많은 개별적인 예를 제공하기 위하여, 일 실시예에서, 후보 식별자 유닛은 각각의 플레이 모드에 대하여 10 프래그먼트 식별자들의 세트를 계산하고, 랭킹 유닛(360)에 의하여 고려하는 후보 프래그먼트들의 세트로서 모든 세트들을 전송할 것이다. 특정 모드동안 10 프래그먼트 식별자들을 계산하기 위하여, 프리젠테이션 유닛이 프리젠테이션 유닛의 현재 프래그먼트 위치로부터 시작하는 모드에 있는 경우에 프리젠테이션 유닛의 판독 동작들은 외삽된다.
메모리 관리 유닛(350)
메모리 관리 유닛(350)은 라인(52)을 통해 트릭 모드 캐시(335)와 인터페이싱하고 라인(54)을 통해 랭킹 유닛과 인터페이싱한다.
메모리 관리 유닛(350)은 프래그먼트 데이터를 판독하기 위하여 디스크 제어 유닛(345)으로부터의 명령에 응답하여 디스크 드라이브(1)로부터 수신된 프래그먼트 데이터를 저장장치가 저장할 필요성이 있을 때 트릭 모드 캐시(335)로부터 제거할 프래그먼트가 선택한다. 어느 프래그먼트들이 트릭 모드 캐시(335)로부터 제거되어야 하는지에 대한 결정은 랭킹 유닛(360)에 의하여 결정되는 바와 같이 트릭 모드 캐시(335)에 현재 저장된 각각의 프래그먼트의 상대적인 소망성을 고려한다. 낮은 소망성을 가진 프래그먼트가 제거된다. 만일 가장 낮은 소망성 프래그먼트를 제거한 후에 더 많은 저장용량을 요구하면, 제 2의 낮은 소망성을 가진 프래그먼트가 제거되며, 이는 트릭 모드 캐시(335)에 충분한 자유 공간이 존재할 때까지 이루어진다.
디스크 제어 유닛(345)
디스크 제어 유닛(345)은 라인(48)을 통해 디스크 드라이브(1)과 인터페이싱하고, 라인(50)을 통해 후보 식별자 유닛(355)과 인터페이싱하며, 라인(68)을 통해 트릭 모드 캐시와 인터페이싱하며 라인(64)을 통해 랭킹 유닛(360)과 인터페이싱한다.
이하에 기술될 방법들 중 하나에 따라 디스크 드라이브(1)로부터 하나 이상의 프래그먼트들을 선택할 때, 그 후 디스크 제어 유닛(345)은 디스크 드라이브(1)에 적합한 명령 언어의 하나 이상의 명령들을 사용하여 하나 이상의 선택된 프래그먼트들을 검색하도록 라인(48)을 통해 디스크 드라이브(1)에 명령한다. 이들 명령들에 응답하여, 디스크 드라이브(1)는 검색된 프래그먼트(들)을 라인(56)을 통해 트릭 모드 캐시(335)에 출력한다.
디스크 드라이브로부터 프래그먼트들을 선택하기 위하여 디스크 제어 유닛(345)에 대한 한 방법은 다음과 같다. 액세스 예측 유닛(370)의 부분인 후보 식별자 유닛(355)은 미래에 액세스될 후보 프래그먼트들로서 고려하기 위하여 디스크 드라이브(1)상에서 임의의 수의 프래그먼트들을 식별한다. 일단 후보 프래그먼트들이 후보 식별자 유닛(355)에 의하여 식별되면, 랭킹 유닛(360)은 각각의 프래그먼트의 계산된 소망성 메트릭에 따라 식별된 프래그먼트들을 랭킹한다. 일 실시예에서 후보 프래그먼트들의 랭킹된 세트는 리스트로서 구현되며, 이러한 리스트는 액세스 예측 유닛(370)으로부터 출력되어 디스크 제어 유닛(345)에 전송되는 '프래그먼트 리스트'로서 언급된다. 리스트는 소망성의 순서로 프래그먼트들을 포함하며, 가장 바람직한 프래그먼트가 먼저 리스트된다. 그 다음에, 디스크 제어 유닛(345)은 디스크 드라이브(1)로부터 판독되는 '프래그먼트 리스트'로부터 단일 프래그먼트를 선택하는 프래그먼트 선택 알고리즘을 이용한다.
그 다음에, 디스크 제어 유닛(345)은 디스크 드라이브(1)에 적합한 명령 언어로 하나 이상의 명령들을 사용하여 선택된 프래그먼트가 검색하도록 라인(48)을 통해 디스크 드라이브(1)에 명령한다. 이들 명령들에 응답하여, 디스크 드라이브(1)는 검색된 프래그먼트를 라인(42)을 통해 트릭 모드 캐시(335)에 출력한다.
일 실시예에 따라 디스크 제어 유닛(343)에 의하여 구현되는 프래그먼트 선택 알고리즘에 따라 프래그먼트 리스트로부터 단일 프래그먼트를 선택하는 프로세스가 지금 기술된다.
프래그먼트 선택 알고리즘은 트릭 모드 캐시(335)의 현재 콘텐츠의 지식을 가진다. 이러한 콘텐츠들을 알 때, 알고리즘은 프래그먼트 리스트{f1, f2, f3, f4)의 콘텐츠를 검토하며 트릭 모드 캐시(335)에 이미 존재하는 모든 프래그먼트들을 제거한다. 이들 프래그먼트들이 제거될 때, 프래그먼트 선택 알고리즘은 좁은-하향 프래그먼트 리스트로부터 단일 프래그먼트를 선택하기 위하여 임의의 수의 방법들을 사용할 수 있다.
단일 프래그먼트를 선택하기 위한 제 1 방법은 좁은-하향 리스트의 제 1프래그먼트를 선택하는 것이다.
제 2 방법은 디스크 드라이브 탐색 패턴을 최적화하는 프래그먼트를 선택하는 것이다. 이러한 제 2 방법은 이하에서 정의된 교환 함수 T에 의하여 계산된 가장 낮은 수치값을 가진 좁은-하향 프래그먼트 리스트로부터 단일 프래그먼트를 선택한다:
T(리스트의 시작까지 fx의 거리, 현재 디스크 위치까지 fx의 거리) (8)
수식(8)은 프래그먼트 리스트로부터 프래그먼트 fx에 대한 두 개의 계산된 값을 그것의 인수로서 선택하는 교환 함수 T를 기술한다. 제 2 계산된 값은 "프래그먼트 리스트의 시작까지의 fx의 거리"이다. 프래그먼트 리스트의 헤드 근처의 프래그먼트들은 요구될 가능성이 가장 높으며 이에 따라 높은 수치적값을 산출한다.
제 2 계산된 값, 즉, "현재의 디스크 위치까지의 fx의 거리"는 현재의 디스크 드라이브 판독/기록 헤드 위치까지 프래그먼트가 fx의 거리이다. 거리가 짧을수록 결과값은 높아진다.
교환 함수 T는 양 값들을 계산하며, 프래그먼트 리스트의 각각의 엘리먼트 fx에 대한 두 개의 계산된 값들의 가중된 결합을 리턴한다. 이와 같이 가중된 결합은 양 인수들의 증가이며, 이는 X가 증가되고 Y가 증가되는 경우에 T(X,Y)가 가장 높은 함수값을 산출한다는 것을 의미한다. 적절한 T의 예는 T(X,T)=X+C*Y이며, 여기서 C는 상수이다. 가중 함수 T(예컨대, 상수 C)의 정확한 파라미터들은 디스크 드라이브(1)의 특정 성능 파라미터들이 주어질 때 최적 탐색 모드를 생성하는 방식으로 동조되거나 결정된다.
이전에 언급된 바와 같이, 단일 프래그먼트는 교환 함수 T에 의하여 계산된 가장 낮은 수치값을 가진 좁은-하향 프래그먼트 리스트로부터 선택된다.
프래그먼트 리스트의 생성은 디스크 제어기의 함수를 실행하기 위한 한 방법을 나타낸다는 것에 유의해야 한다. 프래그먼트들을 랭킹하는 다른 표현은 또한 본 발명의 범위내에 속한다.
액세스 예측 유닛(370)-제 2 실시예
액세스 예측 유닛(370)의 이전 실시예에서, 프래그먼트 리스트는 프래그먼트 후보들의 세트를 생성하고, 프래그먼트 후보들의 세트를 랭킹하며 이러한 랭킹에 기초하여 순서가 결정 리스트를 생성함으로써 디스크 제어 유닛(345)에 의하여 사용되도록 구성된다. 액세스 예측 유닛(370)의 바람직한 실시예에서, 프래그먼트 리스트는 이하에서 기술될 리스트들의 인터리빙을 포함하는 기술을 사용함으로써 비교적 단순화된 방식으로 액세스 예측 유닛(370)내에서 구성된다. 본 실시예에서, 액세스 예측 유닛(370)은 두 개의 내부 서브-유닛들로 구성되지 않으며, 대신에 단일 알고리즘은 디스크 제어 유닛(345)에 의하여 사용하기 위한 랭킹된 후보 리스트를 생성한다. 메모리 관리 유닛(350)은 랭킹된 후보 리스트을 사용할 수 있도록 하며, 메모리 관리 유닛(350)에서 필요한 수정들은 당업자에게 명백해야 한다. 랭킹된 후보 리스트에 따른 메모리 관리 유닛(350)에 대한 수정들은 앞서 언급된 관련 출원번호 제 60/507,091 호에 개시되어 있다.
본 실시예에서는, 제 1 단계로서 4개의 플레이 모드 A-D가 앞서 기술된 테이블 구동 방법을 사용하여 선택된다. 그 다음에, 이들 4개의 프레이 모드들의 각 모드에 대하여 외삽이 각각의 플레이 모드 A-D동안 프래그먼트를 생성하기 위하여 후보 식별자 유닛(355)과 관련하여 앞서 기술된 바와 같이 사용된다. i번째 플레이 모드에 대한 프래그먼트 리스트는 일반적으로 FLi={fi1, fi2, fi3, fi4,....}으로 표현되며, 여기서 fi1은 i번째 플레이 모드에서 미래에 프레젠테이션 유닛(340)에 의하여 먼저 액세스되는 프래그먼트이며, fi2는 제 2 프래그먼트 이다.
본 실시예에 따라, 각각의 플레이 모드 A-D에 대하여 생성된 프래그먼트 리스트 FLi을 가진 제 2단계로서, 각각의 프래그먼트 리스트들은 특정(가중된) 방식으로 인터리빙된다. 결과적인 인터리빙된 리스트는 소망성의 순서대로 프래그먼트들을 포함하는 적정 "프래그먼트 리스트"이다. 이는 일반적으로 예로서 지금 기술될 것이다.
예컨대 FF4, FR4, 플레이 및 FF16을 나타낼 수 있는 4개의 가능한 플레이 모드들, 즉, 플레이 모드들 A 내지 D를 고려한다. 각각의 플레이 모드에 대한 프래그먼트 리스트는 다음과 같이 임의적으로 표현될 수 있다:
플레이 모드 A = FLA = {fA1,fA2,fA3,fA4,fA5,fA6,fA7,fA8,...};[현재 플레이 모드]
플레이 모드 B = FLB = {fB1,fB2,fB3,fB4,fB5,fB6,...};
플레이 모드 C = FLC = {fC1,fC2,fC3,fC4,...};및
플레이 모드 D = FLD = {fD1,fD2,fD3,fD4,fD5,fD6,fD6,...}.
플레이 모드 A가 현재의 플레이 모드를 나타내는 경우에, 플레이 모드 B는 가장 스위칭될 것 같은 플레이 모드를 나타내며, 모드 C는 플레이 모드 B후에 다음으로 스위칭될 것 같은 플레이 모드를 나타내며, 플레이 모드 D는 플레이 모드 C후에 다음으로 스위칭될 것 같은 플레이 모드를 나타낸다. 프래그먼트 리스트들의 각 리스트의 길이는 중속으로 구현된다. 양호한 결과들을 위하여, 구현자는 FLi에서 프래그먼트들의 합이 트릭 모드 캐시 메모리(335)의 크기보다 크도록 각각의 프래그먼트 FLi리스트를 길게 만들어야 한다.
예시적인 인터리빙된 리스트는 다음과 같이 "가중된" 방식으로 생성될 수 있다. 제 1 가중 단계로서, 인터리빙된 리스트는 플레이 모드 A에 대응하는, FLA로부터의 제 14개의 엘리먼트를 가산함으로써 초기에 생성될 수 있다. 이러한 포인트에서 부분적으로 인터리빙된 리스트는 다음과 같다:
Figure 112006071671585-PCT00018
다음에, 인터리빙된 리스트를 기입하기 위하여, 리스트들 A 및 B로부터 각각 두 개의 엘리먼트들을 가산하고 리스트들 C 및 D로부터 각각 하나의 엘리먼트를 가산하며, 모든 리스트 엘리먼트들이 소비될 때까지 이러한 단계를 반복하며, 이에 따라 완성된 인터리빙된 리스트가 생성된다.
다른 타입들의 가중 외에 리스트의 "가중"는 우선 인터리빙된 리스트에 FL1로부터의 4개의 엘리먼트들을 삽입함으로써 이루어진다는 것이 인식되어야 한다. 이는 현재의 동작 모드, 즉 플레이 모드 "A"동안 트랙 모드 캐시(335)를 채우는 최소 레벨을 보장하는 것이다. 트릭 모드 캐시(335)의 이러한 채움은 디스크 드라이브의 우연한 지연(디스크상에 저장된 프래그먼트들의 순차적 저장에서 "점프들"로 인한 지연들, 기본 엔진에 의한 일시적 추적 손실로 인한 지연 등) 가능성을 예측하여 현재의 동작모드에서 더 효율적인 프로세스를 보장한다.
비록 본 발명이 특정 실시예들과 관련하여 기술되었을지라도, 첨부된 청구항들에서 한정된 본 발명의 사상 및 범위로부터 벗어나지 않고 여러 변형들이 이루어질 수 있다는 것이 인식될 것이다. 본 명세서 및 도면들은 단지 예시적으로 기술되며 첨부된 청구항들의 범위를 제한하지 않는다.
첨부된 청구항들을 해석할 때 다음과 같은 사항이 이해되어야 한다.
a) 용어 "포함한다"는 주어진 청구항에 리스트된 엘리먼트들 또는 단계들과 다른 엘리먼트들 또는 단계들의 존재를 배제하지 않는다.
b) 단수 엘리먼트는 복수 엘리먼트들의 존재를 배제하지 않는다.
c) 청구항들에 있어서 도면부호들은 본 발명의 범위를 제한하지 않는다.
d) 여러 "수단"은 동일한 항목 또는 하드웨어 또는 소프트웨어 구현 구조 또는 기능으로 표현될 수 있다.
e) 기술된 엘리먼트들의 각각은 하드웨어 부분들(예컨대, 개별 전자 회로), 소프트웨어 부분들(예컨대, 컴퓨터 프로그래밍) 또는 이들의 결합으로 구성될 수 있다.

Claims (38)

  1. 복수의 플레이 모드들을 포함하는 재생 시스템에서 사용하기 위한 재생 장치에 있어서,
    데이터 소스(1)로부터 판독된 데이터를 저장하도록 구성된 메모리(335)로서, 상기 데이터는 상기 데이터 소스(1) 상에 복수의 데이터 블록들로서 구성되는, 상기 메모리(335);
    사용자에게 프리젠테이션하기 위하여 상기 메모리(335)로부터 하나 이상의 데이터 블록들을 검색하도록 구성된 프리젠테이션 유닛(340); 및
    상기 메모리(335)의 콘텐츠들을 관리하고 상기 데이터 소스(1)의 동작들을 제어하도록 구성된 제어기(365)를 포함하고;
    상기 제어기(365)는, 상기 복수의 데이트 블록들 중 적어도 두 개의 데이터 블록들의 소망성(desirability)을 랭킹하도록 동작가능한 랭킹 유닛(360)을 포함하며,
    상기 소망성 랭킹은, (i) 상기 복수의 플레이 모드들 중 적어도 두 개의 모드에서 미래에 사용될 것으로 예측된 상기 적어도 두 개의 데이터 블록들의 각 블록, 및 (ii) 상기 복수의 플레이 모드들 중 상기 적어도 두 개의 모드의 상대적 랭킹을 포함하는 기준에 기초하는, 재생 장치.
  2. 제 1 항에 있어서,
    상기 복수의 플레이 모드들 중 상기 적어도 두 개의 모드에서 미래에 사용이 예측된 적어도 두 개의 데이터 블록들의 각 블록에 대한 상기 소망성 랭킹 기준들은 상기 예측된 미래의 사용 시간을 결정하는 단계를 더 포함하는, 재생 장치.
  3. 제 1 항에 있어서,
    상기 복수의 플레이 모드 중 상기 적어도 두 개의 모드의 상기 상대적 랭킹은 미래의 시간에 상기 복수의 플레이 모드들 중 상기 적어도 두 개의 모드를 유지하거나 또는 상기 두 개의 모드로 스위칭하는 재생 장치의 확률에 기초하는, 재생 장치.
  4. 제 1 항에 있어서,
    상기 복수의 플레이 모드들 중 상기 적어도 두 개의 모드의 상기 상대적 랭킹은 상기 복수의 플레이 모드들 중 상기 적어도 두 개의 모드의 사용자의 과거 사용 패턴들에 기초하는, 재생 장치.
  5. 제 1 항에 있어서,
    상기 복수의 플레이 모드들 중 상기 적어도 두 개의 모드의 상기 상대적 랭킹은 현재의 플레이 모드 및 최근 플레이 모드 변화가 발생하였는지의 여부에 기초하는, 재생 장치.
  6. 제 1 항에 있어서,
    상기 복수의 플레이 모드들 중 상기 적어도 두 개의 모드의 상기 상대적 랭킹은 사용자의 플레이 모드 선호들에 기초하는, 재생 장치.
  7. 제 1 항에 있어서,
    상기 랭킹 유닛(360)과 통신하는 디스크 제어 유닛(345)을 더 포함하고,
    상기 디스크 제어 유닛(345)은 상기 복수의 데이터 블록들 중 어느 블록이 상기 데이터 소스(1)로부터 검색되는지를 결정하기 위하여 적어도 상기 소망성 랭킹을 사용하도록 구성되는, 재생 장치.
  8. 제 1 항에 있어서,
    상기 제어기(365)는 상기 랭킹 유닛(360)과 통신하는 메모리 관리 유닛(350)을 포함하고,
    상기 메모리 관리 유닛(350)은 상기 메모리(335)로부터 데이터 블록들을 제거하도록 구성되는, 재생 장치.
  9. 제 8 항에 있어서,
    상기 메모리(335)에서 가장 낮은 상대적 랭킹을 가진 데이터 블록들이 상기 메모리 관리 유닛(350)에 의해 제거하기 위하여 선택되는, 재생 장치.
  10. 제 9 항에 있어서,
    상기 랭킹 유닛(360)과 통신하는 디스크 제어 유닛(345)을 더 포함하고,
    상기 디스크 제어 유닛(345)은 상기 복수의 데이터 블록들 중 어느 블록들이 상기 데이터 소스(1)로부터 검색되는지를 결정하기 위하여 적어도 상기 소망성 랭킹을 사용하도록 구성되는, 재생 장치.
  11. 제 10 항에 있어서,
    상기 메모리 관리 유닛(350) 및 상기 디스크 제어 유닛(345)은 동일한 프래그먼트 랭킹 기준들을 이용하는, 재생 장치.
  12. 제 1 항에 있어서,
    상기 랭킹 유닛(360)과 통신하는 상기 디스크 제어 유닛(345)을 더 포함하고,
    상기 랭킹 유닛(360) 및 상기 디스크 제어 유닛(345)에 의하여 고려하기 위하여 상기 데이터 소스(1)상의 상기 복수의 데이터 블록들로부터 후보 블록들의 세트를 선택하도록 구성된 후보 식별자 유닛(355)을 더 포함하는, 재생 장치.
  13. 제 12 항에 있어서,
    상기 후보 블록들의 세트는 상기 적어도 두 개의 플레이 모드들 동안 상기 적어도 두 개의 플레이 모드들의 각 모드의 동작중에 상기 프리젠테이션 유닛(340) 에 의하여 판독될 데이터 블록들을 외삽법을 이용함(extrapolating)으로써 상기 후보 식별자 유닛(355)에 의하여 선택되는, 재생 장치.
  14. 제 13 항에 있어서,
    상기 외삽(extrapolation)은 상기 프리젠테이션 유닛(340)에 의하여 현재 프리젠테이션되는 블록 근처에서 실질적으로 시작하는, 재생 장치.
  15. 복수의 플레이 모드들을 포함하는 재생 시스템에서 사용하기 위한 재생 장치에 있어서,
    데이터 소스(1)로부터 판독된 데이터를 저장하도록 구성된 메모리(335)로서, 상기 데이터는 상기 데이터 소스(1) 상에 복수의 데이터 블록들로서 구성되는, 상기 메모리(335);
    사용자에게 프리젠테이션하기 위하여 상기 메모리(335)로부터 하나 이상의 데이터 블록들을 검색하도록 구성된 프리젠테이션 유닛(340); 및
    상기 메모리(335)의 콘텐츠들을 관리하고 상기 데이터 소스(1)의 동작들을 제어하도록 구성된 제어기(365)를 포함하고;
    상기 제어기(365)는:
    상기 복수의 데이트 블록들 중 적어도 두 개의 데이터 블록들의 소망성을 랭킹하도록 동작가능한 랭킹 유닛(360)을 포함하고,
    상기 소망성 랭킹은, (i) 상기 복수의 플레이 모드들 중 적어도 두 개의 모 드에서 데이터 블록 사용을 외삽법을 이용하는 단계, 및 (ii) 상기 외삽들을 인터리빙하는 단계로부터 결정되는, 재생 장치.
  16. 제 15 항에 있어서,
    상기 외삽들을 인터리빙하는 상기 단계는 미래에 상기 복수의 플레이 모드들 중 상기 적어도 두 개의 모드를 유지하거나 또는 상기 두 개의 모드로 스위칭하는 재생 장치의 확률에 기초하는, 재생 장치.
  17. 제 15 항에 있어서,
    상기 외삽들을 인터리빙하는 상기 단계는 상기 복수의 플레이 모드들 중 상기 적어도 두 개의 모드의 사용자의 과거 사용 패턴들에 기초하는, 재생 장치.
  18. 제 15 항에 있어서,
    상기 외삽들을 인터리빙하는 상기 단계는 현재의 플레이 모드 및 최근 플레이 모드 변화가 발생하였는지의 여부에 기초하는, 재생 장치.
  19. 제 15 항에 있어서,
    상기 외삽들을 인터리빙하는 상기 단계는 사용자의 플레이 모드 선호들에 기초하는, 재생 장치.
  20. 제 15 항에 있어서,
    상기 랭킹 유닛(360)과 통신하는 디스크 제어 유닛(345)을 더 포함하고,
    상기 디스크 제어 유닛(345)은 상기 복수의 데이터 블록들 중 어느 블록이 상기 데이터 소스(1)로부터 검색되는지를 결정하기 위하여 적어도 상기 소망성 랭킹을 사용하도록 구성되는, 재생 장치.
  21. 제 15 항에 있어서,
    상기 제어기(365)는 상기 랭킹 유닛(360)과 통신하는 메모리 관리 유닛(350)을 포함하고,
    상기 메모리 관리 유닛(350)은 상기 메모리(335)로부터 데이터 블록들을 제거하도록 구성되는, 재생 장치.
  22. 제 15 항에 있어서,
    상기 메모리(335)에서 가장 낮은 상대적 랭킹을 갖는 데이터 블록들은 상기 메모리 관리 유닛(350)에 의해 제거하기 위하여 선택되는, 재생 장치.
  23. 제 15 항에 있어서,
    상기 랭킹 유닛(360)과 통신하는 디스크 제어 유닛(345)을 더 포함하고,
    상기 디스크 제어 유닛(345)은 상기 복수의 데이터 블록들 중 어느 블록들이 상기 데이터 소스(1)로부터 검색되는지를 결정하기 위하여 적어도 상기 소망성 랭 킹을 사용하도록 구성되는, 재생 장치.
  24. 제 15 항에 있어서,
    상기 메모리 관리 유닛(350) 및 상기 디스크 제어 유닛(345)은 동일한 프래그먼트 랭킹 기준들을 이용하는, 재생 장치.
  25. 제 15 항에 있어서,
    상기 랭킹 유닛(360)과 통신하는 상기 디스크 제어 유닛(345)을 더 포함하고,
    상기 랭킹 유닛(360) 및 상기 디스크 제어 유닛(345)에 의하여 고려하기 위하여 상기 데이터 소스(1)상의 상기 복수의 데이터 블록들로부터 후보 블록들의 세트를 선택하도록 구성된 후보 식별자 유닛(355)을 더 포함하는, 재생 장치.
  26. 제 25 항에 있어서,
    상기 후보 블록들의 세트는, 상기 적어도 두 개의 플레이 모드들 동안 상기 적어도 두 개의 플레이 모드의 각 모드의 동작중에 상기 프리젠테이션 유닛(340)에 의하여 판독될 데이터 블록들을 외삽법을 이용함으로써 상기 후보 식별자 유닛(355)에 의하여 선택되는, 재생 장치.
  27. 제 26 항에 있어서,
    상기 외삽은 상기 프리젠테이션 유닛(340)에 의하여 현재 프리젠테이션되는 블록 근처에서 실질적으로 시작하는, 재생 장치.
  28. 복수의 플레이 모드들을 가진 재생 장치에서 사용하기 위하여 데이터 소스의 복수의 데이터 블록들 중 적어도 두 개의 데이터 블록들의 소망성을 랭킹하는 방법에 있어서,
    (i) 상기 복수의 플레이 모드들 중 적어도 두 개의 모드에서 미래에 사용이 예측된 상기 적어도 두 개의 데이터 블록들의 각 블록을 결정하는 단계; 및
    (ii) 상기 복수의 플레이 모드들 중 상기 적어도 두 개의 모드의 상대적 랭킹을 결정하는 단계를 포함하는, 랭킹 방법.
  29. 제 28 항에 있어서,
    상기 복수의 플레이 모드들 중 상기 적어도 두 개의 모드에서 미래에 사용이 예측된 상기 적어도 두 개의 데이터 블록들의 각 블록을 결정하는 상기 단계는 상기 적어도 두 개의 데이터 블록들의 상기 각 블록에 대한 상기 예측된 미래의 사용시간을 결정하는 단계를 더 포함하는, 랭킹 방법.
  30. 제 28 항에 있어서,
    상기 복수의 플레이 모드들 중 상기 적어도 두 개의 모드의 상대적 랭킹을 결정하는 상기 단계는 미래의 시간에 상기 복수의 플레이 모드들 중 상기 적어도 두 개의 모드를 유지하거나 상기 두 개의 모드로 스위칭하는 재생 장치의 확률을 계산하는 단계를 더 포함하는, 랭킹 방법.
  31. 제 28 항에 있어서,
    상기 복수의 플레이 모드들 중 상기 적어도 두 개의 모드의 상대적 랭킹을 결정하는 상기 단계는 상기 복수의 플레이 모드들 중 적어도 두 개의 모드의 사용자의 과거 사용 패턴들을 결정하는 단계를 더 포함하는, 랭킹 방법.
  32. 제 28 항에 있어서,
    상기 복수의 플레이 모드들 중 적어도 두 개의 모드의 상대적 랭킹을 결정하는 상기 단계는 현재의 플레이 모드 및 최근 플레이 모드 변화가 발생하였는지의 여부를 결정하는 단계를 더 포함하는, 랭킹 방법.
  33. 복수의 플레이 모드들을 가진 재생 장치에서 사용하기 위하여 데이터 소스의 복수의 데이터 블록들 중 적어도 두 개의 데이터 블록들의 소망성을 랭킹하는 방법에 있어서,
    (i) 상기 복수의 플레이 모드들 중 적어도 두 개의 모드에서 데이터 블록 사용을 외삽법을 이용하는 단계; 및
    (ii) 상기 외삽들을 인터리빙하는 단계를 포함하는, 랭킹 방법.
  34. 제 33 항에 있어서,
    상기 외삽들을 인터리빙하는 상기 단계는 상기 적어도 두 개의 데이터 블록들의 각 블록에 대한 상기 예측된 미래의 사용 시간을 결정하는 단계를 포함하는, 랭킹 방법.
  35. 제 33 항에 있어서,
    상기 외삽들을 인터리빙하는 상기 단계는 미래의 시간에 상기 복수의 플레이 모드들 중 적어도 두 개의 모드를 유지하거나 상기 모드로 스위칭하는 재생 장치의 확률을 계산하는 단계를 더 포함하는, 랭킹 방법.
  36. 제 33 항에 있어서,
    상기 외삽들을 인터리빙하는 상기 단계는 상기 복수의 플레이 모드들 중 적어도 두 개의 모드의 사용자의 과거 사용 패턴들을 결정하는 단계를 더 포함하는, 랭킹 방법.
  37. 제 33 항에 있어서,
    상기 외삽들을 인터리빙하는 상기 단계는 현재의 플레이 모드 및 최근 플레이 모드 변화가 발생하였는지의 여부를 결정하는 단계를 더 포함하는, 랭킹 방법.
  38. 제 33 항에 있어서,
    상기 외삽들을 인터리빙하는 상기 단계는 사용자의 플레이 모드 선호들을 결정하는 단계를 더 포함하는, 랭킹 방법.
KR1020067020486A 2004-03-30 2005-03-25 디스크 기반 멀티미디어 콘텐츠에 대한 개선된 트릭 모드수행을 지원하는 시스템 및 방법 KR20070007810A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US55749804P 2004-03-30 2004-03-30
US60/557,498 2004-03-30

Publications (1)

Publication Number Publication Date
KR20070007810A true KR20070007810A (ko) 2007-01-16

Family

ID=34961996

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067020486A KR20070007810A (ko) 2004-03-30 2005-03-25 디스크 기반 멀티미디어 콘텐츠에 대한 개선된 트릭 모드수행을 지원하는 시스템 및 방법

Country Status (6)

Country Link
US (1) US20080243918A1 (ko)
EP (1) EP1733394A1 (ko)
JP (1) JP2007531199A (ko)
KR (1) KR20070007810A (ko)
CN (1) CN1938778A (ko)
WO (1) WO2005096301A1 (ko)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7068729B2 (en) 2001-12-21 2006-06-27 Digital Fountain, Inc. Multi-stage code generator and decoder for communication systems
US6307487B1 (en) 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
EP2355360B1 (en) 2002-10-05 2020-08-05 QUALCOMM Incorporated Systematic encoding and decoding of chain reaction codes
US7139960B2 (en) * 2003-10-06 2006-11-21 Digital Fountain, Inc. Error-correcting multi-stage code generator and decoder for communication systems having single transmitters or multiple transmitters
EP2202888A1 (en) 2004-05-07 2010-06-30 Digital Fountain, Inc. File download and streaming system
US8074248B2 (en) 2005-07-26 2011-12-06 Activevideo Networks, Inc. System and method for providing video content associated with a source image to a television in a communication network
KR101292851B1 (ko) * 2006-02-13 2013-08-02 디지털 파운튼, 인크. 가변적 fec 오버헤드 및 보호 구간을 이용하는 스트리밍및 버퍼링
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
US7971129B2 (en) 2006-05-10 2011-06-28 Digital Fountain, Inc. Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient users of the communications systems
US9380096B2 (en) * 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US20100146139A1 (en) * 2006-09-29 2010-06-10 Avinity Systems B.V. Method for streaming parallel user sessions, system and computer software
US9826197B2 (en) 2007-01-12 2017-11-21 Activevideo Networks, Inc. Providing television broadcasts over a managed network and interactive content over an unmanaged network to a client device
EP3145200A1 (en) 2007-01-12 2017-03-22 ActiveVideo Networks, Inc. Mpeg objects and systems and methods for using mpeg objects
CN101802797B (zh) 2007-09-12 2013-07-17 数字方敦股份有限公司 生成和传达源标识信息以实现可靠的通信
US8122037B2 (en) * 2008-05-12 2012-02-21 Research In Motion Limited Auto-selection of media files
US20100162126A1 (en) * 2008-12-23 2010-06-24 Palm, Inc. Predictive cache techniques
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US20110075994A1 (en) * 2009-09-28 2011-03-31 Hsiao-Shu Hsiung System and Method for Video Storage and Retrieval
US9049497B2 (en) 2010-06-29 2015-06-02 Qualcomm Incorporated Signaling random access points for streaming video data
US8918533B2 (en) 2010-07-13 2014-12-23 Qualcomm Incorporated Video switching for streaming video data
US9185439B2 (en) 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US9319448B2 (en) 2010-08-10 2016-04-19 Qualcomm Incorporated Trick modes for network streaming of coded multimedia data
JP5866125B2 (ja) 2010-10-14 2016-02-17 アクティブビデオ ネットワークス, インコーポレイテッド ケーブルテレビシステムを使用したビデオ装置間のデジタルビデオストリーミング
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
WO2012138660A2 (en) 2011-04-07 2012-10-11 Activevideo Networks, Inc. Reduction of latency in video distribution networks using adaptive bit rates
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
WO2013106390A1 (en) 2012-01-09 2013-07-18 Activevideo Networks, Inc. Rendering of an interactive lean-backward user interface on a television
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery
US9800945B2 (en) 2012-04-03 2017-10-24 Activevideo Networks, Inc. Class-based intelligent multiplexing over unmanaged networks
US9123084B2 (en) 2012-04-12 2015-09-01 Activevideo Networks, Inc. Graphical application integration with MPEG objects
WO2014145921A1 (en) 2013-03-15 2014-09-18 Activevideo Networks, Inc. A multiple-mode system and method for providing user selectable video content
US9219922B2 (en) 2013-06-06 2015-12-22 Activevideo Networks, Inc. System and method for exploiting scene graph information in construction of an encoded video sequence
US9294785B2 (en) 2013-06-06 2016-03-22 Activevideo Networks, Inc. System and method for exploiting scene graph information in construction of an encoded video sequence
US9326047B2 (en) 2013-06-06 2016-04-26 Activevideo Networks, Inc. Overlay rendering of user interface onto source video
US9788029B2 (en) 2014-04-25 2017-10-10 Activevideo Networks, Inc. Intelligent multiplexing using class-based, multi-dimensioned decision logic for managed networks
US11947800B2 (en) * 2021-10-27 2024-04-02 Red Hat, Inc. Determining weights for cache storage of fragmented data

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2270791B (en) * 1992-09-21 1996-07-17 Grass Valley Group Disk-based digital video recorder
US6128712A (en) * 1997-01-31 2000-10-03 Macromedia, Inc. Method and apparatus for improving playback of interactive multimedia works
JPH11316709A (ja) * 1998-05-01 1999-11-16 Nec Corp ディスク制御装置及び方法
JP2002207620A (ja) * 2001-01-10 2002-07-26 Toshiba Corp ファイルシステム及び該システムにおけるデータキャッシング方法
FR2820846B1 (fr) * 2001-02-12 2003-05-30 Thomson Multimedia Sa Dispositif et procede de gestion d'acces a un support d'enregistrement
JP2002342037A (ja) * 2001-05-22 2002-11-29 Fujitsu Ltd ディスク装置
US20030121038A1 (en) * 2001-09-12 2003-06-26 Gaurav Aggarwal Caching system and method supporting improved trick mode performance in video decoding systems
JP2007511855A (ja) * 2003-09-30 2007-05-10 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ トリック再生の性能を向上するためのキャッシュ管理

Also Published As

Publication number Publication date
WO2005096301A1 (en) 2005-10-13
US20080243918A1 (en) 2008-10-02
CN1938778A (zh) 2007-03-28
JP2007531199A (ja) 2007-11-01
EP1733394A1 (en) 2006-12-20

Similar Documents

Publication Publication Date Title
KR20070007810A (ko) 디스크 기반 멀티미디어 콘텐츠에 대한 개선된 트릭 모드수행을 지원하는 시스템 및 방법
US20070038811A1 (en) Playback system and method supporting improved trick mode performance for disc-based multimedia
US8924643B2 (en) System and method for caching multimedia data
KR20060012299A (ko) 레코딩 및 리플레이 방법과 비디오 레코딩 및 리플레이시스템
KR20040039852A (ko) 프레임 인덱스를 이용한 트릭 플레이 구현방법
US20060029364A1 (en) Digital video stream trick play
US20140086564A1 (en) Decoding interdependent frames of a video for display
JP2008072336A (ja) 復号装置および復号方法
KR20140010337A (ko) 전자기기 및 그 제어방법
US6643083B2 (en) Method and system for retrieving blocks of data from a storage medium
US7693008B2 (en) Video reproduction apparatus, video reproduction method, and video reproduction process program
US8300701B2 (en) Offspeed playback in a video editing system of video data compressed using long groups of pictures
JP4827669B2 (ja) 動画再生方法および装置
US20050117883A1 (en) Storage medium storing program management information, and reproducing method and apparatus
US20230062704A1 (en) Video decoding method and device enabling improved user interaction with video content
JP2004350152A (ja) 映像再生装置および映像再生方法
JP5460006B2 (ja) 動画検索装置及び動画検索方法
JP2013046357A (ja) 画像再生装置、画像再生方法および画像再生プログラム
KR20050117579A (ko) 동시 재생용 데이터 스트림을 판독하는 광픽업을 제어하는방법
JP2008112521A (ja) 情報処理装置、及びその節電運転用プログラム
KR100606681B1 (ko) 주문형 비디오 시스템(vod)의 서버 데이터 구조와 빨리 보기/빨리 되감아보기 서비스 제공 방법
JP2009296339A (ja) 再生処理装置、および再生処理方法、並びにプログラム
JP4207556B2 (ja) 再生装置および方法、並びにプログラム
JPH11298858A (ja) ビデオサーバシステム
JP2007328878A (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