KR101014937B1 - 저장 전에 인덱싱하는 과정 없이 멀티미디어 프로그래밍을 수신, 저장 및 출력하는 방법 및 장치 - Google Patents

저장 전에 인덱싱하는 과정 없이 멀티미디어 프로그래밍을 수신, 저장 및 출력하는 방법 및 장치 Download PDF

Info

Publication number
KR101014937B1
KR101014937B1 KR1020097004103A KR20097004103A KR101014937B1 KR 101014937 B1 KR101014937 B1 KR 101014937B1 KR 1020097004103 A KR1020097004103 A KR 1020097004103A KR 20097004103 A KR20097004103 A KR 20097004103A KR 101014937 B1 KR101014937 B1 KR 101014937B1
Authority
KR
South Korea
Prior art keywords
frame
size
delete delete
data
multimedia program
Prior art date
Application number
KR1020097004103A
Other languages
English (en)
Other versions
KR20090045926A (ko
Inventor
단 민닉
마이클 카바노프
마크 템플맨
존 디. 주니어. 햄릭
제이 피. 칼슨
윤펑 양
마뉴엘 삼세 노보아
루이 딩
세쓰 바이얼레이.
Original Assignee
에코스타 테크놀로지스 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에코스타 테크놀로지스 엘엘씨 filed Critical 에코스타 테크놀로지스 엘엘씨
Publication of KR20090045926A publication Critical patent/KR20090045926A/ko
Application granted granted Critical
Publication of KR101014937B1 publication Critical patent/KR101014937B1/ko

Links

Images

Classifications

    • 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
    • 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/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Television Signal Processing For Recording (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

디지털 레코딩 및 방송 정보의 출력을 개선하기 위한 방법 및 장치(100)가 개시된다. 비디오, 오디오, 개인정보, 또는 하나 혹은 그 이상의 특정한 컨텐츠 프로그램들과 관련된 다른 데이터를 포함할 수 있는 수신된 방송 데이터는 입력 섹션(120)으로부터 버퍼(220)로 출력되고, 인덱싱과 같은 어떠한 지적인 파싱 과정도 없이, 그리고 매개 하드웨어 또는 소프트웨어 기능들에 의한 어떠한 조종 과정도 없이 저장 장치(150)에 직접적으로 기록된다. 정상 출력 시, 스킵할 프레임들의 이상적인 수, 검색할 바이트 수, 타임 시프트 출력(time-shifted presentation) 동안 저장 장치(150)로부터 읽어들일 데이터 파일들의 사이즈를 결정하기 위한 통계 자료가 생성될 수 있다. 타임 시프트 출력을 동적으로 최적화하기 위한 알고리즘들과 프로세스들이 제공된다. 이러한 방식에서, 데이터는 보다 효율적으로 그리고 경제적으로 저장 장치(150)로 캡처될 수 있으며, 타임 시프트 출력 동작들은 적절하고 개연성 높은 알고리즘들을 이용해 보다 매끄럽고 섬세한 방식으로 실행될 수 있다.
멀티미디어, 인덱싱, 프리젠테이션, 출력

Description

저장 전에 인덱싱하는 과정 없이 멀티미디어 프로그래밍을 수신, 저장 및 출력하는 방법 및 장치{METHOD AND APPARATUS FOR RECEIVING, STORING, AND PRESENTING MULTIMEDIA PROGRAMMING WITHOUT INDEXING PRIOR TO STORAGE}
본 발명은 디지털 레코딩 및 방송 정보 출력을 개선하기 위한 방법 및 장치에 관한 것이다. 구체적으로, 본 발명은 실시간 및 타임 시프트 모드 동작에서 방송 정보를 수신, 저장 및 출력하기 위한 방법 및 장치에 관한 것이다.
디지털 비디오 레코더(DVR)과 같은 디지털 데이터 레코더들은 최소한 1992년부터 알려져 왔다. 표준 DVR은 사용자들이 차후 플레이백(later playback)을 위해 방송 정보를 저장 장치에 기록할 수 있도록 한다. 일반적으로, DVR은 비디오 카세트 레코더에서 찾을 수 있는, 대부분의 사용자들에게 친숙한 기능들과 유사한 타임 시프트(트릭 재생) 모드들로 동작할 수 있다. 예를 들어, DVR은 "일시중지(pause)", "되감기(rewind)", "빠른 정방향(fast-forward)", "건너뛰기(skip)", 및 "느린 동작(slow motion)" 등의 기능들을 수행할 수 있다. 가장 먼저 상용화된 DVR 중의 하나는 현재 에코스타 커뮤니케이션스 사(EchoStar Communications Corporation)의 일부인 미디어4 사(Media4)에 의해 개발되고 판매된 미디어스트림(MediaStream) 시스템이었다. 1996년 4월, 미디어4 사는 통합 DVR 기능들을 갖는 DVB(Digital Video Broadcasting) 규격의 위성 수신기 시스템인 미디어스트림 수신기를 도입했다. 그 미디어스트림 시스템은 기록 및 출력이 가능한 프로그램들의 기록 및 출력을 동시에 수행할 수 있도록 설계되었다. 예를 들어, 미디어스트림 수신기 시스템은 하나 혹은 그 이상의 텔레비전 프로그램들을 포함하는 MPEG(Moving Pictures Group) 전송 스트림을 역다중화(demultiplex)하고, 분리된 비디오 PES(packetized elementary stream)와 오디오 PES를 버퍼들에 채워넣었다. 버퍼들에 저장된 데이터는 정상 혹은 트릭 재생 모드에서 차후 플레이백(later playback)을 수행하기 위하여 디스크에 기록되었다. 미디어스트림 시스템은 트릭 재생 모드로 동작하는 것을 돕는 인덱스를 생성하기 위한 입력의 지적 파싱(intelligent parsing) 작업을 수행하지 않고, 단지 그러한 기능들을 수행할 때 하드 디스크에 저장된 데이터의 "억지(brute-force)" 검색 작업을 수행하였다.
방송 입력 스트림을 지적으로(intelligently) 파싱함으로써, 그리고 차후 적절한 데이터 프레임들을 검색 및 플레이백하기 위하여 입력 동작 동안 생성된 인덱스 정보를 이용함으로써, 인덱스들을 생성하는 많은 방법들과 시스템들이 개발되어 왔다. 이러한 시스템들의 가장 초기 방식 중의 하나는 크라우스(Krause) 등이 발명하여 아이미디어 사(Imedia Corporation)에 양도된 미국 특허 번호 5,949,948 및 6,304,714의 2개의 특허에 기술되어 있다. 이 특허들은 압축된 디지털 데이터의 동시 출력 및 기록을 위한 셋톱 DVR 시스템을 개시고 있다. 예를 들어, 미국 특허 번 호 5,949,948은 MPEG 데이터 스트림에서 비디오 I-프레임들의 시작위치를 찾는 시작-코드 검색기(start-code detector), I-프레임들과 메모리 주소들을 서로 연관시키는 인덱싱 시스템(indexing system), 트릭-재생 동작 시 어떤 프레임들을 플레이백(play back)할지를 결정하기 위한 인덱스 정보를 찾는 트릭-재생 시스템(trick-play system)을 개시한다. 이와 유사하게, 인텔 사(Intel)의 코블리(Cobbley) 등이 발명한 미국 특허 번호 5,614,940은 방송 정보를 디지털 포맷으로 변환하고, 입력 동작 동안 방송 정보의 내용과 관련된 다양한 인덱스 데이터를 생성하며, 압축된 방송 데이터와 관련 인덱스 데이터 모두를 저장한 후, 인덱스 정보에 근거하여 플레이백을 수행(정상 또는 트릭 재생 모드에서)하기 위하여 방송 데이터를 복구하는 셋톱 시스템(set-top system)을 개시한다. 이와 유사하게, 전면, 입력측의 지적 파싱 및 인덱스-기준 검색 방법들이 커너(Kenner) 등이 발명한 미국 특허 번호 5,956,716, 포터(Porter) 등이 발명한 미국 특허 번호 5,659,539, 스포러(Sporer) 등이 발명한 미국 특허 번호 6,167,083, 피터스(Peters)가 발명한 미국 특허 번호 5,577,190에 나타나 있다.
TiVo 사(TiVo Inc.)가 개발하고, 바튼(Barton) 등을 발명자로 한 미국 특허 번호 6,233,389에 기술된 최근의 레코딩 시스템 또한 입력 동작 동안 및 저장 장치에 방송 정보를 저장하기 이전에 특별한 타입의 지적 파싱/인덱싱을 채용하고 있다. 해당 특허에 기술된 시스템은 인덱스들을 생성하고 개별적인 적정 버퍼들에 특별 데이터를 채워넣는 "미디어 스위치(Media Switch)"라 불리는 특별한 회로를 채 용한다. 기술된 "미디어 스위치(Media Switch)"는 CPU(central processing unit), 저장 장치, 및 메모리 사이를 중재하고, 강력한 인덱스-기준 프로세싱을 수행하여 CPU로부터 개별 장치로 입력 스트림을 전달한다. 또한, 바튼(Barton) 등이 발명한 시스템에서, "자원 객체(source object)"는 데이터를 데이터 스트림으로 변환하고, 버퍼 할당의 전체적인 제어를 담당하는 중앙 소프트웨어 "전송 객체(transform object)"에 의해 할당된 버퍼를 채운다. 이후, 소프트웨어 "전송 객체(transform object)"는 데이터를 하드 디스크에 쓴다. 또한, 소프트웨어 "전송 객체(transform object)"는 하드 디스크로부터 데이터를 읽어들이는 동작, 버퍼들에 데이터를 채우는 동작, 나중의 디코딩 및 플레이백을 위해 채워진 버퍼들을 소프트웨어 "싱크 객체(sink object)"로 할당하는 동작을 수행한다.
이러한 초기의 시스템들은 비효율적이고, 일부 동작 설정들에 있어서 지나치게 복잡할 수 있다. 이러한 시스템들은 방송 데이터의 전체 세트가 입력되는 동안 강한 프로세싱이 요구된다. 현대적인 DVR 기능들에 요구되는 주어진 높은 처리량, 그리고 이 시스템들에서 입력 동작 동안 요구되는 프로세싱 전력은 CPU에 부담을 주거나, 바튼(Barton) 등이 발명한 시스템의 경우에는 특성화된 하드웨어 및 소프트웨어를 요구한다. 무엇보다도, 기록된 대부분의 것들이 임의의 표준 모드에서 플레이백되지 않을 것이기 때문에, 소모되는 프로세싱 전력, 그리고 관련된 인덱스 정보를 저장하는데 소모되는 메모리는 크게 낭비될 것이다. 보다 튼튼하고, 저렴하며, 덜 복잡한 시스템이 필요하다.
본 발명은 종래 방법 및 시스템들의 확인된 문제들을 개선하기 위한 것이다.
본 발명의 일 면에 따라, 프로그래밍이 저장 전에 인덱스되지 않는, 저장된 멀티미디어의 프로그래밍의 출력 방법으로서, 저장된 멀티미디어 프로그래밍의 정상 출력 동안 생성 가능한 타입의 통계 정보를 제공하는 과정; 검색 입력을 수신하는 과정; 상기 검색 입력에 기초한 시작 위치로부터 상기 저장된 멀티미디어 프로그래밍의 일부-상기 일부의 사이즈는 상기 통계 정보에 의해 결정됨-를 로딩하는 과정; 및 분석 처리 결과 상기 로딩된 프로그래밍이 특별 출력에 적합한 경우, 상기 특별 출력을 수행하는 과정을 포함하는 것을 특징으로 하는 저장된 멀티미디어 프로그래밍의 출력 방법이 제공된다.
본 발명의 실시예들은 수신된 방송 데이터를 저장하기 전에, 그 데이터의 파싱, 분리, 전송 또는 다른 프로세싱 기능들이 요구되지 않아, 기존의 방법들을 개선한다. 본 발명의 방법들에 따르면, 이러한 데이터를 저장부로부터 표시할 때 프로그래밍 데이터를 검색하고 추적하기 위하여 통계적이고 확률적인 알고리즘들이 사용된다.
따라서, 수신된 프로그래밍은 비동기식의, 싱글 버퍼 읽기/쓰기 프로세스를 이용하여 저장 장치에 직접 기록될 수 있다. 트릭 재생 모드로 동작할 때, 검색 명령은 통계에 근거하여 수행되거나, 혹은 출력 동작 동안 생성되거나, 혹은 방송 데이터와 함께 수신될 수 있다. 정상 출력 시, 건너뛰기할 프레임들의 이상적인 수, 검색할 바이트 수, 트릭-재생 동작 동안 저장부로부터 읽어들일 데이터 파일들의 사이즈를 결정하기 위한 통계가 생성될 수 있다.
본 발명의 방법들은 시스템 자원의 사용을 최소화하는 임의의 건너뛰기, 검색, 및 읽기 값들을 동적으로 결정하기 위하여 알고리즘들과 동작들을 사용할 수 있다. 이러한 방식에서, 데이터는 보다 효율적이고 경제적으로 저장될 수 있고, 트릭 재생 동작들은 보다 매끄럽게, 적절한 확률적 알고리즘들을 적용하여 보다 섬세한 방식으로 수행될 수 있다.
본 명세서에서 언급하는 방법들과 시스템들의 다른 특징들과 장점들은 다음의 상세한 설명과 참조 도면들을 통해 분명해질 것이다.
도 1은 본 발명의 일 실시예에 따른 DVR 시스템의 블록도이다.
도 2는 본 발명의 일 실시예에 따른 DVR 시스템에서 메모리 내부의 블록도이다.
도 3은 본 발명의 일 실시예에 따른 DVR 시스템에서 싱글 버퍼 메모리 구조를 갖는 메모리 내부의 블록도이다.
도 4는 본 발명의 일 실시예에 따른 DVR 시스템에서, 데이터 저장 과정을 나타낸 순서도이다.
도 5는 본 발명의 일 실시예에 따른 DVR 시스템에서, 레코드 쓰레드 어플리케이션의 기능들을 나타낸 논리도이다.
도 6은 본 발명의 일 실시예에 따른 DVR 시스템에서, 저장된 데이터의 출력 과정을 설명하기 위한 논리도이다.
일반적으로, 프로그래밍 데이터의 "지적 분석(intelligent analysis)", "지적 파싱(intelligent parsing)", 또는 "인덱싱(indexing)"은 그로부터 정보를 뽑아내기 위하여 데이터를 분석하는 작업을 의미하는 것으로 이해된다. 예를 들어, 이터가 비디오 또는 오디오 데이터의 스트림으로 출력될 경우, 분석 작업은 프레임 출력시간 정보와 같은 비디오 또는 오디오 특이 정보를 저장된 데이터 파일 상의 위치 등의 시스템 특이 정보와 결합할 것이다.
본 명세서에 후술되는 다음의 설명은 저장 전에 인덱싱을 수행할 필요 없이, 멀티미디어 프로그래밍의 저장 및 출력을 수행하는 다수의 방법들과 시스템들이 예를 보인다. 그러나, 해당 설명은 본 발명의 범위를 제한하는 것이 아니라, 실시예들을 설명하기 위해 제공되는 것으로 이해되어야 할 것이다.
Ⅰ. 출력 및 저장 시스템
도 1을 참조하면, 일 실시예에 따른 디지털 비디오 레코더(DVR: digital video recorder)(100)는 직접 방송 위성(DBS: direct broadcast satellite)으로부터 위성 방송 수신기(satellite receiver)(110)를 통해, 인코딩된(encrypted), 스크램블된(scrambled) 혹은 순수한(clear) 방송 신호를 수신한다. 다른 실시예에서, 추가적인 또는 다른 종류의 방송 소스들과 포맷들, 예컨대 오프-에어(off-air) 또 는 지상파 전송, 혹은 케이블 텔레비전(TV)이 이용될 수 있다. 일반적으로, 방송 신호는 텔레비전 또는 다른 멀티미디어 프로그래밍 신호이다. 그 신호는 고해상도(HD: high definition) 텔레비전, 표준 규격(SD: standard definition) 텔레비전, 오디오 단독 신호 또는 다른 신호일 수 있다. 이러한 신호는 데이터의 수많은 주파수 대역-각각의 대역은 다수의 TV 컨텐츠 프로그램들(예컨대, CNN®, HBO® 등)을 포함함-을 포함한다. 바람직한 실시예에서, 아날로그 TV 포맷과 같은 대안적인 포맷들이 사용될 수 있으나, 수신기(receiver)(110)로부터 수신되는 해당 신호는 MPEG 전송 스트림으로서 전달된 멀티미디어 프로그래밍을 포함한다. MPEG 전송 스트림(전송 스트림)은 비디오-단독(video-only), 오디오-단독(audio-only), 혹은 다른 데이터의 패킷들을 포함한다. 각 패킷은 패킷 아이디(PID: packet identification)정보를 포함하는 관련 헤더 정보를 가질 수 있다. 패킷 아이디 정보는 패킷(비디오, 오디오, 기타)의 데이터 타입, 해당 패킷과 관련된 컨텐츠 프로그래밍, 기타 다른 정보를 정의할 수 있다. 또한 전송 스트림 상에서 인코딩된 비디오 및 오디오 패킷들은 패킷들을 동기화시키는데 필요한 PTS(presentation timestamp) 데이터를 포함할 수 있다. 또한 패킷들은 비디오 또는 오디오 프레임의 시작을 정의하는 시작 코드 데이터를 포함할 수 있다.
방송 멀티미디어 프로그래밍은 수신기(110)에서 수신되고 DVR(100)의 입력 섹션(input section)(120)에 포워딩된다. 신호는 방송 주파수 대역에 걸친 변조된 방송 신호이다. 수신기(110)는 DVR(100)로 신호를 포워딩하기 전에 수신된 신호를 매개 주파수로 변조할 수 있다. 섹션(120)의 튜너(Tuner)(121)는 수신기(110)로부 터 수신된 신호를 대상 컨텐츠 프로그래밍을 포함하고 있는 주파수 범위(채널)로 조정(tune)한다. 또한 입력 섹션(120)은 복조된 전송 스트림을 만들어내기 위하여 방송 신호를 복조하는 디모듈레이터(demodulator)(122)를 포함할 수 있다. 입력 섹션(120)은 또한 대상 컨텐츠 프로그래밍과 관련된 패킷들만을 포함하는 전송 스트림을 만들어내기 위하여 프로그래밍 별 PID(programming-specific PID)에 따라 전송 스트림을 필터링하는 디멀티플렉서(demultiplexor)(123)를 포함할 수 있다. 일 실시예에서, 디멀티플렉서(123)는 분리된 비디오 단독 PES(packetized elementary stream) 및 분리된 오디오 단독 PES 스트림을 생성할 수 있다. 다른 실시예에서, 싱글 전송 스트림은 상호배치된(interleaved) 비디오 및 오디오 데이터와 함께 생성된다. 디멀티플렉서(123)는 DVR(100)에서 사용하기 위해 다른(예컨대, 비디오가 아닌(non-video), 그리고 오디오가 아닌(non-audio)) 데이터 패킷들을 걸러낼 것이다. 또한 입력 섹션(120)은 추가적인 기능들, 예를 들면 에러 정정, 디스크램블링(descrambling), 디코딩(decryption), 아날로그-디지털 변환 또는 여러 가지 다른 기본적인 신호 프로세싱 기능들을 수행할 수 있다.
입력 섹션(120)으로부터 출력되는 MPEG 전송 스트림은 실시간으로 즉각 출력되기 위해 디스플레이 섹션(display section)(130)으로 라우팅될 수 있다. 디스플레이 섹션(130)은 적어도 MPEG 비디오 디코더(131)와 MPEG 오디오 디코더(132)를 포함한다. 디스플레이 섹션(130)은 텔레비전(140) 또는 다른 디스플레이 장치로의 전달 과정에 필요한 디지털-아날로그 변환기들, 인코더들, 추가적인 디코더들, 비디오 또는 오디오 필터들, 및/또는 메모리 버퍼들을 더 포함할 수 있다.
또한, 입력 섹션(120)으로부터 출력되는 MPEG 전송 스트림은 나중의 출력(later presentation) 또는 실시간 이외의 다른 출력 방식을 위하여 하드 디스크(hard disk)(150)와 같은 저장 장치로 라우팅될 수 있다. 바람직한 실시예에서, 프로그램 로직은 하드 디스크(150)로의 전송을 위하여 추가적인 버퍼들을 사용하지 않고 싱글 버퍼를 사용한다. 바람직하게는, 입력 섹션(120)으로부터 수신된 전송 스트림은 MPEG 비디오 및/또는 오디오 프레임 정보를 먼저 분석하거나 인덱싱하는 과정 없이 MPEG 전송 스트림 파일(TSP 파일)로 하드 디스크(150)에 기록된다. 다른 실시예에서, MPEG 정보는 PES 파일 또는 다른 적당한 파일 포맷으로서 저장된다. 그럼으로써, MPEG 전송 스트림은 상당한 시스템 자원들을 소비하지 않고 나중의 사용을 위해 효율적으로 저장된다. 타임 시퀀스, PTS, 시작 코드 또는 다른 임베디드된 MPEG 프레임 정보는 저장되기 전에, 분석, 인덱싱되거나 혹은 시스템 특이 정보(예컨대, TSP 파일 위치)와 서로 연관될(correlated) 필요가 없다. 분리된 TSP 파일들은 개별적으로 기록된 컨텐츠 프로그램 또는 개별적인 레코딩 세션으로 보존될 수 있다. 하드 디스크(150)는 하드 디스크(150) 상에 TSP 파일로 저장되어 있는 임의의 컨텐츠 프로그램의 인접식(contiguous) 그리고 비인접식(non-contiguous) 출력을 모두 제공하기 위하여 디스플레이 섹션(130)과 연결된다. 섹션(120)은 저장 및 컨텐츠 프로그래밍 출력을 동시에 수행하기 위하여 디스플레이 섹션(130)과 하드 디스크(150) 양측으로 동시에 출력을 제공할 수 있다.
또한, DVR(100)은 적어도 하나의 프로세서(processor)(160)와 적어도 하나의 RAM 모듈(RAM module)(170) 시스템을 포함한다. 프로그램 로직, 예컨대, DVR(100) 의 동작에 필요한 레코드 로직, 정상 플레이백(normal playback) 로직 또는 트릭 플레이백(trick playback) 로직은 프로세서(160)와 RAM 모듈(170)의 조합에 의해 실행될 수 있다. 다른 실시예에서, 분리된 프로세서들과 분리된 RAM 모듈들은 입력, 저장, 디스플레이, 및/또는 DVR(100)의 다른 기능들을 위해 채용될 수 있다. 일 실시예에서, DVR(100)은 리눅스(Linux) 운용 시스템에서 동작하는 시스템이다. 다른 실시예들에서, DVR은 유닉스(UNIX), 윈도우즈(Windows), 맥(Mac OS), 또는 다른 운용 시스템 상에서 동작하는 시스템일 수 있다. DVR(100)은 다중의 입력 섹션들, 디스플레이 섹션들, 저장 장치들, 프로세서들과 RAM 모듈들을 포함할 수 있다. 이러한 방식에서, DVR(100)은 다수의 신호 소스들을 수용할 수 있고, 동시에 혹은 선택적으로 다수의 컨텐츠 프로그램들을 디스플레이하고 기록할 수 있다.
Ⅱ. 저장 동작들
일 실시예에서, 기록 프로그램 로직은 레코드 드라이버(record driver) 및 레코드 쓰레드 어플리케이션(record thread application) 양자에 의해 비동기적으로 액세스 가능한 고정 메모리 주소를 가지고 있는 싱글 메모리 버퍼를 이용하여 동작한다. 또한, 레코드 버퍼를 의미하는 이 싱글 메모리 버퍼는 레코드 드라이버에 의해 채워진다. 이후, 싱글 버퍼들의 데이터는 단일 동작으로 레코드 쓰레드 어플리케이션에 의해 싱글 버퍼로부터 하드 디스크(150)로 옮겨진다. 바람직하게는, 레코딩 프로그램 로직은 흐름 제어(flow controlled)되지 않고, 레코드 드라이버 및 레코드 쓰레드 어플리케이션은 기타 제어 동작을 수행하는 어플리케이션 없이 독립적으로 싱글 버퍼로, 혹은 싱글 버퍼로부터 쓰거나 읽는다. 더욱 바람직하게는, 싱글 기록 버퍼는 순환형(circular) 버퍼이다. 싱글 버퍼를 사용함으로써, 둘 혹은 그 이상의 독립된 버퍼들 간의 전송이 불필요해지고, 프로세서 및 다른 시스템 자원들을 절약할 수 있을 것이다. 나아가, 싱글 버퍼 방법은 레코드 드라이버 및 레코드 쓰레드 어플리케이션 간의 통신 필요성을 없앰으로써 시스템 효율을 증가시킬 수 있다. 바람직하게는, DVR(100)은 DVR 상의 각 튜너마다 하나의 레코드 드라이버와 하나의 레코드 쓰레드 어플리케이션을 채용한다.
도 2는 일 실시예에 따른 DVR(100)에서 시스템 메모리 배치를 나타낸 것이다. 레코드 드라이버(들)을 포함하는 시스템 드라이버들은 드라이버 공간(driver space)(210)을 차지할 수 있다. 싱글 버퍼 메모리(signal buffer memory)(220)는 시스템 시동(startup) 시 리눅스 커널(Linux kernel)에 의해 예약된다. 바람직한 실시예에서, 싱글 버퍼 메모리(220)는 각 시스템이 시동되는 동안에 고정 메모리 주소를 할당한다. 또한 시스템 메모리는 리눅스 커널 및 플레이백(playback) 버퍼 또는 다른 사용자 지정 요소들을 포함할 수 있는 사용자 공간(linux kernel and user space)(230)을 포함한다. 일 실시예에서, 리눅스 커널은 메모리(220)를 위한 고정 주소를 예약한다. 싱글 버퍼 메모리(220)는 논리적으로 하나 혹은 그 이상의 전송 버퍼들(도시되지 않음)로 나뉠 수 있다. 싱글 버퍼 메모리(220)를 위한 고정 메모리 주소들을 갖는 바람직한 실시예에서, 드라이버 공간(210) 내 레코드 드라이버(들)은 하드-코디드(hard-coded) 오프셋(offset)을 사용하여 커널 메모리 상단에서부터 전송 버퍼 메모리 주소를 계산한다. 하드-코디드 오프셋은 공간(230) 내 리 눅스 커널에 의해 익스포트된(exported) 상위(high) 메모리 심볼에 의해 결정된다. 마찬가지로, 공간(230)에 존재하는 레코드 쓰레드 어플리케이션(들)은 실제 하드-코디드 전송 버퍼 주소(들)을 사용한다.
도 3은 레코드 드라이버(들)과 레코드 쓰레드 어플리케이션(들) 양자에 의해 비동기적으로 나누어진 싱글 버퍼 메모리(220)에서 메모리 배치의 일 실시예를 설명한다. 메모리(220)는 하나의 기록 정보 영역(record information region)(310)과 적어도 시스템의 각 튜너마다 할당되는 전송 버퍼(transport buffer)를 포함한다. 바람직한 실시예에서, 싱글 전송 버퍼는 DVR(100) 내 각각의 튜너마다 존재한다. 전송 버퍼 0(320), 전송 버퍼 1(330) 및 전송 버퍼 2(340)가 도시되었으나, 그 이상의 혹은 그 이하의 전송 버퍼들이 사용될 수 있다. 일 실시예에서, 기록 정보 영역(310)은 사이즈가 4096 바이트인 메모리의 한 페이지이고, 구조물 어레이(array)를 포함하되, 그 구조물에서 레코드 드라이버(들)에 의해 각 전송 버퍼로 쓰여진 데이터의 위치 및 사이즈와 관련한 정보가 저장되고 레코드 드라이버(들)에 의해 갱신된다. 레코드 쓰레드 어플리케이션(들)은 이러한 구조물들을 액세스할 수 있다.
도 4는 DVR(100)에서 저장을 목적으로 전송 스트림을 취급하는 과정을 나타낸다. 입력 섹션(120)으로부터 수신된 전송 스트림 데이터(410)는 레코드 드라이버(420)에 의해 싱글 메모리 버퍼(220)의 전송 버퍼(430)에 쓰여진다. 다른 일 실시예에서, 데이터는 입력 섹션(120)의 하드웨어에 의해 전송 버퍼로 이동한다. 또한 레코드 드라이버(420)는 드라이버의 기록 포인터의 위치를 지시하기 위하여 정 보 페이지(310)를 갱신한다. 레코드 드라이버는 전송 스트림 데이터가 흐름 제어 없이 입력 섹션으로부터 수신됨에 따라 실시간으로 동작한다.
최근의 읽기 위치를 저장하는 레코드 쓰레드 어플리케이션(440)은 버퍼(220)에 기록되지 않은(un-written) 데이터의 사이즈를 결정하기 위하여 정보 페이지(310)를 액세스한다. 레코드 쓰레드 어플리케이션(440)은 기록되지 않은 데이터를 TSP 파일로서 저장하기 위하여 하드 디스크(150)로 직접 전송한다.
도 5는 DVR(100) 상에서 동작하는 레코드 쓰레드 어플리케이션 루프(500)의 일 실시예에 대한 간략한 순서도이다. 레코드 쓰레드 어플리케이션은 마스터 어플리케이션이 레코드 쓰레드가 실행을 시작하도록 하기 위한 세마포어(semaphore)를 보낼 때까지 "시작(Start)" 세마포어 상에 대기한다(510).
레코드 쓰레드가 일단 실행되면, 여러 로컬 변수들이 초기화되고 실행 루프로 들어갈 수 있다(520). 과정(530)에서, 실행 루프는 전송 버퍼에서 읽어들이지 않은 데이터가 얼마나 있는지 여부와 그 데이터의 위치를 결정하기 위하여 레코드 쓰레드 어플리케이션과 연관된 전송 버퍼와 관련되어 있는 레코딩 정보 구조를 읽어들인다. 또한 과정(530)에서, 데이터가 0 바이트라고 할지라도, 해당 데이터는 이후 하드 디스크(150)로 쓰여진다. 레코드 쓰레드 어플리케이션은 레코드 쓰레드 어플리케이션을 통한 데이터 프로세싱 없이, 직접적인 IO(input/output) 전송을 통해 해당 데이터를 하드 디스크(150)로 전송한다. 하드 디스크(150)에 기록된 이후, 최근의 읽기 주소 등의 여러 로컬 변수들이 갱신될 수 있다(530). 이후, 레코드 쓰레드는 시한(時限, timed) "슬립(Sleep)" 세마포어를 통해 인터럽터블 슬 립(interruptible sleep) 상태로 전환될 수 있다. "슬립" 세마포어의 타임아웃(time out) 주기는 서비스 타입(예컨대, SD 또는 HD 텔레비전, 또는 오디오-단독)을 기초로 설정될 수 있다. 이 시한(timed) "슬립" 세마포어는 시스템의 다른 프로세스들이 실행될 수 있도록 한다. 만약 "슬립" 신호가 타임아웃되면, 이후 레코드 쓰레드가 다른 루프를 실행한다(540). 만약 마스터 어플리케이션이 레코드 쓰레드에 정지를 명령하는 신호를 보내면, 이후 그 신호가 타임아웃되지 않고, 해당 어플리케이션이 종료된다(550). 레코드 쓰레드 어플리케이션은 레코드 드라이버와 관련하여 비동기적으로 동작한다. 다른 실시예들에서, 레코드 쓰레드 어플리케이션은 레코드 태스크(record task) 또는 레코드 프로세스 어플리케이션(record process application)일 수 있다.
Ⅲ. 저장부로부터의 출력
DVR(100)은 저장된 비디오 및 오디오 데이터에 대한 여러 출력 모드들을 수용한다. 일 실시예에서, 출력 모드들은 정방향 재생(forward play), 중단(pause), 역방향 재생(reverse play), 느린 정방향 재생(slow motion forward) 또는 되감기(rewind), 그리고 정방향 또는 역방향 건너뛰기(skip forward or back)를 포함한다. 본 명세서에 설명된 방법들과 시스템들을 이용함으로써, DVR(100)은 사전에 인덱싱된 MPEG 프레임 정보를 사용하지 않고도, 혹은 특별한 프레임 포지셔닝(positioning)이나 타임 시퀀스 정보를 요구하지 않고도, 이러한 모드들을 수용할 수 있다. 기록 및 저장부로부터의 출력 전에 모든 저장된 비디오 및/또는 오디 오 데이터에 대한 타임 시퀀스 정보를 결정할 필요성을 없앰으로써, 시스템 자원들이 절약된다. 일 실시예에서, 하드 디스크(150)과 같은 저장 장치로부터의 출력은 저장된 MPEG 전송 스트림의 일부들을 디스플레이 섹션(130)으로 출력하기 전에 읽기 버퍼로 읽어들임으로써 수행된다. 일 실시예에서, 읽기 버퍼는 순환형의(circular) 읽기 버퍼이다. 본 명세서에서 설명하는 방법들은 비디오-단독 데이터, 오디오-단독 데이터 또는 조합된 비디오 및 오디오 데이터에 채용될 수 있다.
MPEG 비디오 압축 표준은 이전 또는 후속 프레임으로부터 특정 비디오 프레임들을 델타로 출력함으로써 비디오 신호를 전송 또는 저장하는데 필요한 데이터 량을 줄인다. 일반적으로 MPEG 비디오는 세 개의 주요 프레임 타입들로 구성된다. I-프레임들, 또는 인트라-코디드(intra-coded) 프레임들은 다른 어떤 프레임도 참조하지 않고 인코딩된 정지영상(picture)들이다. P-프레임들, 또는 예측형(predictive) 프레임들은 이전 프레임들로부터의 델타를 참조하여 인코딩한 정지영상(picture)들이고, B-프레임들, 또는 양자 예측형(bi-predictive) 프레임들은 이전 및 후속 프레임들로부터 델타를 참조하여 인코딩한 정지영상(picture)들이다. MPEG-4는 추가적인 인트라-코디드(intra-coded) 프레임 타입인 IRD-프레임을 특정하는데, 이 프레임도 역시 사용될 수 있다. 본 명세서에 설명된 방법들과 시스템들에 있어서, IRD-프레임은 I-프레임으로 치환될 수 있다. 완성된 이미지를 디스플레이하기 위하여, 적어도 하나의 인트라-코디드 프레임(I 또는 IRD)이 디코딩되고 출력되어야 한다. MPEG 인코딩 비디오 스트림은 미리 결정된 초 당 프레임(fps: frame per second) 비율로 제공되는 실시간 방송이다. fps는 컨텐츠 프로그램에 따 라 달라질 수 있다. 예를 들어, 프레임 비율은 약 30 fps(표준 텔레비전), 24 fps(영화), 25 fps(일부 외국 컨텐츠), 또는 다른 값일 수 있다. 또한 MPEG 표준은 오디오 데이터를 프레임 포맷으로 압축하는데 사용될 수 있다.
출력 모드들은 개념적으로 다음의 세 개의 카테고리들로 구분될 수 있다:

선형(재생)

정방향
느린 정방향 재생
중단

인접(트릭)

되감기
빠른 정방향 재생(임의 속도)
빠른 되감기(임의 속도)

비인접(트릭)

빠른 정방향 재생(임의 속도)
빠른 되감기(임의 속도)
정방향 건너뛰기
역방향 건너뛰기
선형(재생)[linear(play)]은 순차적으로 모든 프레임(I, P, 및 B)을 출력하는 출력 모드이다. 모든 비디오 데이터를 그 방송 fps 비율대로 출력하는 "정상(normal)" 재생을 의미하는 포워드 모드도 역시 선형(재생) 형식이다. "트릭(trick)"이라는 용어는 TSP 파일로부터 비인접식으로 읽어들이거나["검색(seeking)"] 혹은 정지영상 프레임들의 전체 수보다 적은 수를 출력["건너뛰기(skipping)"]하는 것을 요구하는 출력 모드를 정의하는데 사용된다. 인접(트릭)[contiguous(trick)]은 저장된 멀티미디어 데이터를 인접식으로 로드하는 트릭 모드이다. 비인접(트릭)[non-contiguous(trick)]은 저장된 멀티미디어 데이터를 비인접식으로 로드하는 트릭 모드이다. 출력 모드들의 다른 개념적인 구분들이 채용될 수도 있다. 일 실시예에서, 사용자는 DVR(100)의 사용자 제어를 쉽게 할 수 있는 원격 제어 장치를 사용하여 DVR(100)의 출력 모드를 선택한다.
도 6은 TSP 파일로서 저장된 데이터를 사용하는 바람직한 실시예에서, 사용자가 요구된 출력 모드를 바꿀 것을 선택한 후 출력 과정에 포함되는 단계들을 보인 간략한 논리도이다. 출력 모드가 선택됨에 따라, 요구된 출력 위치를 찾기 위해 TSP 파일을 처음부터 철저히 분석할 필요가 없는 출력을 가능하게 하기 위한 목적으로, MPEG 전송 스트림에서 인코딩된 비디오 데이터와 관련되어 있는 통계 정보가 사용될 수 있다. 과정(600)에서, 통계 데이터는 특정되지 않은(non-specific), 미리 생성된(pre-generated) 비디오 데이터 통계를 이용한 "위장된(spoofed)"(즉, 제공된) 것이거나, 또는 컨텐츠 프로그램이 정상 출력(normal presentation)되는 동안 특별히 생성된 것이다. 일 실시예에서, 다음의 표는 위장된 또는 수집된 비디오 데이터 통계 정보를 나타낸다.

통계:

설명:

total_num_frames

통계에 쓰인 I, P, 및 B 프레임들의 전체 숫자.

total_num_I_frames

통계에 쓰인 I 프레임들의 전체 숫자.

avg_frm_size

플레이백(playback) 동안 참여한 모든 프레임들로부터 구해진 평균 프레임 사이즈.

I_spacing

정지영상 그룹을 의미하며, 하나의 I-프레임으로부터 다음 I-프레임까지의 프레임들의 평균 정수 숫자.

GOP_size

정지영상 그룹의 평균 사이즈. I-프레임 공간(I-spacing)과 평균 프레임 사이즈(avg_frm_size)의 곱으로 계산됨.

Fps

초당 출력 프레임들
정상 출력 동안에 수집된 정보는 나중의 사용을 위해 비휘발성 메모리에 저장될 수도 있고, 저장되지 않을 수도 있다. 일 실시예에서, 정보는 현재의 출력 세션 동안에만 보존된다. 다른 실시예에서, 통계 정보는 방송 등의 전송 스트림에 포함될 수 있다. 전송 스트림에서 방송된 통계 정보를 사용하는 일 실시예에서, 전송 스트림에 포함된 통계 정보는 전송 스트림 패킷의 승인 필드에 포함된 개인적인 데이터이다.
과정(610)에서, 시스템은 요구된 출력 모드를 선택하고, 건너뛰기(skip)할 프레임들의 수를 설정한다. 원격 제어 장치를 채용하는 일 실시예에서, 출력 모드의 사용자 선택은 사용자 입력으로서 조정되고, DVR(100)은 그로부터 건너뛸 프레임들의 수를 결정한다. 출력 동작 동안 프레임 건너뛰기를 수행한 결과로, 사용자가 미리 결정된 재생 비율(예컨대, 출력 속도값)의 배수로 표현되는 가속 디스플레이로 느끼는 타임 시프트 디스플레이(time-shifted display)가 이루어진다. 일례로서, 만약 모든 8번째 I-프레임(Nth_I_frame)이 2번(M_repeats) 디스플레이되고, 평균적으로, 컨텐츠 프로그램에서 15번째 프레임(I_spacing)마다 I-프레임이 나타난다면, 사용자는 출력 동작을 "60x"(Speed)의 정상 비율로 감지할 것이다. 감지되는 출력 속도는 다음의 공식에 의해 결정될 수 있다.
Speed = (I_spacing) * (Nth_I_frame) / (M_repeats)
(I_spacing) 및 (Nth_I_frame)의 곱은 디스플레이를 위해 출력된 최근의 프레임으로부터 건너뛰기할 프레임들의 수를 결정한다. 일반적으로, 과정(600)으로부터의 통계 데이터는 (I_spacing)을 제공하는데 사용된다. 또는, 요구된 출력 모드가 싱글 프레임 건너뛰기 이벤트를 실행할 때, 정상 속도 출력이라도, 사용자는 "점프(jump)" 또는 정방향이나 역방향의 싱글 건너뛰기(single skip forwards or backwards)로 느낀다.
출력 모드의 선택 과정은 다수의 가변적인 플래그들을 설정할 수 있다. 일 실시예에서, 플래그 셋트는 "트릭(trick)", "인접식(contiguous)", 및 "정방향(forward)" 등과 같은 TRUE/FALSE 바이너리 플래그이다. 원격 제어 장치를 채용하는 일 실시예에서, 출력 모드의 선택에 기초한 사용자 검색 입력은 다양한 플래그들을 설정할 수 있다. 플래그들의 상태는 이어지는 프로세싱 단계들에 영향을 줄 수 있다. 일 실시예에서, "인접식" 플래그는 모든 프레임이 디스플레이되거나[예컨대, 선형(재생)] 또는 스킵되는 프레임들의 수가 (I_spacing) 이하인 경우 "TRUE"로 설정된다. 예를 들어, 4개의 프레임들이 스킵되고 I-프레임이 15번째 프레임마다 나타나는 경우, 디스플레이는 "인접식"이다. 이러한 경우들에 있어서, 시스템 효율은 데이터를 인접식으로(contiguously) 로딩함으로써 최적화될 수 있다. 따라서, 프레임들을 스킵(skip)하는 일부 방식들이 비인접식으로 설계되는 반면, 프레임들을 스킵하는 다른 출력 모드들은 인접식으로 고려될 것이다. 스킵되는 프레임들은 정방향=TRUE인 경우 양의 값으로, 정방향=FALSE인 경우 음의 값으로 표현될 수 있다.
과정(620)에서, 재사용(recycle) 동작은 인접식 플래그가 설정되었는지 여부에 따라 읽기 버퍼 상에서 실행될 수 있다. 인접식 출력 모드가 선택된 경우, 저장된 데이터는 인접식으로 로드(load)될 것이다. 따라서, 디스플레이 섹션으로 포워드되지 않고 남아있는(사용되지 않은) 읽기 버퍼의 일부분은 잠재적인 용도로 재사용될 수 있다. 재사용은 읽어들일 파일 데이터의 양을 줄임으로써 시스템 자원들을 절약한다. 비인접 출력 모드가 선택되는 경우, 620의 재사용 과정은 일어나지 않고, 사용되지 않은 데이터는 메모리로부터 지워지거나 덮어쓰여진다(폐기).
읽어들일 저장된 MPEG 전송 스트림 파일 데이터의 사이즈(읽기 사이즈)는 630 과정에서 결정된다. 읽기 사이즈는 인접식 플래그의 상태에 의해 결정된다. 인접식 모드인 경우, 읽기 사이즈(read size)는 읽기 버퍼 사이즈(read buffer size)의 최대값에서 재사용된 데이터 사이즈(recycled data size)를 뺀 값과 같다. 일 실시예에서, 비인접식 모드인 경우, 읽기 사이즈는 600 과정에서 결정된 것처럼, 평균 정지영상 그룹 사이즈(average group of picture size)의 2배이다. 논리적으로, 완성된 I-프레임이 위치할 수 없는 경우, 시스템 효율면에서 읽기 사이즈를 늘리는 것과 추가적인 읽기 이벤트에 의해 발생하는 비용은 서로 트래이드오프(tradeoff) 관계이다. 비인접식 모드에서는, 읽기 사이즈를 GOP 사이즈의 2배(최대 버퍼사이즈의 크기를 넘지 못함)로 설정함으로써, 완성된 I-프레임이 읽기 버퍼로 로드될 확률을 높은 수준으로 유지하면서 시스템 자원들을 절약할 수 있다. 또는, 비인접식 모드 읽기 사이즈는 다음의 공식을 이용해 결정될 수 있다. 여기서, (Service_time)은 완성된 I-프레임을 위치시키는데 요구되는 시간이고, Pmiss(s)는 완성된 I-프레임이 위치되지 못할 확률이며, treads는 s 사이즈의 읽기를 실행하는데 필요한 시간이다.
(service_time) = (Pmiss(s) + 1) * (treads)
Pmiss(s)의 커브가 제공되거나 DVR(100) 내에서 경험적으로 결정되고 나면(예컨대, 순차적인 비인접 출력 이벤트들을 통해), s의 값은 (service_time)을 최소화하도록 동적으로 조절될 수 있다.
검색 위치는 과정(640)에서 계산된다. 검색 위치는 저장된 MPEG 전송 스트림 파일에서 현재의 읽기 위치와 관련하여 결정된다. 일 실시예에서, 현재의 읽기 위치는 파일 포인터에 의해 지정된다. 과정(610) 동안에 "정방향" 및 "인접식" 플래그들이 "TRUE"로 설정되어 있는 출력 모드들에 대해서는, 데이터 로딩이 인접식으로 수행될 것이므로, 검색이 일어나지 않을 것이다. 정방향으로만 읽히는 파일 포인터를 가지고 있는 시스템에서 인접식 되감기(즉, 인접식=TRUE, 정방향=FALSE)에서는, 검색 위치는 재사용된 데이터 사이즈와 과정(630)에서 결정된 읽기 사이즈(즉, 최대 버퍼 사이즈)와의 합이며, 그 결과로 읽기 이벤트 이후 현재의 파일 포인터 위치를 처리하는 데이터가 읽기 버퍼로 위치할 것이다. 비인접 모드들에서는, 스킵되는 프레임들(과정(610)에서 설정)과 평균 프레임 사이즈(과정(600)에서 결정)의 곱과 같은 값을 갖는 검색 벡터가 계산된다. 또한 정확도를 늘리기 위하여 GOP 사이즈의 반과 같은 값의 조정값이 결정된다. 검색 위치는 다음의 공식에 의해 계산되며, 여기서 (Origin)은 현재의 파일 포인터 위치이다.
(Seek_Position) = (Origin) + (Seek_vector) - (GOP_size)/2
과정(650)에서, 파일 포인터는 과정(640)에서 결정된 위치를 찾는다. 과정(660)에서, 읽기 버퍼는 과정(630)에서 결정된 읽기 사이즈와 같은 저장된 MPEG 전송 스트림 파일의 일부분을 읽어들인다.
과정(670)에서, 프로그램 로직은 데이터의 완성된 I-프레임이 출력되는지 여부를 결정하기 위하여 읽기 버퍼에서 데이터를 분석한다. MPEG 전송 스트림에서, 각 패킷에는 부가적으로 승인 필드(Adaptation Field)가 구성된다. 승인 필드는 전송 스트림 상태 시그널링(transport stream state signaling), 스트림 타이밍 세부항목들(stream timing details), 전송 개인 데이터(transport private data), 및/또는 비디오 삽입 정보(video splicing information)를 포함할 수 있다. 승인 필드 내의 전송 개인 데이터는 액세스 유닛(AU: access unit) 정보를 포함할 수 있다. 액세스 유닛들은 비디오 프레임과 같이 디스플레이에 적합한 유닛(출력 유닛)의 표현(representations)(예컨대, I, B, 및 P 프레임들)으로 코딩된다. 일반적으로, I-프레임의 시작을 알려주는 액세스 유닛 정보는 전송 스트림 패킷의 패이로드(payload)에 담긴다. 일단 I-프레임 시작이 확인되면, 읽기 버퍼로 다른 프레임 초반부를 더 위치시키는 과정이 완성된 I-프레임을 알린다. 액세스 유닛 정보가 유효하지 않으면, 프로그램 로직은 시작 코드 정보-비디오 프레임의 시작을 알릴 수 있음-를 얻기 위해 전송 스트림 패이로드를 분석할 수 있다. 시작 코드에 바로 이어지는 데이터는 비디오 프레임 타입(I, P, 또는 B)을 가리킨다. 액세스 유닛 정보에서와 같이, I-프레임 시작을 확인한 후 후속적인 비디오 프레임 시작 코드를 위치시키는 과정은 버퍼에 완성된 I-프레임이 존재하는 것을 의미한다. 일반적으로, 승인 필드 데이터의 사용을 통한 I-프레임의 인증은 시작 코드 인증에 비해 덜 시스템 자원 집약적(less system source intensive)이다. 그러나, 승인 필드 정보가 부가적으로 인코딩되어 있는 한 시작 코드 정보는 항상 유효하다. 전술한 바와 같이, 승인 필드는 또한 개인적인 데이터로서 프레임 통계 정보를 포함할 수 있다. 일 실시예에서, 시작 코드 인증은 승인 필드 정보가 유효하지 않은 경우에만 사용된다. 다른 실시예에서, 시작 코드 데이터는 항상 독립적으로 또는 승인 필드 정보와 조합하여 사용된다.
결정 과정(680)에서, 프로그램 로직은 추가적인 데이터를 읽어들여야 하는지 여부를 결정한다. 바람직하게는, DVR(100)은 최소한 최대 정지영상 그룹 사이즈(maximum group of pictures size) 및 최대 I-프레임 사이즈(maximum I-frame size)의 합과 같은 읽기 버퍼를 가지고 있는 시스템이다. 이러한 바람직한 시스템에서, 최대 읽기 버퍼 사이즈가 채용됨에 따라, 완성된 I-프레임이 임의의 인접 재생 모드 동안에 읽기 버퍼로 위치될 가능성이 높을 것이다. 최대 정지영상 그룹 사이즈와 최대 I-프레임 사이즈의 합보다 작은 읽기 버퍼를 갖는 실시예들에 있어서, 추가적인 재사용 프로세스들, 추가적인 읽기 프로세스들, 및/또는 완성된 I-프레임을 위치시키기 위하여 읽기 버퍼의 적어도 일부를 폐기하는 동작을 수행하는 것이 필요할 수 있다. 재사용을 하지 않고, 최대 읽기 버퍼 사이즈보다 적게 읽어들이는 비인접식 모드에서, 완성된 I-프레임의 데이터가 위치되지 않는 경우 추가적인 데이터 읽기["부가(append)"]가 필요할 수 있다. 부가 동작은 시스템이 과정(660)으로 순환하고, 계산된 읽기 사이즈와 같은 저장부로부터 MPEG 전송 스트림 데이터의 추가적인 부분을 읽어들이며, 읽기 버퍼에서 이미 로드된 데이터에 새로운 데이터를 덧붙이는 경우에 일어난다. 읽기 버퍼의 사이즈에 따라, 비인접 모드에서 추가적인 부가 동작들을 하도록 하기 위하여, 적어도 읽기 버퍼의 일부를 폐기하는 것이 필요할 수 있다. 완성된 I-프레임이 로드되었는지, 그리고 완성된 I-프레임이 로드되지 않았는지 여부를 결정하기 위하여, 프로그램 로직은 다시 읽기 버퍼에 포함된 것을 분석하고, 읽기 루프를 실행하며, 완성된 I-프레임이 위치할 때까지 프로세스들을 분석할 것이다.
과정(690)에서, 완성된 I-프레임이 위치하고 나면, 완성된 I-프레임은 디코딩 및 디스플레이를 위하여 디스플레이 섹션(130)에 포워드된다. 디스플레이 섹션(130)은 텔레비전 셋트와 같은 다양한 디스플레이 장치들 상에서 출력을 위한 다수의 포맷들의 비디오 및/또는 오디오 신호를 출력할 수 있다. 방송된 신호가 오디오 단독 방송된 신호인 일 실시예에서, 디스플레이 장치는 스테레오 시스템과 같이 오디오 신호만을 출력하는 장치일 수 있다. DVR(100)은 요구된 출력 모드를 생성할 필요에 의해 기술된 출력 프로세스를 반복할 것이다. 본 명세서에 설명된 방법들을 이용함으로써, DVR 시스템은 비디오 및/또는 오디오 데이터를 인코딩한 MPEG 전송 스트림을 다중의 출력 모드들로 출력할 수 있다. 이러한 출력 모드들은 적어도 정상 속도, 다양한 속도의 정방향 및 역방향 재생, 그리고 정방향 및 역방향 건너뛰기를 포함하고, 요구된 정지영상 프레임을 찾기 위해 처음부터 선형으로 전송 스트림을 분석할 필요가 없으며, 전송 스트림의 저장 전에 비디오 및/또는 오디오 프레임 정보의 분석 및 인덱싱을 수행할 필요가 없다.
본 발명은 특정 바람직한 실시예의 참조와 함께 설명이 되었지만, 당업자는 다양한 변경과 다른 실시예가 제공될 수 있다는 것을 알 것이다. 이러한 실시예들과 다른 실시예들은 본 발명의 한도 내에 있고자 한다. 이러한 실시예들과 본 명세서에 기술한 실시예에 대한 다른 변경과 수정들은 후속의 청구항들에 의해서만 한정되는 본 발명에 의해 제공된다.

Claims (42)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 멀티미디어 프로그램의 비인접식 플레이백에 관련된 검색 입력을 수신하는 단계;
    상기 프로그램과 관련되며 적어도 상기 멀티미디어 프로그램의 평균 프레임 사이즈 및 상기 멀티미디어 프로그램 내의 정지영상 그룹의 평균 사이즈를 포함하는 통계 정보에 기초하여, 상기 검색 입력과 관련된 데이터 읽기 사이즈 및 검색 위치를 결정하는 단계;
    상기 검색 위치에서 시작되며 상기 데이터 읽기 사이즈를 갖는 저장된 상기 멀티미디어 프로그램의 일부를 로딩하는 단계;
    저장된 상기 멀티미디어 프로그램의 로딩된 상기 일부가 데이터의 완성된 I-프레임을 포함하는지 여부를 결정하는 단계;
    로딩된 상기 일부가 완성된 I-프레임을 포함하는 것으로 결정하는 것에 응답하여, 상기 I-프레임에서 시작하고 적어도 상기 I-프레임을 포함하여 로딩된 상기 일부를 출력하는 단계를 포함하는 것을 특징으로 하는 저장된 멀티미디어 프로그램의 출력 방법.
  25. 제 24항에 있어서,
    상기 멀티미디어 프로그램 내의 비디오 데이터를 정상 출력 속도로 순차적으로 출력하는 단계; 및
    상기 멀티미디어 프로그램의 정상 출력 속도에 기초하여 상기 통계 정보를 생성하는 단계를 더 포함하는 것을 특징으로 하는 저장된 멀티미디어 프로그램의 출력 방법.
  26. 제 24항에 있어서,
    상기 통계 정보는 미리 생성되어 서비스 공급자로부터 수신되는 것을 특징으로 하는 저장된 멀티미디어 프로그램의 출력 방법.
  27. 제 24항 내지 제26항 중 어느 한 항에 있어서,
    상기 데이터 읽기 사이즈는 상기 멀티미디어 프로그램 내의 상기 정지영상 그룹의 평균 사이즈에 기초하여 결정되는 것을 특징으로 하는 저장된 멀티미디어 프로그램의 출력 방법.
  28. 제 27항에 있어서,
    상기 데이터 읽기 사이즈는 상기 멀티미디어 프로그램 내의 상기 정지영상 그룹의 평균 사이즈의 2배에 기초하여 결정되는 것을 특징으로 하는 저장된 멀티미디어 프로그램의 출력 방법.
  29. 제 24항에 있어서,
    상기 검색 위치는, 현재의 파일 포인터 위치, 상기 검색 입력을 위하여 스킵할 프레임의 수, 평균 프레임 사이즈 및 정지영상 그룹의 조정값에 기초하여 결정되며, 상기 조정값은 상기 정지영상 그룹의 평균 사이즈에 기초하는 것을 특징으로 하는 저장된 멀티미디어 프로그램의 출력 방법.
  30. 제 29항에 있어서,
    상기 검색 위치는, 스킵할 프레임들 및 평균 프레임 사이즈의 곱과 동일한 값을 갖는 검색 벡터를 계산하고, 계산된 상기 검색 벡터를 상기 현재의 파일 포인터 위치에 더하며, 그 결과를 상기 정지영상 그룹의 평균 사이즈의 반에 의하여 조정하는 것에 의하여 결정되는 것을 특징으로 하는 저장된 멀티미디어 프로그램의 출력 방법.
  31. 제 30항에 있어서,
    상기 조정값은 상기 정지영상 그룹의 평균 사이즈의 반에 기초하여 결정되는 것을 특징으로 하는 저장된 멀티미디어 프로그램의 출력 방법.
  32. 제 24항에 있어서,
    로딩된 상기 일부가 완성된 프레임을 포함하지 않으면, 저장된 상기 멀티미디어 프로그램의 두 번째 부분을 로딩하는 단계를 더 포함하는 것을 특징으로 하는 저장된 멀티미디어 프로그램의 출력 방법.
  33. 제 24항에 있어서,
    상기 멀티미디어 프로그램은 데이터의 비디오 패킷을 포함하는 MPEG 스트림으로 제공되며,
    상기 검색 입력에 기초하여, 저장된 상기 MPEG 스트림 내의 데이터 읽기 사이즈 및 읽기 시작 위치를 결정하는 단계;
    상기 데이터 읽기 사이즈에 기초한 크기 및 상기 읽기 시작 위치에 기초한 위치를 갖는 저장된 상기 MPEG 스트림의 일부를 로딩하는 단계;
    로딩된 상기 일부가 완성된 MPEG 인트라-코디드 프레임을 포함하는지를 결정하기 위해 로딩된 상기 일부를 분석하는 단계; 및
    로딩된 상기 일부가 완성된 MPEG 인트라-코디드 프레임을 포함하는 경우, 출력용 비디오 프레임을 제공하기 위하여 상기 MPEG 인트라-코디드 프레임을 디코딩하는 단계를 더 포함하는 것을 특징으로 하는 저장된 멀티미디어 프로그램의 출력 방법.
  34. 제 24항에 있어서,
    상기 프로그램은, 상기 프로그램을 입력 버퍼에 수신하고, 저장 전에 인덱싱 정보를 생성하기 위하여 상기 프로그램 내의 데이터를 분석하는 과정 없이 상기 프로그램을 상기 입력 버퍼로부터 저장 장치에 저장하는 것에 의하여 저장되는 것을 특징으로 하는 저장된 멀티미디어 프로그램의 출력 방법.
  35. 인덱싱 없이 멀티미디어 프로그램을 저장하도록 동작 가능한 저장 장치;
    멀티미디어 프로그램의 비인접식 플레이백에 관련된 검색 입력을 수신하도록 동작 가능한 사용자 인터페이스;
    상기 프로그램에 관련되며 적어도 상기 멀티미디어 프로그램의 평균 프레임 사이즈 및 상기 멀티미디어 프로그램 내의 정지영상 그룹의 평균 사이즈를 포함하는 통계 정보에 기초하여, 상기 검색 입력과 관련된 데이터 읽기 사이즈 및 검색 위치를 결정하도록 동작 가능한 프로세서; 및
    상기 검색 위치에서 시작되며 상기 데이터 읽기 사이즈를 갖는 저장된 상기 멀티미디어 프로그램의 일부를 수신하도록 동작 가능한 읽기 버퍼를 포함하되,
    상기 프로세서는, 저장된 상기 멀티미디어 프로그램의 로딩된 상기 일부가 데이터의 완성된 I-프레임을 포함하는지 여부를 결정하고, 로딩된 상기 일부가 완성된 I-프레임을 포함하는 것으로 결정하는 것에 응답하여, 상기 I-프레임에서 시작하고 적어도 상기 I-프레임을 포함하여 로딩된 상기 일부를 출력하도록 동작 가능한 것을 특징으로 하는 디지털 비디오 레코더.
  36. 제 35항에 있어서,
    상기 프로세서는, 상기 멀티미디어 프로그램 내의 비디오 데이터를 정상 출력 속도로 순차적으로 출력하며, 상기 멀티미디어 프로그램의 정상 출력 속도에 기초하여 상기 통계 정보를 생성하도록 동작 가능한 것을 특징으로 하는 디지털 비디오 레코더.
  37. 제 35항에 있어서,
    상기 통계 정보는 미리 생성되어 서비스 공급자로부터 수신되는 것을 특징으로 하는 디지털 비디오 레코더.
  38. 제 35항 내지 제37항 중 어느 한 항에 있어서,
    상기 데이터 읽기 사이즈는 상기 멀티미디어 프로그램 내의 정지영상 그룹의 평균 사이즈에 기초하여 결정되는 것을 특징으로 하는 디지털 비디오 레코더.
  39. 제 38항에 있어서,
    상기 데이터 읽기 사이즈는 상기 멀티미디어 프로그램 내의 정지영상 그룹의 평균 사이즈의 2배에 기초하여 결정되는 것을 특징으로 하는 디지털 비디오 레코더.
  40. 제 35항에 있어서,
    상기 검색 위치는, 스킵할 프레임들 및 평균 프레임 사이즈의 곱과 동일한 값을 갖는 검색 벡터를 계산하고, 계산된 상기 검색 벡터를 현재의 파일 포인터 위치에 더하며, 그 결과를 상기 정지영상 그룹의 평균 사이즈의 반에 의하여 조정하는 것에 의하여 결정되는 것을 특징으로 하는 디지털 비디오 레코더.
  41. 제 40항에 있어서,
    조정값은 상기 정지영상 그룹의 평균 사이즈의 반에 기초하여 결정되는 것을 특징으로 하는 디지털 비디오 레코더.
  42. 제 35항에 있어서,
    로딩된 상기 일부가 완성된 프레임을 포함하지 않으면, 상기 프로세서는 저장된 상기 멀티미디어 프로그램의 두 번째 부분을 로딩하도록 더 동작 가능한 것을 특징으로 하는 디지털 비디오 레코더.
KR1020097004103A 2006-08-29 2007-08-27 저장 전에 인덱싱하는 과정 없이 멀티미디어 프로그래밍을 수신, 저장 및 출력하는 방법 및 장치 KR101014937B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/512,583 US7826712B2 (en) 2006-08-29 2006-08-29 Method and apparatus for receiving, storing, and presenting multimedia programming without indexing prior to storage
US11/512,583 2006-08-29

Publications (2)

Publication Number Publication Date
KR20090045926A KR20090045926A (ko) 2009-05-08
KR101014937B1 true KR101014937B1 (ko) 2011-02-15

Family

ID=38895059

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097004103A KR101014937B1 (ko) 2006-08-29 2007-08-27 저장 전에 인덱싱하는 과정 없이 멀티미디어 프로그래밍을 수신, 저장 및 출력하는 방법 및 장치

Country Status (11)

Country Link
US (3) US7826712B2 (ko)
EP (2) EP2405435B8 (ko)
JP (2) JP2010503269A (ko)
KR (1) KR101014937B1 (ko)
CN (1) CN101512657B (ko)
AU (2) AU2007290544B2 (ko)
BR (1) BRPI0716104A2 (ko)
CA (1) CA2660725C (ko)
MX (1) MX2009002191A (ko)
TW (1) TWI395481B (ko)
WO (1) WO2008027406A1 (ko)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7826712B2 (en) 2006-08-29 2010-11-02 Echostar Technologies Corporation Method and apparatus for receiving, storing, and presenting multimedia programming without indexing prior to storage
US8520852B2 (en) * 2006-12-22 2013-08-27 Ibiquity Digital Corporation Method and apparatus for store and replay functions in a digital radio broadcasting receiver
CN103559165B (zh) 2007-01-05 2016-08-17 索尼克知识产权股份有限公司 包含连续播放的视频分配***
US8180200B2 (en) * 2007-02-12 2012-05-15 Time Warner Cable Inc. Prevention of trick modes during digital video recorder (DVR) and network digital video recorder (NDVR) content
TWI340557B (en) * 2007-08-07 2011-04-11 Himax Tech Ltd Decoder and operation method thereof
KR20090072510A (ko) * 2007-12-28 2009-07-02 삼성전자주식회사 디스플레이장치 및 그 제어방법
US8179976B2 (en) * 2008-01-11 2012-05-15 Apple Inc. Control of video decoder for reverse playback operation
US7886070B2 (en) * 2008-01-15 2011-02-08 International Business Corporation Source updating for streaming based servers
US8351757B2 (en) * 2008-11-21 2013-01-08 Mitsubishi Electric Corporation Television broadcast receiving device
US8463108B2 (en) 2009-01-06 2013-06-11 Microsoft Corporation Client-side ad insertion during trick mode playback
US20100269147A1 (en) * 2009-04-15 2010-10-21 Echostar Technologies Llc Video stream index generation at a video content transmitter
JP2011004275A (ja) * 2009-06-19 2011-01-06 Sumitomo Electric Ind Ltd 映像処理装置、映像処理方法、及びデータ構造
US20110075994A1 (en) * 2009-09-28 2011-03-31 Hsiao-Shu Hsiung System and Method for Video Storage and Retrieval
CA2782825C (en) 2009-12-04 2016-04-26 Divx, Llc Elementary bitstream cryptographic material transport systems and methods
WO2012042097A1 (en) * 2010-09-30 2012-04-05 Nokia Corporation Method, apparatus and computer program product for summarizing multimedia content
US8472783B2 (en) * 2010-11-30 2013-06-25 Echostar Technologies L.L.C. Systems and methods for digital video high accuracy fast forward, rewind and skip
US9247312B2 (en) 2011-01-05 2016-01-26 Sonic Ip, Inc. Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol
KR20120117302A (ko) * 2011-04-15 2012-10-24 삼성전자주식회사 영상 재생 장치 및 그것의 영상 역재생 방법
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
US8806188B2 (en) 2011-08-31 2014-08-12 Sonic Ip, Inc. Systems and methods for performing adaptive bitrate streaming using automatically generated top level index files
US8909922B2 (en) 2011-09-01 2014-12-09 Sonic Ip, Inc. Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
US9313510B2 (en) 2012-12-31 2016-04-12 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
CN113259731B (zh) 2015-01-06 2023-07-04 帝威视有限公司 用于编码内容和在设备之间共享内容的***和方法
TWI593240B (zh) * 2016-05-27 2017-07-21 晨星半導體股份有限公司 包含錯誤更正程序之解碼裝置及解碼方法
US9940968B2 (en) 2016-08-30 2018-04-10 The Nielsen Company (Us), Llc Methods and apparatus to perform speed-enhanced playback of recorded media
US10681386B1 (en) * 2017-04-03 2020-06-09 L3 Technologies, Inc. Insertion of end of frame indicators in streaming video protocols
US11570396B1 (en) * 2021-11-24 2023-01-31 Dish Network L.L.C. Audio trick mode

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997019552A2 (en) 1995-11-20 1997-05-29 Imedia Corporation Method and apparatus for implementing playback features for compressed video data

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5355450A (en) 1992-04-10 1994-10-11 Avid Technology, Inc. Media composer with adjustable source material compression
US5377051A (en) * 1993-01-13 1994-12-27 Hitachi America, Ltd. Digital video recorder compatible receiver with trick play image enhancement
US5541738A (en) * 1994-04-12 1996-07-30 E. Guide, Inc. Electronic program guide
US5991502A (en) 1993-10-04 1999-11-23 Matsushita Electric Industrial Co., Ltd. Optical recording device which calculates distances between I-frames and records I-frame addresses in a sector
US5907660A (en) * 1994-09-21 1999-05-25 Mitsubishi Denki Kabushiki Kaisha Digital video signal playback device with special playback data being in the form of a still image slice data
US5614940A (en) 1994-10-21 1997-03-25 Intel Corporation Method and apparatus for providing broadcast information with indexing
EP1646049A3 (en) 1995-04-21 2010-01-06 Imedia Corporation An in-home digital video unit with combined archival storage and high-access storage
JPH08331509A (ja) * 1995-05-30 1996-12-13 Victor Co Of Japan Ltd 画像記録媒体及びその製造方法並びに再生方法
US6181867B1 (en) 1995-06-07 2001-01-30 Intervu, Inc. Video storage and retrieval system
US5659539A (en) 1995-07-14 1997-08-19 Oracle Corporation Method and apparatus for frame accurate access of digital audio-visual information
US6167083A (en) 1997-04-04 2000-12-26 Avid Technology, Inc. Computer system and process for capture editing and playback of motion video compressed using interframe and intraframe techniques
US6233389B1 (en) 1998-07-30 2001-05-15 Tivo, Inc. Multimedia time warping system
FR2782437B1 (fr) * 1998-08-14 2000-10-13 Thomson Multimedia Sa Procede de commutation de flux mpeg
DE60129083T2 (de) * 2000-06-30 2008-02-28 Texas Instruments Inc., Dallas Verfahren zur Videoübertragung über ein Netzwerk
US6700935B2 (en) * 2002-02-08 2004-03-02 Sony Electronics, Inc. Stream based bitrate transcoder for MPEG coded video
PL379808A1 (pl) * 2003-11-18 2006-11-13 Koninklijke Philips Electronics N.V. Odtwarzanie sygnału w trybie trick play
KR100601689B1 (ko) * 2004-06-29 2006-07-14 삼성전자주식회사 섹션 데이터 필터링 방법 및 장치
US7986372B2 (en) * 2004-08-02 2011-07-26 Microsoft Corporation Systems and methods for smart media content thumbnail extraction
JP2006101229A (ja) * 2004-09-29 2006-04-13 Toshiba Corp 映像再生装置
CN100477809C (zh) * 2005-07-15 2009-04-08 复旦大学 一种测量音视频内容变化的方法
US7826712B2 (en) 2006-08-29 2010-11-02 Echostar Technologies Corporation Method and apparatus for receiving, storing, and presenting multimedia programming without indexing prior to storage
TWI407433B (zh) * 2010-08-18 2013-09-01 Hon Hai Prec Ind Co Ltd 錄音設備及利用該錄音設備進行聲音處理與錄入的方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997019552A2 (en) 1995-11-20 1997-05-29 Imedia Corporation Method and apparatus for implementing playback features for compressed video data

Also Published As

Publication number Publication date
EP2057630B1 (en) 2018-04-18
AU2007290544B2 (en) 2010-12-16
AU2007290544A1 (en) 2008-03-06
TWI395481B (zh) 2013-05-01
EP2405435B1 (en) 2019-04-10
JP2014132779A (ja) 2014-07-17
KR20090045926A (ko) 2009-05-08
TW200822736A (en) 2008-05-16
US20110038615A1 (en) 2011-02-17
AU2011200246B2 (en) 2011-12-08
US20080056682A1 (en) 2008-03-06
CN101512657A (zh) 2009-08-19
JP5752824B2 (ja) 2015-07-22
EP2405435B8 (en) 2019-06-12
EP2405435A3 (en) 2012-02-22
EP2405435A2 (en) 2012-01-11
CA2660725A1 (en) 2008-03-06
JP2010503269A (ja) 2010-01-28
AU2011200246A1 (en) 2011-02-10
CA2660725C (en) 2013-01-22
MX2009002191A (es) 2009-04-22
US20110035517A1 (en) 2011-02-10
US7826712B2 (en) 2010-11-02
US8457478B2 (en) 2013-06-04
US8634706B2 (en) 2014-01-21
EP2057630A1 (en) 2009-05-13
WO2008027406A1 (en) 2008-03-06
CN101512657B (zh) 2014-03-12
BRPI0716104A2 (pt) 2014-04-08

Similar Documents

Publication Publication Date Title
KR101014937B1 (ko) 저장 전에 인덱싱하는 과정 없이 멀티미디어 프로그래밍을 수신, 저장 및 출력하는 방법 및 장치
JP3615486B2 (ja) マルチメディアの時間ワーピングシステム
JP4606738B2 (ja) マルチメディア信号処理システム
US7177522B2 (en) System and method for personal video recording
US8577205B2 (en) Digital video recording system
JP4226873B2 (ja) デジタル放送プログラムの記録方法,及びデジタル放送受信機
US8953930B2 (en) System and method for personal video recording
PT1449360E (pt) Melhoramentos em receptores de sinais de televisão
US6798839B2 (en) Image processing device, television receiver and image reproducing device
JP2005039308A6 (ja) デジタル放送プログラムの記録方法,再生方法,及びデジタル放送受信機
EP2635025B1 (en) Video processing method and video appliance implementing the method
US8331763B2 (en) Apparatus and method for synchronizing reproduction time of time-shifted content with reproduction time of real-time content
US7298966B2 (en) Recording device, recording method, and computer-readable program
JP4852453B2 (ja) 記録装置、映像再生装置、および、その特殊再生方法
KR100978995B1 (ko) 정보 기록 처리 장치, 정보 재생 처리 장치, 및 방법, 및 기록 매체
JP4763589B2 (ja) 再生装置、および、その再生方法

Legal Events

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

Payment date: 20140205

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150119

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160119

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170119

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180118

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190116

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20200115

Year of fee payment: 10