KR20140111789A - 디지털 tv 타임 쉬프트 방법 및 이를 이용한 디지털 tv 타임 쉬프트 장치 - Google Patents

디지털 tv 타임 쉬프트 방법 및 이를 이용한 디지털 tv 타임 쉬프트 장치 Download PDF

Info

Publication number
KR20140111789A
KR20140111789A KR1020130026124A KR20130026124A KR20140111789A KR 20140111789 A KR20140111789 A KR 20140111789A KR 1020130026124 A KR1020130026124 A KR 1020130026124A KR 20130026124 A KR20130026124 A KR 20130026124A KR 20140111789 A KR20140111789 A KR 20140111789A
Authority
KR
South Korea
Prior art keywords
time
time shift
disk
fragment
file
Prior art date
Application number
KR1020130026124A
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 삼성전자주식회사
Priority to KR1020130026124A priority Critical patent/KR20140111789A/ko
Priority to EP13168995.2A priority patent/EP2779670A3/en
Priority to US13/902,109 priority patent/US20140282758A1/en
Publication of KR20140111789A publication Critical patent/KR20140111789A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4333Processing operations in response to a pause request
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/4147PVR [Personal Video Recorder]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42646Internal components of the client ; Characteristics thereof for reading from or writing on a non-volatile solid state storage medium, e.g. DVD, CD-ROM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4335Housekeeping operations, e.g. prioritizing content for deletion because of storage space restrictions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/93Regeneration of the television signal or of selected parts thereof

Landscapes

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

Abstract

타임 쉬프트 기능의 구현에 따라 현재까지 녹화한 타임 쉬프트 프로그램의 시간 길이가 미리 설정한 최대 타임 쉬프트 시간에 도달하였는지 판단하는 제1 단계; 제1 단계에서 최대 타임 쉬프트 시간을 초과한 경우, 현재 수신된 전송 스트림의 스트림 비트율과 평균 스트림 비트율을 비교하여 디스크 조각의 방출 여부를 판단하는 제2 단계; 현재 수신된 전송 스트림의 스트림 비트율이 평균 스트림 비트율보다 크거나 같을 경우, 새로 녹화한 타임 쉬프트 프로그램이 최대 타임 쉬프트 시간 내의 타임 쉬프트 프로그램을 오버레이할 수 있는지 여부에 따라 디스크 조각 요청의 필요성 여부를 판단하는 제3 단계; 현재 수신된 전송 스트림의 스트림 비트율이 평균 스트림 비트율보다 작은 경우, 가장 오랜 타임 쉬프트 프로그램을 삭제하여 여분의 디스크 조각을 방출하는 제4 단계; 제1 단계에서 최대 타임 쉬프트 시간을 초과하지 않고, 제3 단계에서 디스크 조각 요청이 필요하면 저장 공간이 남아 있는지 판단하는 제5 단계; 남아 있는 저장 공간의 존재하지 않거나, 여분의 디스크 조각의 요청이 없는 경우, 현재와 시간상 가장 오래된 데이터를 오버레이하는 제6 단계; 및 남아 있는 저장 공간이 존재할 때 데이터율의 크기와 저장 공간 정보에 근거하여 새 파일 조각을 생성하는 제7 단계를 포함하여 이루어지는 디지털 TV 타임 쉬프트 방법 및 이를 이용한 디지털 TV 타임 쉬프트 장치.

Description

디지털 TV 타임 쉬프트 방법 및 이를 이용한 디지털 TV 타임 쉬프트 장치{Method of Digital TV time shift and Digital TV time shift apparatus using the same}
본 발명은 디지털 TV 기술에 관한 것으로서, 특히, 디스크 공간 이용률을 최적화할 수 있는 디지털 TV 타임 쉬프트 방법 및 이를 이용한 디지털 TV 타임 쉬프트 장치에 관한 것이다.
디지털 TV 중의 타임 쉬프트 (time shift)란 프로그램을 메모리에 녹화하여 향후 사용하는 것을 가리킨다. 시청자가 디지털 TV 프로그램을 시청시, 일시 중지 혹은 되감기/빨리 감기 버튼을 수시로 누를 수 있고 며칠 전의 TV 프로그램을 선택하여 시청할 수도 있다.
기존의 기술 중에서, 비교적 흔한 것은 네트워크 TV가 제공하는 타임 쉬프트 기능으로서, 이는 주로 서버 측에서 실현한다. 출원번호가 "200610147769.1"이고 발명의 명칭이 "타임 쉬프트 기능을 가지는 생방송 서버 및 실현방법"인 중국 발명특허 출원, 그리고 출원번호가 "200510111252.2"이고 발명의 명칭이 "네트워크 상호작용 TV시스템에서 타임 쉬프트 기능을 실현하는 방법"인 중국 발명특허 출원을 참조할 수 있다. 이런 유형의 타임 쉬프트 방안은 방송TV 서비스 제공사에서 주로 사용되고, 서버 측에서 복잡성을 차단하고 클라이언트 측에서 임의의 관심이 있는 영역으로 건너뛸 수 있는 것을 특징으로 한다.
현재 TV측에서 타임 쉬프트 기능을 제공하는 기술방안도 일부 나타났다. 즉, TV측에서 일정시간범위 내의 데이터를 로컬에 녹화하여 사용자에게 제공하여 타임 쉬프트에 사용하도록 하는 것이다. 타임 쉬프트의 방법에는 주로 하기와 같은 두 가지가 있다.
첫째, 시간 설정 및 공간 설정
현재 데이터율에 따라 하나의 부호율 상한을 가설하고, 이에 따라 현재 디스크가 녹화할 수 있는 프로그램의 시간길이를 계산한 다음, 기설정한 프리 디스크 공간에 디스크 공간이 채워질 때까지 프로그램을 녹화하는 동시에, 상층에 제공하는 재생가능한 데이터는 고정적이다.
이러한 방법은 하기와 같은 결점이 존재한다.
1) 공간이 합리적으로 이용될 수 없다. 해당 방법은 가설된 부호율의 상한에 기초하여 녹화할 수 있는 프로그램의 시간길이를 계산한 것으로서, 만약 실제 부호율에 따라 계산할 경우 현재 공간하에 상층에 더욱 많은 시간의 타임 쉬프트 내용을 제공할 수 있다.
2) 만약 이때 기타 어플리케이션이 디스크 공간을 점유한다면, 타임 쉬프트 내용이 당시 설정한 시간길이에 도달할 수 없게 될 수도 있다.
둘째, 시간 설정 및 공간 미설정
공개번호가 "CN101146196A"이고 발명의 명칭이 "타임 쉬프트 저장공간을 제어하는 방법과 설비 및 이를 사용하는 TV수신기"의 중국 발명특허 출원에 의하면, 타임 쉬프트 실 예가 공간의 증가를 필요로 할 시 이를 위해 더욱 많은 공간을 할당하지만, 타임 쉬프트 실시 예가 그렇게 많은 공간이 필요하지 않을 경우 주동적으로 여분의 공간을 방출하지 않는다.
공개번호가 "US 2006171658A1"이고 발명의 명칭이 "Use trim module to delete the oldest data"의 미국특허출원에 의하면, 잘라내기 파일 모듈을 증가하였고 파일조작을 복잡화시켰다. 새로 녹화한 데이터를 입력하는 동시에 기간 만료된 데이터를 잘라내는데, 일반적으로 타임 쉬프트 과정은 새로 녹화한 데이터로 기간 만료된 데이터를 오버레이하는 것이므로, 증가한 잘라내기 기능은 타임 쉬프트 성능을 저하할 수 있다.
상기 기존의 기술방안에 의하면, 디스크 공간이 부족한 상황하에서 어떻게 디스크 공간을 더욱 합리적으로 이용할 것이고 또한, 기타 어플리케이션과 합리적으로 공존할지에 대해 고려하지 않았다. 또한, 상기 기존의 기술은 단일 튜너(Tuner)의 타임 쉬프트에 관한 것으로, 더욱 많은 더블 튜너 하드웨어의 보급에 따라 2개 혹은 2개 이상의 튜너일 경우, 타임 쉬프트 기능이 제공되도록 요구되고 있다.
본 발명은 디지털 TV 타임 쉬프트 과정 중에 디스크공간 이용률을 최적화하는 타임 쉬프트 방법 및 장치를 제공함으로써, 필요에 따라 타임 쉬프트 프로그램이 점용하는 디스크 공간의 크기를 동적으로 변화시킬 수 있어, 디스크 공간이 부족할 경우 디스크 공간의 이용률이 낮은 문제를 방지할 수 있다.
이러한 목적을 달성하기 위한 본 발명에 따른 디지털 TV 타임 쉬프트 방법은 타임 쉬프트 기능의 구현에 따라 디지털 TV 방송을 녹화하는 녹화 단계; 상기 녹화 단계 중 타임 쉬프트 기능의 중단 원인을 감지하는 감지 단계; 및 상기 중단 원인에 따라 디스크 공간의 크기를 동적으로 변화시키는 제어 단계를 포함하여 이루어지는 것을 특징으로 한다.
본 발명에 따른 디지털 TV 타임 쉬프트 방법은 타임 쉬프트 기능의 구현에 따라 현재까지 녹화한 타임 쉬프트 프로그램의 시간 길이가 미리 설정한 최대 타임 쉬프트 시간에 도달하였는지 판단하는 제1 단계; 제1 단계에서 최대 타임 쉬프트 시간을 초과한 경우, 현재 수신된 전송 스트림의 스트림 비트율과 평균 스트림 비트율을 비교하여 디스크 조각의 방출 여부를 판단하는 제2 단계; 현재 수신된 전송 스트림의 스트림 비트율이 평균 스트림 비트율보다 크거나 같을 경우, 새로 녹화한 타임 쉬프트 프로그램이 최대 타임 쉬프트 시간 내의 타임 쉬프트 프로그램을 오버레이할 수 있는지 여부에 따라 디스크 조각 요청의 필요성 여부를 판단하는 제3 단계; 현재 수신된 전송 스트림의 스트림 비트율이 평균 스트림 비트율보다 작은 경우, 가장 오랜 타임 쉬프트 프로그램을 삭제하여 여분의 디스크 조각을 방출하는 제4 단계; 제1 단계에서 최대 타임 쉬프트 시간을 초과하지 않고, 제3 단계에서 디스크 조각 요청이 필요하면 저장 공간이 남아 있는지 판단하는 제5 단계; 남아 있는 저장 공간의 존재하지 않거나, 여분의 디스크 조각의 요청이 없는 경우, 현재와 시간상 가장 오래된 데이터를 오버레이하는 제6 단계; 및 남아 있는 저장 공간이 존재할 때 데이터율의 크기와 저장 공간 정보에 근거하여 새 파일 조각을 생성하는 제7 단계를 포함하여 이루어지는 것을 다른 특징으로 한다.
본 발명에 따른 디지털 TV 타임 쉬프트 방법의 세부적 특징은 최대 타임 쉬프트 시간 길이 및 최소 타임 쉬프트 시간 길이 중 적어도 어느 하나를 사용자가 미리 설정하기 위한 설정단계를 더 포함하는 점이다.
본 발명에 따른 디지털 TV 타임 쉬프트 방법의 다른 세부적 특징은 복수 개의 타임 쉬프트 프로그램의 녹화가 동시에 진행될 때, 디스크 공간을 획득하는 우선 순위를 미리 설정하는 단계를 더 포함하는 점이다.
본 발명에 따른 디지털 TV 타임 쉬프트 방법의 또 다른 세부적 특징은 디스크 공간이 부족한 경우, 우선 순위에 따라 디스크 공간을 할당하는 점이다.
본 발명에 따른 디지털 TV 타임 쉬프트 방법의 또 다른 세부적 특징은 디스크 공간이 부족한 경우, 최소 타임 쉬프트 시간에 도달하지 않은 타임 쉬프트 프로그램에 대하여 우선적으로 디스크 공간을 할당하는 점이다.
본 발명에 따른 디지털 TV 타임 쉬프트 방법의 또 다른 세부적 특징은 이미 녹화한 타임 쉬프트 프로그램은 디스크 조각의 연결 정보가 저장된 디스크 조각 리스트 및 파일 시스템의 아이노드(inode)를 통해 관리되는 점이다.
본 발명에 따른 디지털 TV 타임 쉬프트 방법의 또 다른 세부적 특징은 이미 녹화한 타임 쉬프트 프로그램을 읽어올 경우, 상기 디스크 조각 리스트를 조회하고, 다음 읽을 디스크 조각의 물리적 주소를 확정하는 점이다.
본 발명에 따른 디지털 TV 타임 쉬프트 방법의 또 다른 세부적 특징은 디스크 조각을 방출하는 제4 단계가, 전송 스트림의 감소로 인해, 실제 녹화한 총 시간이 최대 시간을 초과한 경우, 녹화 시간을 우선 순위로 하여 녹화가 가장 오래된 디스크 조각을 방출하고, 디스크 조각 리스트 및 파일 시스템의 아이노드를 업데이트하는 점이다.
본 발명에 따른 디지털 TV 타임 쉬프트 방법의 또 다른 세부적 특징은 디스크 조각을 방출하는 제4 단계가, 방출이 필요한 공간보다 방출하려는 디스크 조각이 큰 경우, 디스크 조각 리스트의 "스타팅 섹터" 및 "엔딩 섹터" 오프셋 및 파일 시스템의 아이노드를 업데이트하는 점이다.
본 발명에 따른 디지털 TV 타임 쉬프트 방법의 또 다른 세부적 특징은 디스크 조각을 방출하는 제4 단계가, 사용자에 의해 최대 타임 쉬프트 시간 감소가 설정된 경우, 타임 쉬프트를 정지한 후, 디스크 조각 리스트에서 최대 타임 쉬프트 시간 이후에 해당하는 데이터를 삭제하고, 파일 시스템의 아이노드를 업데이트하는 점이다.
본 발명에 따른 디지털 TV 타임 쉬프트 방법의 또 다른 세부적 특징은 디스크 조각을 오버레이하는 제6 단계가, 타임 쉬프트 시간이 최대 시간을 초과하지 않을 경우, 디스크 조각 리스트에 따라 다음 시간상의 인접한 파일 조각을 검색하여 새로운 녹화 데이터를 입력하는 점이다.
본 발명에 따른 디지털 TV 타임 쉬프트 방법의 또 다른 세부적 특징은 디스크 조각을 오버레이하는 제6 단계가, 이미 녹화한 데이터가 최대 타임 쉬프트 시간에 도달한 동시에 타임 쉬프트 프로그램의 부호율이 감소될 경우, 디스크에 저장된 파일의 타임 쉬프트 시간은 최대 시간을 초과하고 디스크 조각 리스트도 길어지는 점이다.
본 발명에 따른 디지털 TV 타임 쉬프트 방법의 또 다른 세부적 특징은 디스크 조각을 오버레이하는 제6 단계가, 이미 녹화한 데이터가 최대 타임 쉬프트 시간에 도달하였지만 디스크 조각 리스트 중에 물리적으로 인접된 파일 조각이 없을 경우, 디스크 조각 리스트에 따라 다음 시간상의 인접한 파일 조각을 검색하여 새로운 녹화 데이터를 입력하는 점이다.
본 발명에 따른 디지털 TV 타임 쉬프트 방법의 또 다른 세부적 특징은 디스크 조각을 오버레이하는 제6 단계가, 이미 녹화한 데이터가 최대 타임 쉬프트 시간에 도달하였고, 디스크 조각 리스트 중에 물리적으로 인접된 파일 조각이 있지만 디스크 조각과 대응하는 재생시간이 최대 타임 쉬프트 시간 내에 있을 경우, 디스크 조각 리스트에 따라 다음 시간상의 인접한 파일 조각을 검색하여 새로운 녹화 데이터를 입력하는 점이다.
본 발명에 따른 디지털 TV 타임 쉬프트 방법의 또 다른 세부적 특징은 디스크 조각을 오버레이하는 제6 단계가, 이미 녹화한 데이터가 최대 타임 쉬프트 시간에 도달하였고, 디스크 조각 리스트 중에 물리적으로 인접된 파일 조각이 있으며, 디스크 조각과 대응하는 재생시간이 최대 타임 쉬프트 시간 내에 있지 않을 경우, 현재 인접한 파일 조각을 병합하고, 쓰기 포인터(write pointer)를 해당 조각에 이동시키고 디스크 조각 리스트를 업데이트하는 점이다.
본 발명에 따른 디지털 TV 타임 쉬프트 방법의 또 다른 세부적 특징은 디스크 조각을 생성하는 제7 단계가, 현재 미방출한 파일 조각 리스트 중에서 가장 부합되는 파일 조각 블록을 검색하는 단계; 및 해당 파일 조각이 존재하면, 파일 조각 색인리스트 중에 추가하고, 쓰기 포인터(write pointer)를 새로운 조각으로 이동하는 단계를 포함하여 이루어지는 점이다.
본 발명에 따른 디지털 TV 타임 쉬프트 방법의 또 다른 세부적 특징은 디스크 조각을 생성하는 제7 단계가, 현재 미방출한 파일 조각 리스트 중에서 가장 부합되는 파일 조각 블록을 검색하는 단계; 및 해당 파일 조각이 없다면, 빈 공간이 충족한지 여부를 판단하고, 만약 디스크 공간이 부족하면 해당 정보를 사용자 인터페이스 모듈에 통지하는 단계를 포함하여 이루어지는 점이다.
본 발명에 따른 디지털 TV 타임 쉬프트 방법의 또 다른 세부적 특징은 사용가능한 디스크 조각이 또 존재하면, 물리적으로 인접한 조각의 존재 여부를 우선적으로 검색하고, 물리적으로 인접한 조각이 있으면 우선 현재 파일 조각으로 병합시키고, 현재 디스크 조각 리스트 중의 디스크 조각 크기 정보를 수정하고 파일 시스템의 아이노드를 업데이트하는 점이다.
본 발명에 따른 디지털 TV 타임 쉬프트 방법의 또 다른 세부적 특징은 사용가능한 디스크 조각이 또 존재하면, 물리적으로 인접한 조각의 존재 여부를 우선적으로 검색하고, 물리적으로 인접한 조각이 없으면, 사용가능한 디스크 조각을 현재 파일 중에 추가하고, 쓰기 포인터(write pointer)를 새로운 조각에 이동시키고 디스크 조각 리스트를 업데이트하는 점이다.
본 발명에 따른 디지털 TV 타임 쉬프트 장치는 디지털 TV 사용자와의 인터페이스를 제공하여, 사용자로부터 타임 쉬프트 동작 구현에 필요한 설정 값 및 제어 요청 신호를 수신하는 사용자 인터페이스 모듈; 및 상기 사용자 인터페이스 모듈로부터 제공되는 설정 값 및 제어 요청 신호를 수신하여 타임 쉬프트 기능을 구현할 때, 디스크 조각을 최소 관리유닛으로 하여, 디스크 조각 리스트를 통해 현재 파일을 구성하는 모든 디스크 조각을 직렬연결시키고, 타임 쉬프트 프로그램을 녹화하는 과정 중에서, 만약 현재의 이미 녹화한 타임 쉬프트 프로그램의 시간길이가 최대 타임 쉬프트 시간을 이미 초과하고 현재 수신된 전송 스트림의 스트림 비트율이 평균 스트림 비트율보다 작을 경우, 현재 파일 중에서 녹화시간이 가장 오래된 타임 쉬프트 프로그램을 삭제하고 상응하는 디스크 조각을 디스크 조각 리스트 중에서 삭제하고, 새로 녹화한 타임 쉬프트 프로그램으로 현재 파일 중의 녹화가 가장 오래된 타임 쉬프트 프로그램을 오버레이하는 파일 관리 모듈을 포함하여 이루어지는 것을 특징으로 한다.
본 발명에 따른 디지털 TV 타임 쉬프트 장치의 세부적 특징은 상기 사용자 인터페이스 모듈을 통해 설정되는 값은, 최대 타임 쉬프트 시간, 최소 타임 쉬프트 시간, 타임 쉬프트 프로그램의 우선 순위, 키 프레임 색인의 온(ON) 여부, 디스크 조각 병합 기능의 온(ON) 여부 중 적어도 어느 하나를 포함하고, 상기 사용자 인터페이스 모듈을 통해 수신되는 사용자 제어신호는 타임 쉬프트 기능의 시작 및 종료를 위한 제어신호를 포함하는 점이다.
본 발명에 따른 디지털 TV 타임 쉬프트 장치의 다른 세부적 특징은 수신된 전송 스트림 중에서 데이터율 정보를 추출하여 처리하고, 전송 스트림을 상기 파일 관리 모듈에 발송하는 데이터율 정보 추출모듈; 및 상기 데이터율 정보 추출모듈로부터 데이터율 정보를 수신하여 화면그룹 단위로 녹화시간의 순서로 배열한 리스트를 구성하고 빠른 검색 및 조회기능을 제공하는 동영상 정보 색인모듈을 더 포함하는 점이다.
본 발명에 따른 디지털 TV 타임 쉬프트 장치의 또 다른 세부적 특징은 상기 데이터율 정보는 절대시간, 절대 데이터 옵셋 및 키프레임 라벨을 포함하고, 처리 후의 데이터율 정보는 녹화시간, 데이터 옵셋 및 프레임 유형을 포함하는 점이다.
본 발명에 따른 디지털 TV 타임 쉬프트 장치의 세부적 특징은 복수의 타임 쉬프트가 수행될 때, 상기 사용자 인터페이스 모듈을 통해 설정된 우선 순위에 따라 상기 파일 관리 모듈을 통해 디스크 공간에 녹화되는 점이다.
본 발명에 따른 디지털 TV 타임 쉬프트 장치의 세부적 특징은 디스크 공간이 부족한 경우, 최소 타임 쉬프트 시간에 도달하지 않은 타임 쉬프트 프로그램에 대하여 우선적으로 디스크 공간을 할당하는 점이다.
본 발명은 디지털 TV 타임 쉬프트 과정 중에 디스크공간 이용률을 최적화하는 방법 및 장치를 제공함으로써, 필요에 따라 타임 쉬프트 프로그램이 점용하는 디스크 공간의 크기를 동적으로 변화시킬 수 있어, 디스크 공간이 부족할 경우 디스크 공간의 이용률이 낮은 문제를 방지할 수 있다.
도 1은 본 발명의 바람직한 디지털 TV 타임 쉬프트 과정 중에 디스크공간 이용률을 최적화하는 방법의 공정도이다.
도 2는 본 발명의 바람직한 디지털 TV 타임 쉬프트 과정 중에 디스크공간 이용률을 최적화하는 장치의 구성도이다.
도 3은 단일 타임 쉬프트 실시 예의 메인 화면 모식도이다.
도 4는 2개 타임 쉬프트 실시 예가 동시에 운행되는 메인 화면 모식도이다.
도 5는 본 발명에 따른 사용자 인터페이스 모듈과 파일 관리 모듈의 대화 모식도이다.
도 6은 절대 오프셋과 파일 오프셋이 파일 관리 모듈의 미들웨어 층 중에서의 매핑관계(mapping relationship) 모식도이다.
도 7은 본 발명에 따른 파일 조각을 병합시키는 공정도이다.
본 발명의 목적, 기술방안 및 특징이 더욱 명확해지도록, 하기 도면 및 실시 예를 참조하여 본 발명에 대하여 더욱 상세하게 설명하도록 한다.
본 발명의 주요사상은 하기와 같다.
타임 쉬프트 프로그램을 녹화하는 과정 중에서, 만약 현재의 이미 녹화한 타임 쉬프트 프로그램의 시간길이가 설정한 최대 타임 쉬프트 시간을 이미 초과하고 또한 현재 수신된 전송 스트림의 스트림 비트율이 평균 스트림 비트율보다 작을 경우, 녹화시간이 가장 오래된 타임 쉬프트 프로그램을 삭제함으로써 여분의 디스크 조각을 방출하도록 하고 새로 녹화한 타임 쉬프트 프로그램으로 현재 파일 중의 녹화가 가장 오래된 타임 쉬프트 프로그램을 오버레이한다. 상기 주요사상에 기반하여, 스트림 비트율이 작아짐에 따라 여분의 디스크 조각을 주동적으로 방출할 수 있어 타임 쉬프트 프로그램이 점용하는 디스크 공간이 전송 스트림의 스트림 비트율의 크기의 기복에 따라 증감되도록 함으로써, 필요에 따라 타임 쉬프트 프로그램이 점용하는 디스크 공간의 크기를 동적으로 변화시키는 목적을 달성할 수 있고, 디스크 공간이 부족할 경우 디스크 공간의 이용률이 낮은 문제를 방지할 수 있다.
본 발명에 의하면, 최대 타임 쉬프트 시간은 이미 녹화한 타임 쉬프트 프로그램이 디스크 중에 저장될 수 있는 최대 시간길이이고, 최소 타임 쉬프트 시간은 디스크 공간이 허용되는 상황하에 타임 쉬프트 실시 예의 이미 녹화한 타임 쉬프트 프로그램이 최소한 도달해야 하는 시간길이이다.
본 발명은 단일 타임 쉬프트 실시 및 복수 개 타임 쉬프트 실시 예를 포함한다. 복수 개 타임 쉬프트 실시 예에 의하면, 단일 타임 쉬프트 실시 예 방안의 기초 상에 각 타임 쉬프트 실시 예를 위하여 디스크 공간을 획득할 수 있는 우선순위를 설정하고 디스크 공간이 부족할 경우 각 타임 쉬프트 실시 예의 우선순위에 따라 디스크 공간 할당을 진행함으로써 각 타임 쉬프트 실시 예가 서로의 디스크 공간을 효과적으로 이용할 수 있도록 한다.
도 1은 본 발명의 바람직한 디지털 TV 타임 쉬프트 과정 중에 디스크공간 이용률을 최적화하는 방법의 공정도이다. 도 1에 도시된 방법은 하기와 같은 단계를 포함한다.
단계(101): 타임 쉬프트 기능을 설정한다.
타임 쉬프트 녹화를 시작하기 전에, 사용자 인터페이스 모듈을 통해 혹은 디폴트 데이터를 이용하여 타임 쉬프트 기능 선택사항을 설정하는데, 최대 타임 쉬프트 시간 및 최소 타임 쉬프트 시간 등을 설정하는 것이 포함된다.
단계(102): 타임 쉬프트 녹화를 시작한다.
단계(103): 현재 이미 녹화한 타임 쉬프트 프로그램의 시간길이가 설정한 최대 타임 쉬프트 시간에 도달하였는지 여부를 판단하고, 만약 설정한 최대 타임 쉬프트 시간에 도달할 경우 단계(104)를 수행하고, 그렇지 않을 경우 단계(108)를 수행한다.
단계(104): 현재 수신된 전송 스트림의 스트림 비트율이 평균 스트림 비트율보다 작은지 여부를 판단하고, 작을 경우 단계(106)를 수행하고, 그렇지 않을 경우 단계(105)를 수행한다.
단계(105): 새로 녹화한 타임 쉬프트 프로그램이 최대 타임 쉬프트 시간 내의 타임 쉬프트 프로그램을 오버레이할 수 있는지 여부를 판단하고, 즉 디스크 조각의 요청이 필요한지 여부를 판단하고, 필요할 경우 단계(108)를 수행하고, 그렇지 않을 경우 단계(107)를 수행한다.
단계(106): 녹화시간이 가장 오랜 타임 쉬프트 프로그램을 삭제하여 여분의 디스크 조각을 방출하도록 한다.
단계(107): 새로 녹화한 타임 쉬프트 프로그램으로 현재 파일 중의 녹화가 가장 오래된 타임 쉬프트 프로그램을 오버레이하고, 단계(102)로 되돌아간다.
단계(108): 프리디스크 공간의 존재여부를 판단하고, 존재할 경우 단계(109)를 수행하고, 그렇지 않을 경우 단계(107)를 수행한다.
단계(109): 스트림 비트율 크기, 디스크 나머지 공간 및 실제의 디스크 공간 크기에 따라, 새로운 디스크 조각을 요청하여 새로 녹화한 타임 쉬프트 프로그램을 저장한 후, 단계(102)로 되돌아간다.
상기 방법과 대응되게, 본 발명은 디지털 TV 타임 쉬프트 과정 중에 디스크공간 이용률을 최적화하는 장치를 제공한다. 상기 장치는 사용자 인터페이스 모듈 및 파일 관리 모듈을 포함하고, 여기서,
사용자 인터페이스 모듈은 디지털 TV 사용자와 대화(Interaction)를 진행하는 인터페이스를 제공하여 사용자의 설치에 따라 최대 타임 쉬프트 시간을 설정하고,
파일 관리 모듈은 디스크 조각을 최소 관리유닛으로 하여, 디스크 조각 리스트를 통해 현재 파일을 구성하는 모든 디스크 조각을 직렬 연결하고, 타임 쉬프트 프로그램을 녹화하는 과정 중에서, 만약 현재의 이미 녹화한 타임 쉬프트 프로그램의 시간길이가 최대 타임 쉬프트 시간을 이미 초과하고 또한 현재 수신된 전송 스트림의 스트림 비트율이 평균 스트림 비트율보다 작을 경우, 현재 파일 중에서 녹화시간이 가장 오래된 타임 쉬프트 프로그램을 삭제하고 대응하는 디스크 조각을 디스크 조각 리스트 중에서 삭제하며 새로 녹화한 타임 쉬프트 프로그램으로 현재 파일 중의 녹화가 가장 오래된 타임 쉬프트 프로그램을 오버레이한다.
상기 사용자 인터페이스 모듈 및 파일 관리 모듈은 디스크 공간 이용률의 최적화 목적을 달성하기 위하여 해당 장치에서 최소한 포함해야 하는 모듈이다. 실제적인 응용과정에서 녹화한 타임 쉬프트 프로그램은 사용자로 하여금 재생하도록 하고 또한 빠른 검색, 조회기능 및 되감기/빨리 감기 기능을 제공해야 하므로 장치에 데이터율 정보 추출모듈 및 동영상정보 색인모듈을 설치해야 한다.
데이터율 정보 추출모듈은 수신된 전송 스트림 중에서 데이터율 정보를 추출하고 데이터율 정보를 처리한 후 동영상정보 색인모듈에 발송하며 전송 스트림을 파일 관리 모듈에 발송하는데, 데이터율 정보는 절대시간, 절대 데이터 오프셋 및 키 프레임 라벨을 포함하고, 처리 후의 데이터율 정보는 녹화시간, 데이터 오프셋 및 프레임 유형을 포함하며,
동영상정보 색인모듈은 데이터율 정보 추출모듈에서 제공하는 정보를 화면그룹(GOP)을 단위로 녹화시간의 선후순서로 배열한 리스트를 구성하고 빠른 검색(Quick Search) 및 조회기능을 제공하며,
파일 관리 모듈은 동영상정보 색인모듈에 의해 구성된 리스트에 따라 현재 파일 중의 데이터 오프셋 및 키 프레임의 절대 오프셋과 대응시키고 디스크 조각을 관리한다.
본 발명에서 키 프레임은 즉 I프레임이다.
아래 첨부도면과 결부하여 더블 타임 쉬프트 실시 예를 예로 들어 본 발명에 따른 장치에 대하여 설명을 진행한다.
도 2는 본 발명의 바람직한 디지털 TV 타임 쉬프트 과정 중에 디스크공간 이용률을 최적화하는 장치의 구성도이다. 도시된 2개의 타임 쉬프트 실시 예는 녹화한 데이터를 동일한 편집가능한 파일 중에 저장하게 된다. 2개 타임 쉬프트 실시 예 중의 대응하는 기능 모듈은 동일하므로, 하기 단일 타임 쉬프트 실시 예 중의 각 모듈에 대하여 상세하게 설명한다. 도 2에 도시된 장치는 4개 기본 모듈을 포함한다. 즉, 데이터율 정보 추출모듈, 동영상정보 색인모듈, 파일 관리 모듈 및 사용자 인터페이스 모듈을 포함한다. 여기서,
전송 스트림 데이터1의 데이터는 동축 케이블에서 발생하고 TV 튜너 및 역다중화 처리를 거쳐 데이터율 정보 추출모듈에 도달한다. 전송 스트림의 코딩형식은 MPEG2일 수 있고 H.264일 수도 있으며, 데이터율 정보 추출모듈에 있어서 전송 스트림의 코딩형식에 따라 프레임 정보의 획득방법도 서로 다르다.
데이터율 정보 추출모듈은 현재 동영상 스트림의 절대시간 정보, 절대 데이터 오프셋정보 및 키 프레임 라벨을 추출하여 처리를 거친 후 하기와 같은 정보를 획득한다.
1) 녹화시간: 0부터 시작하여 전송 스트림 중의 시간 라벨을 치환한다. 녹화 과정을 이용하여 현재의 시간정보를 추출함으로써 전송 스트림 중 시간 라벨의 불정확한 문제의 발생을 방지한다.
2) 데이터 오프셋: 0부터 시작하여 녹화 과정 중에서 바이트를 단위로 하여 계속하여 점차 증가한다. 사용자 인터페이스를 제공하여 동영상의 건너뛰기 혹은 되감기/빨리 감기를 진행할 수 있다.
3) 프레임 유형: I프레임, B프레임 혹은 P프레임일 수 있다.
녹화시간과 데이터 오프셋은 모두 0부터 시작하여 계속하여 점차 증가한다. 전송 스트림의 패키지 헤드는 0×47에서 시작하고, 매 전송 스트림의 패키지는 188개 바이트로 구성된다고 가정한다. 전송 스트림의 구성에 따라, 데이터율 정보 추출모듈은 하드웨어를 통해 혹은 소프트웨어의 방식을 통해 모든 프레임의 기본정보를 추출해낼 수 있다. 한개 프레임의 정보를 처리한 후, 해당 정보를 동영상정보 색인모듈에 발송하고, 동영상정보 색인모듈에서 모든 프레임을 하나의 열로 조직한다.
원시적인 전송 스트림 데이터1에 있어서, 데이터율 정보 추출모듈은 전송 스트림 패키지 중의 시간 라벨을 현재시간으로 수정할 수 있으므로, 향후 재생 과정 중에서 전송 스트림 패키지 중의 시간 라벨을 직접 사용할 수 있어 데이터가 디코더 중에서의 과도한 버퍼링으로 인해 재생시간의 불정확성을 초래하는 문제를 방지할 수 있다. 또한, 시간 라벨을 수정하지 않고 원시적 데이터를 직접 파일 관리 모듈로 출력할 수 있는데, 이런 경우 디코더 버퍼링 영역은 최대한 작아야 한다.
키 프레임 정보를 동영상정보 처리모듈로 입력하여 GOP( Group of Picture, 화면 그룹) 를 단위로 하여 시간 선후순서로 배열되는 열로 구성한다. 매개 GOP정보의 구성은 하기와 같다.
typedef struct
{
uint32_t uiTimeCode; // 4 /** GOP시간 라벨, 또한 I프레임의 시간 라벨임*/
uint32_t uiPacketPtr; // 4 /** I프레임의 데이터 오프셋*/
uint16_t usGopLength; // 2 /**총 프레임수, I프레임, B프레임 및 P프레임을 포함*/
uint8_t ubRefPicCnt; // 1 /** 참조 프레임수, P프레임을 포함*/
uint16_t usPicTimeCode[40]; // 2 /** 참조 프레임 대비 I프레임의 시간 라벨*/
uint16_t usPicStartPos[40]; // 40 /** 참조 프레임의 데이터 오프셋*/
uint16_t usPicLength[40]; // 40 /** 참조 프레임의 길이*/
}PvrMdbGopPid_t;
상기 데이터구조는 I프레임과 P프레임의 정보를 기록하였다. 하기와 같은 2가지 데이터 조회방식을 제공한다.
첫 번째 방식, 시간을 통해 데이터 오프셋을 조회하고, 시간에 따라 지정시간의 데이터 오프셋에 대응되는 위치로 건너뛴다.
두 번째 방식, 데이터 오프셋을 통해 시간을 조회하고, 현재 재생위치의 시간정보를 추출하고 현재 재생시간을 디스플레이할 수 있거나 혹은 현재 재생위치가 타임 쉬프트 범위 내에 있는지 여부에 대하여 검사할 수도 있다.
동영상정보 색인모듈 중의 GOP데이터는 디스크 중에 저장되거나 메모리 중에 저장됨으로써 빠른 검색 및 조회기능을 제공하는데 이들의 주요기능은 빨리 감기/되감기 기능을 제공하여 키 프레임을 조회하는 것이고, 키 프레임의 파일 중에서의 절대 데이터 오프셋 및 크기를 파일 관리 모듈에 제공한다. 만약 메모리 중에 저장될 경우 직접 이진 검색을 진행하고, 만약 디스크 중에 저장될 경우 매번 여러 개(예를 들어, 60개)의 GOP의 정보를 리딩하여 메모리 열에 저장한다. 다음, 검색시간과 메모리 열 중의 시간을 비교하되, 적중되지 않을 경우 이진 검색의 방법으로 다음 조의 60개 GOP의 정보를 리딩하여 메모리 열에 저장하고, GOP가 60개 보다 적을 경우 실제크기에 따라 GOP정보를 리딩한다. 만약 검색한 정보가 한계를 벗어나면 에러정보로 되돌아 온다.
사용자 인터페이스 모듈은 TV 사용자와 대화할 수 있는 인터페이스를 제공한다. 본 실시 예 중에서는 각 설정메뉴, 대화 상자 팝업, 재생, 정지, 빨리 감기/되감기 등 조작으로 표현된다. 사용자 인터페이스 모듈은 소프트웨어의 방식으로 실현될 수 있는데, 이는 파일 관리 모듈의 상층에서 실현될 수 있고, 파일 관리 모듈을 호출하기만 하면 되며, 파일 관리 모듈은 사용자 인터페이스 모듈로 이벤트를 발송해야 한다.
본 실시 예에 포함되는 사용자가 직접 호출하는 내용은 하기와 같다.
1) 최소 타임 쉬프트 시간 제한의 설정.
2) 최대 타임 쉬프트 시간 제한의 설정.
3) 타임 쉬프트 실시 예간의 우선순위의 설정.
4) 키 프레임 색인의 온(ON) 여부를 설정.
5) 시작, 정지, 빨리 감기/되감기 등 재생 조작.
6) 디스크 조각 병합 기능의 온(ON) 혹은 오프(OFF).
여기서, 직접 TV리모컨을 통해 각종 제어키를 입력하고, 어플리케이션이 이에 상응하는 버튼을 포착하여 사용자 인터페이스 모듈을 직접 호출하고, 사용자 인터페이스 모듈이 화면 조정을 거친 후 파일 관리 모듈을 호출한다. 단일 타임 쉬프트 실시 예의 메인화면은 도 3에 도시된 바와 같다.
그림 중의 초점은 역삼각형 위치에 있고, 좌우 버튼을 이용하여 최소 타임 쉬프트 시간을 감소하거나 증가할 수 있으며, 설정 완료 후 돌아가기 버튼을 누르거나 혹은 설정화면 중의 "Return" 버튼을 누른다. 설정 후의 최소 타임 쉬프트 시간은 메인 화면 중의 "Timeshift Min:xx:xx:"에 반영된다. 최대 타임 쉬프트 시간 및 기타 옵션의 설정은 최소 타임 쉬프트 시간의 설정방법과 유사하다.
설정 화면은 다른 방법을 통해 진입될 수도 있다. 디스크 빈 공간이 없으나 녹화한 데이터의 시간길이가 최대 타임 쉬프트 시간에 도달하지 않을 경우, 상응하는 대화상자를 팝업시킴으로써 사용자에게 최대 타임 쉬프트 시간의 감소 여부에 대하여 의견을 구할 수 있고, 해당 시간을 감소할 경우 최대 타임 쉬프트 시간의 설정화면에 진입하고, 그렇지 않을 경우 메인화면에 되돌아간다.
파일 관리 모듈의 이벤트 통지에는 하기와 같은 것이 있을 수 있다.
1) 디스크 풀(Disk Full).
2) 파일 입출력 에러.
3) 파일 헤드 혹은 파일 끝까지 재생.
이벤트의 처리에 있어서, 예를 들어, 통지2는 메시지 창을 통해 사용자에게 디스플레이할 수 있지만, 일부 이벤트는 어플리케이션에 의해 직접 접수 처리되고 관련 메시지 창을 디스플레이하지 않는다. 예를 들어, 되감기 버튼을 눌러 파일 헤드까지 재생할 경우, 최종적으로 어플리케이션이 해당 이벤트를 접수한 후, 다시 파일 헤드로부터 재생을 시작한다. 에러가 발생할 경우, 통지 2와 같이 TV 모드로 건너뛴다.
2개 타임 쉬프트 실시 예가 동시에 운행될 시의 메인 화면은 도 4와 같이, 2개 타임 쉬프트 실시 예는 나란히 배열될 수 있다. 2개의 타임 쉬프트 실시 예가 운행될 경우, "되돌아가기" 버튼을 눌러 타임 쉬프트 설정화면을 팝업시키고 초점을 획득한 타임 쉬프트 실시 예의 테두리를 하이라이트로 디스플레이한다. 이때, 좌우 버튼을 누르면 초점을 다른 타임 쉬프트 실시 예로 전환시킬 수 있고, 하향 버튼을 누르면 초점이 타임 쉬프트 설정화면에 이동된다. 타임 쉬프트 설정 화면 중에서, 사용자는 타임 쉬프트 실시 예간의 위치관계를 조정할 수 있는데, 상향 버튼을 누르면 초점이 타임 쉬프트 실시 예 중에 이동되고, "되돌아가기" 버튼을 누르면 화면이 숨긴다. 정지 버튼을 누르면 그 중의 하나의 타임 쉬프트 실시 예가 로그아웃되고, 다른 하나의 타임 쉬프트 실시 예는 확대되어 풀스크린으로 디스플레이할 수 있다.
도 5는 본 발명에 따른 사용자 인터페이스 모듈과 파일 관리 모듈의 대화 모식도이다.
파일 관리 모듈은 본 발명에 따른 실시 예 중의 핵심 모듈이다. 매 타임 쉬프트 실시 예는 하나의 파일 관리 모듈을 공용하고, 파일 관리 모듈은 타임 쉬프트 실시 예에 대응하는 라벨을 통해 각 타임 쉬프트 실시 예를 구분한다. 파일 관리 모듈은 물리적 디스크 조각을 최소 관리유닛으로 하고, 파일 시스템 구동 중에서 디스크 조각에 대한 삭제, 병합, 새로 만들기(Create) 등 기능을 추가한다. 하나의 디스크 조각의 리스트를 통해 모든 디스크 조각을 직렬연결시키고, 또한 파일 중의 데이터 오프셋과 키 프레임의 절대 오프셋을 대응시킨다.
파일 관리 모듈은 기타 모듈과 대화하는 인터페이스를 제공하였고, 데이터율 정보 추출모듈에서 실시간 데이터율 데이터를 획득하고, 동영상정보 색인 모듈에서 참고 프레임 정보를 획득하여 특정 위치의 데이터를 리딩하는데 사용하며, 사용자 인터페이스 모듈은 직접 혹은 간접적으로 파일 관리 모듈을 제어한다. 본 실시 예에서는 상기 3개 모듈에 대하여 앞서 이미 상세하게 설명하였고, 아래 파일 관리 모듈의 기능에 대하여 상세하게 설명하도록 한다.
파일 관리 모듈의 실현은 미들웨어 층 및 구동 층으로 구분되고, 미들웨어 층에서 외부 모듈에 기본적인 파일 조작을 제공한다.
미들웨어 층의 주요기능은 하기와 같다.
1) 추상적인 기본 인터페이스를 제공한다.
2) 절대 오프셋 과 현재 파일 중의 오프셋을 일대일로 대응시킨다.
3) 타임 쉬프트 실시 예의 우선순위를 이용하여 타임 쉬프트 실시 예가 점용하는 디스크 공간 크기를 자동적으로 조정한다.
미들웨어 층은 파일 호출의 차이성을 차단하였고, 사용자에게 기본적인 사용자 인터페이스를 제공한다. 예를 들면 하기와 같다.
1) 파일 열기: Open (filename, … …)
2) 파일 닫기: Close (file description)
3) 파일 읽기: Read (file description, buffer pointer, buffer size)
4) 파일 쓰기: Write ( file description, buffer pointer, buffer size )
5) 파일 중에서 찾기: Seek (file description, offset )
6) Ioctl(file description, type, …)
"Open" 인터페이스를 통해, 부동한 타임 쉬프트 실시 예는 서로 다른 파일 기술자(file descriptor)로 되돌아하고, 후속의 기타 조작은 모두 해당 파일 기술자를 매개 변수로 한다. "Read" 인터페이스와 "Write" 인터페이스는 동시에 일반적인 buffer I/O 방식 및 Direct I/O 방식의 판독기록을 지지하고, buffer은 반드시 4k 바이트로 정열된다. "Seek"인터페이스 중의 매개 변수 "offset"는 동영상 색인모듈이 제공하는 절대 오프셋(0부터 시작하고, 전송 스트림의 패키지 크기를 최소단위로 하여 점차 증가한다)이고, 또한 타임 쉬프트 실시 예가 녹화하는 파일은 본질적으로 하나의 순환 버퍼링 영역이므로, 매개 변수 "offset"는 반드시 파일 중의 실제 오프셋에 다시 매핑되어야 한다.
도 6에 도시된 바와 같이, 그림 중의 절대 시간 축은 0부터 카운트하지만, 실제 타임 쉬프트 파일의 재생가능한 시간길이는 그 중의 일부만 차지한다. 파일 끝까지 녹화할 경우, 새 데이터는 파일 헤드에 입력하게 되고, 이렇게 새로운 녹화가 시작된 후 절대 오프셋은 현재 파일의 크기이고, 실제 오프셋은 0이다.
"Ioctl" 인터페이스를 통해, 타임 쉬프트 실시 예의 우선순위를 설정할 수 있다. 우선순위의 책략에 있어서, 오직 디스크 공간이 부족한 경우에만 유효하되, 주로 하기와 같은 내용을 포함한다.
1) 타임 쉬프트 실시 예의 최대 타임 쉬프트 시간과 최소 타임 쉬프트 시간은 우선순위를 설정하기 전에 설정해야 한다. 디폴트의 최대 타임 쉬프트 시간은 90분이고 최소 타임 쉬프트 시간은 10분이며, 또한 최대 타임 쉬프트 시간과 최소 타임 쉬프트 시간은 사용자 인터페이스 모듈을 통해 동적으로 조정할 수 있다.
2) 타임 쉬프트 실시 예의 우선순위는 동적으로 조정할 수 있다.
3) 타임 쉬프트 실시 예가 최대 타임 쉬프트 시간에 도달할 경우, 타임 쉬프트 기간은 계속하여 증가해서는 안된다.
4) 타임 쉬프트 실시 예를 부동하거나 혹은 동일한 우선순위로 설정할 경우, 디스크 공간이 부족한 상황하에, 가령 타임 쉬프트 실시 예2의 녹화시간이 최소 타임 쉬프트 시간을 초과하였고 타임 쉬프트 실시 예1의 녹화시간이 최소 타임 쉬프트 시간을 초과하지 않았다면, 타임 쉬프트 실시 예2는 디스크 조각을 자동적으로 방출하여 타임 쉬프트 실시 예1이 사용하도록 하고, 만약 타임 쉬프트 실시 예2가 방출하려는 디스크 조각을 재생 중이라면 녹화가 가장 오랜 데이터로 건너뛴다.
5) 타임 쉬프트 실시 예를 부동한 우선순위로 설정할 경우, 디스크 공간이 부족한 상황하에, 가령 타임 쉬프트 실시 예2의 우선순위가 타임 쉬프트 실시 예1보다 높고 또한 타임 쉬프트 실시 예2의 시간이 최대 타임 쉬프트 시간에 도달하지 않았다면, 타임 쉬프트 실시 예2는 타임 쉬프트 실시 예1의 이미 녹화한 시간이 최소 타임 쉬프트 시간에 접근할 때까지 타임 쉬프트 실시 예1의 디스크 조각을 강제적으로 사용한다. 만약 이때 타임 쉬프트 실시 예1의 시간이 최소 타임 쉬프트 시간보다 작을 경우, 타임 쉬프트 실시 예2는 강제적으로 사용해서는 안 된다.
구동 층은 파일 관리 모듈의 주요 기능으로서, 정상적인 판독기록 조작 외에 구동층에 추가되는 주요 기능은 하기와 같다.
1) 디스크 조각 리스트의 유지보수.
2) 새로운 디스크 조각 만들기.
3) 디스크 조각의 방출.
4) 디스크 조각의 병합.
디스크 조각 리스트의 예는 [표 1]과 같다.
타임쉬프트
실시 예 라벨
디스크
조각 ID
스타팅
섹터
엔딩
섹터
이전 디스크
조각 ID
다음 디스크
조각 ID
1 1 500 1000 0 4
2 2 300 400 0 3
2 3 1500 1800 2 6
1 4 1200 1250 1 5
1 5 1300 1400 4
2 6 600 800 3
… …
[표 1]에 나타난 디스크 조각 리스트 중에는 두개 타임 쉬프트 실시 예의 라벨 정보가 포함되고, 서로 다른 파일 기술자는 각각의 실시 예 라벨과 대응된다. 디스크 조각 리스트 데이터 구조는 이중 연결 리스트로서, 매 디스크 조각마다 하나의 디스크 조각 ID가 있고, 해당 디스크 조각은 이전 및 다음의 디스크 조각 ID를 지향하며, 서로 인접한 두 개의 디스크 조각은 물리적으로 연속적이 되지 않아도 되고, 오직 이들 상에서 녹화한 TV프로그램이 연속적이면 된다. 아울러, 매 디스크 조각은 스타팅 섹터 및 엔딩 섹터에 대응되는데, 이는 물리적으로 연속되는 영역이다. 매 타임 쉬프트 실시 예와 대응되는 파일에 있어서, 이에 대응하는 파일 헤드 및 파일 끝이 있으며, 파일 헤드의 "이전 디스크 조각 ID"는 "0"이고, 파일 끝의 "다음 디스크 조각 ID"는 "0"이다. 디스크 조각의 ID는 점차 증가하고, 최대치를 초과할 시 1부터 카운트한다.
파일 조각은 디스크의 각 구석에 분산되어 있다. 파일 관리 모듈이 새로운 데이터를 타임 쉬프트 파일 중에 입력해야 할 경우, 디스크 공간이 부족하면 디스크 조각 리스트에서 사용가능한 조각의 존재 여부를 검색할 수 있고, 사용가능한 조각이 없으면 새로운 조각을 만들어 해당 디스크 조각을 디스크 조각 리스트 중에 추가할 수 있다.
디스크 공간에 저장되는 이미 녹화한 타임 쉬프트 프로그램의 디스크 조각은 디스크 조각 리스트와 파일 시스템의 아이노드(inode)를 이용하여 관리한다.
상기 디스크 조각 리스트는 각 디스크 조각의 연결 리스트이다. 디스크 조각은 녹화한 타임 쉬프트 프로그램의 선후순서에 따라 배열된다. 이미 녹화한 타임 쉬프트 프로그램을 읽어올 때, 우선 디스크 조각 리스트를 조회하고, 다음의 리딩할 디스크 조각의 물리적 주소를 확정한다.
파일 시스템의 아이노드는 전통적인 유닉스 계통 파일 시스템에서 사용하는 자료 구조이다. 아이노드는 정규 파일, 디렉터리 등 파일 시스템에 관한 정보를 가지고 있다. 파일들은 각자 1개의 아이노드를 가지고 있으며, 아이노드는 소유자 그룹, 접근 모드(읽기, 쓰기, 실행 권한), 파일 형태, 아이노드 숫자(inode number, i-number, 아이넘버) 등 해당 파일에 관한 정보를 가지고 있다. 파일시스템 내의 파일들은 고유한 아이노드 숫자를 통해 식별 가능하다. 일반적으로 파일 시스템을 생성할 때 전체 공간의 약 1퍼센트를 아이노드를 위해 할당한다. 아이노드를 위한 공간이 한정되어 있는 만큼 파일시스템이 가질 수 있는 파일의 최대 개수도 한정되어 있다.
디스크 조각을 추가하는 과정은 하기와 같다.
1) 현재 미방출한 파일 조각 리스트 중에서 가장 부합되는 파일 조각 블록을 검색한다.
2) 해당 파일 조각이 존재하면, 파일 조각 색인리스트 중에 추가하고, 쓰기 포인터(write pointer)를 새로운 조각에 이동시킨다.
3) 해당 파일 조각이 없다면, 빈 공간이 충족한지 여부를 판단하고, 만약 디스크 공간이 부족하면 해당 소식을 사용자 인터페이스 모듈에 통지한다.
4) 만약 사용가능한 디스크 조각이 또 존재하면, 물리적으로 인접한 조각의 존재여부를 우선적으로 검색하고, 물리적으로 인접한 조각이 있으면 우선 현재 파일 조각으로 병합시키고, 현재 디스크 조각 리스트 중의 디스크 조각 크기 정보를 수정하고 파일 시스템의 아이노드를 업데이트한다.
5) 만약 물리적으로 인접한 조각이 없으면, 사용가능한 디스크 조각을 현재 파일 중에 추가하고, 쓰기 포인터(write pointer)를 새로운 조각에 이동시키고 디스크 조각 리스트를 업데이트한다. 동시에, 해당 디스크 조각 정보를 디스크 조각 리스트에 추가하고 파일 시스템의 아이노드를 업데이트한다.
타임 쉬프트 실시 예는 자동적으로 혹은 수동적으로 파일을 방출하여 간접적으로 파일 조각을 방출할 수 있는데, 그 과정은 하기와 같다.
1) 전송 스트림의 감소로 인해, 실제 녹화한 데이터의 총 시간이 최대 시간을 초과할 경우, 녹화시간을 우선순위로 하여 녹화가 가장 오래된 파일 조각을 방출하고 또한 디스크 조각 리스트 및 파일 시스템의 아이노드에서 이를 삭제한다.
2) 만약 방출하려는 디스크 조각이 충분히 크다면, 현재 방출이 필요한 공간은 해당 파일 조각보다 작다. 이때, 디스크 조각 리스트의 "스타팅 섹터" 및 "엔딩 섹터" 옵션 및 타임 쉬프트 파일이 파일 시스템 중의 아이노드의 정보만 업데이트하면 된다.
3) 사용자 인터페이스 모듈이 최대 타임 쉬프트 시간을 감소하였고 또한 실제 타임 쉬프트 시간 이하로 감소했을 경우, 녹화가 가장 오랜 파일 조각을 방출해야 한다.
4) 그 중의 하나의 타임 쉬프트 실시 예가 정지한 후, 디스크 조각 리스트 중의 해당 타임 쉬프트 실시 예와 대응되는 행을 삭제하고 해당 타임 쉬프트 파일의 아이노드를 업데이트한다.
디스크 조각의 대량의 생성을 방지하기 위하여, 파일 관리 모듈은 물리적으로 인접된 디스크 조각을 병합시켜야 한다. 파일 조각을 병합하는 과정은 도 7과 같이 하기 내용을 포함한다.
1) 타임 쉬프트 시간이 최대 시간을 초과하지 않을 경우, 디스크 조각 리스트에 따라 다음 시간 상의 인접한 파일 조각을 검색하여 새로운 녹화 데이터를 입력한다.
2) 이미 녹화한 데이터가 최대 타임 쉬프트 시간에 도달한 동시에 타임 쉬프트 프로그램의 부호율이 감소될 경우, 이때 실제로 디스크에 저장된 파일의 타임 쉬프트 시간은 최대 시간을 초과하고 디스크 조각 리스트 역시 이에 따라 길어진다.
3) 이미 녹화한 데이터가 최대 타임 쉬프트 시간에 도달하였지만 디스크 조각 리스트 중에 물리적으로 인접된 파일 조각이 없을 경우, 디스크 조각 리스트에 따라 다음 시간상의 인접한 파일 조각을 검색하여 새로운 녹화 데이터를 입력한다.
4) 이미 녹화한 데이터가 최대 타임 쉬프트 시간에 도달하였고 또한 디스크 조각 리스트 중에 물리적으로 인접된 파일 조각이 있지만 디스크 조각과 대응하는 재생시간이 최대 타임 쉬프트 시간 내에 있을 경우, 디스크 조각 리스트에 따라 다음 시간 상의 인접한 파일 조각을 검색하여 새로운 녹화 데이터를 입력한다.
5) 이미 녹화한 데이터가 최대 타임 쉬프트 시간에 도달하였고 또한 디스크 조각 리스트 중에 물리적으로 인접된 파일 조각이 있으며 또한 디스크 조각과 대응하는 재생시간이 최대 타임 쉬프트 시간 내에 있지 않을 경우, 현재 인접한 파일 조각을 병합하고, 쓰기 포인터(write pointer)를 해당 조각에 이동시키고 디스크 조각 리스트를 업데이트한다.
상기 실시 예로부터 알 수 있는 바와 같이, 본 발명은 타임 쉬프트 프로그램을 녹화하는 과정 중에서, 현재 이미 녹화한 타임 쉬프트 프로그램의 시간길이가 설정한 최대 타임 쉬프트 시간을 이미 초과하였는지 여부를 판단하고 또한 현재 수신된 전송 스트림의 스트림 비트율이 평균 스트림 비트율보다 작은지 여부를 판단함으로써, 상기 두가지 조건을 모두 충족시킬 경우, 녹화시간이 가장 오래된 타임 쉬프트 프로그램을 삭제하여 여분의 디스크 조각을 방출하도록 하며 새로 녹화한 타임 쉬프트 프로그램으로 현재 파일 중의 녹화가 가장 오래된 타임 쉬프트 프로그램을 오버레이한다. 따라서, 스트림 비트율이 작아짐에 따라 여분의 디스크 조각을 주동적으로 방출할 수 있어 타임 쉬프트 프로그램이 점용하는 디스크 공간이 전송 스트림의 스트림 비트율의 크기의 기복에 따라 증감되도록 함으로써, 필요에 따라 타임 쉬프트 프로그램이 점용하는 디스크 공간의 크기를 동적으로 변화시키는 목적을 달성할 수 있고, 디스크 공간이 부족할 시 디스크 공간의 이용률이 낮은 문제를 방지할 수 있다.
또한, 본 발명이 제공하는 복수 개의 타임 쉬프트 실시 예에 의하면, 각 타임 쉬프트 실시 예를 위해 디스크 공간을 획득하는 우선순위를 설정함으로써 디스크 공간이 부족할 경우 각 타임 쉬프트 실시 예의 우선순위에 따라 디스크 공간 할당을 진행하여 복수 개의 타임 쉬프트 실시 예간의 동적이고 합리적인 디스크 공간 할당을 실현하는 목적을 달성할 수 있고, 디스크 공간이 부족한 상황하에 그 중의 하나의 타임 쉬프트 실시 예가 점용하는 디스크 공간을 다른 하나의 타임 쉬프트 실시 예에 제공하여 사용하도록 함으로써 각 타임 쉬프트 실시 예가 서로의 디스크 공간을 효과적으로 이용할 수 있도록 할 수 있다.
이 밖에, 본 발명의 적용은 타임 쉬프트 실시 예가 기타 어플리케이션과 하나의 파일 시스템을 공용할 수 있어 파일 관리 모듈의 구동층(Driver Layer)에 추가된 새로운 기능은 파일 시스템의 기타 기능에 영향을 미치지 않는다.
상기 내용은 오직 본 발명의 바람직한 실시 예에 대한 설명에 불과할 뿐, 본 발명을 제한하지 않는다. 본 발명의 사상 및 원칙 내에서의 모든 수정, 균등한 대체, 개선 등은 모두 본 발명의 보호범위 내에 포함되어야 한다.

Claims (31)

  1. 타임 쉬프트 기능의 구현에 따라 디지털 TV 방송을 녹화하는 녹화 단계;
    상기 녹화 단계 중 타임 쉬프트 기능의 중단 원인을 감지하는 감지 단계;
    상기 중단 원인에 따라 디스크 공간의 크기를 동적으로 변화시키는 제어 단계를 포함하여 이루어지는 디지털 TV 타임 쉬프트 방법.
  2. 제1항에 있어서, 상기 중단 원인은,
    현재까지 녹화한 타임 쉬프트 프로그램의 시간 길이가 미리 설정한 최대 타임 쉬프트 시간에 도달한 것을 특징으로 하는 디지털 TV 타임 쉬프트 방법.
  3. 제2항에 있어서, 상기 최대 타임 쉬프트 시간 길이를 사용자가 미리 설정하기 위한 설정단계를 더 포함하는 것을 특징으로 하는 디지털 TV 타임 쉬프트 방법.
  4. 제1항에 있어서,
    복수 개의 타임 쉬프트 프로그램의 녹화가 동시에 진행될 때, 디스크 공간을 획득하는 우선 순위를 미리 설정하는 단계를 더 포함하는 것을 특징으로 하는 디지털 TV 타임 쉬프트 방법.
  5. 제1항에 있어서, 상기 제어 단계는,
    디스크 공간이 부족한 경우, 우선 순위에 따라 디스크 공간을 할당하는 것을 특징으로 하는 디지털 TV 타임 쉬프트 방법.
  6. 제1항에 있어서, 상기 제어 단계는,
    디스크 공간이 부족한 경우, 최소 타임 쉬프트 시간에 도달하지 않은 타임 쉬프트 프로그램에 대하여 우선적으로 디스크 공간을 할당하는 것을 특징으로 하는 디지털 TV 타임 쉬프트 방법.
  7. 타임 쉬프트 기능의 구현에 따라 현재까지 녹화한 타임 쉬프트 프로그램의 시간 길이가 미리 설정한 최대 타임 쉬프트 시간에 도달하였는지 판단하는 제1 단계;
    제1 단계에서 최대 타임 쉬프트 시간을 초과한 경우, 현재 수신된 전송 스트림의 스트림 비트율과 평균 스트림 비트율을 비교하여 디스크 조각의 방출 여부를 판단하는 제2 단계;
    현재 수신된 전송 스트림의 스트림 비트율이 평균 스트림 비트율보다 크거나 같을 경우, 새로 녹화한 타임 쉬프트 프로그램이 최대 타임 쉬프트 시간 내의 타임 쉬프트 프로그램을 오버레이할 수 있는지 여부에 따라 디스크 조각 요청의 필요성 여부를 판단하는 제3 단계;
    현재 수신된 전송 스트림의 스트림 비트율이 평균 스트림 비트율보다 작은 경우, 가장 오랜 타임 쉬프트 프로그램을 삭제하여 여분의 디스크 조각을 방출하는 제4 단계;
    제1 단계에서 최대 타임 쉬프트 시간을 초과하지 않고, 제3 단계에서 디스크 조각 요청이 필요하면 저장 공간이 남아 있는지 판단하는 제5 단계;
    남아 있는 저장 공간의 존재하지 않거나, 여분의 디스크 조각의 요청이 없는 경우, 현재와 시간상 가장 오래된 데이터를 오버레이하는 제6 단계; 및
    남아 있는 저장 공간이 존재할 때 데이터율의 크기와 저장 공간 정보에 근거하여 새 파일 조각을 생성하는 제7 단계를 포함하여 이루어지는 디지털 TV 타임 쉬프트 방법.
  8. 제7항에 있어서,
    최대 타임 쉬프트 시간 길이 및 최소 타임 쉬프트 시간 길이 중 적어도 어느 하나를 사용자가 미리 설정하기 위한 설정단계를 더 포함하는 것을 특징으로 하는 디지털 TV 타임 쉬프트 방법.
  9. 제8항에 있어서,
    복수 개의 타임 쉬프트 프로그램의 녹화가 동시에 진행될 때, 디스크 공간을 획득하는 우선 순위를 미리 설정하는 단계를 더 포함하는 것을 특징으로 하는 디지털 TV 타임 쉬프트 방법.
  10. 제9항에 있어서,
    디스크 공간이 부족한 경우, 우선 순위에 따라 디스크 공간을 할당하는 것을 특징으로 하는 디지털 TV 타임 쉬프트 방법.
  11. 제9항에 있어서,
    디스크 공간이 부족한 경우, 최소 타임 쉬프트 시간에 도달하지 않은 타임 쉬프트 프로그램에 대하여 우선적으로 디스크 공간을 할당하는 것을 특징으로 하는 디지털 TV 타임 쉬프트 방법.
  12. 제7항에 있어서,
    이미 녹화한 타임 쉬프트 프로그램은 디스크 조각의 연결 정보가 저장된 디스크 조각 리스트 및 파일 시스템의 아이노드(inode)를 통해 관리되는 것을 특징으로 하는 디지털 TV 타임 쉬프트 방법.
  13. 제12항에 있어서,
    이미 녹화한 타임 쉬프트 프로그램을 읽어올 경우, 상기 디스크 조각 리스트를 조회하고, 다음 읽을 디스크 조각의 물리적 주소를 확정하는 것을 특징으로 하는 디지털 TV 타임 쉬프트 방법.
  14. 제7항에 있어서, 디스크 조각을 방출하는 제4 단계는,
    전송 스트림의 감소로 인해, 실제 녹화한 총 시간이 최대 시간을 초과한 경우, 녹화 시간을 우선 순위로 하여 녹화가 가장 오래된 디스크 조각을 방출하고, 디스크 조각 리스트 및 파일 시스템의 아이노드를 업데이트하는 것을 특징으로 하는 디지털 TV 타임 쉬프트 방법.
  15. 제7항에 있어서, 디스크 조각을 방출하는 제4 단계는,
    방출이 필요한 공간보다 방출하려는 디스크 조각이 큰 경우, 디스크 조각 리스트의 "스타팅 섹터" 및 "엔딩 섹터" 오프셋 및 파일 시스템의 아이노드를 업데이트하는 것을 특징으로 하는 디지털 TV 타임 쉬프트 방법.
  16. 제7항에 있어서, 디스크 조각을 방출하는 제4 단계는,
    사용자에 의해 최대 타임 쉬프트 시간 감소가 설정된 경우, 타임 쉬프트를 정지한 후, 디스크 조각 리스트에서 최대 타임 쉬프트 시간 이후에 해당하는 데이터를 삭제하고, 파일 시스템의 아이노드를 업데이트하는 것을 특징으로 하는 디지털 TV 타임 쉬프트 방법.
  17. 제7항에 있어서, 오버레이하는 제6 단계는,
    타임 쉬프트 시간이 최대 시간을 초과하지 않을 경우, 디스크 조각 리스트에 따라 다음 시간상의 인접한 파일 조각을 검색하여 새로운 녹화 데이터를 입력하는 것을 특징으로 하는 디지털 TV 타임 쉬프트 방법.
  18. 제7항에 있어서, 오버레이하는 제6 단계는,
    이미 녹화한 데이터가 최대 타임 쉬프트 시간에 도달한 동시에 타임 쉬프트 프로그램의 부호율이 감소될 경우, 디스크에 저장된 파일의 타임 쉬프트 시간은 최대 시간을 초과하고 디스크 조각 리스트도 길어지는 것을 특징으로 하는 디지털 TV 타임 쉬프트 방법.
  19. 제7항에 있어서, 오버레이하는 제6 단계는,
    이미 녹화한 데이터가 최대 타임 쉬프트 시간에 도달하였지만 디스크 조각 리스트 중에 물리적으로 인접된 파일 조각이 없을 경우, 디스크 조각 리스트에 따라 다음 시간상의 인접한 파일 조각을 검색하여 새로운 녹화 데이터를 입력하는 것을 특징으로 하는 디지털 TV 타임 쉬프트 방법.
  20. 제7항에 있어서, 오버레이하는 제6 단계는,
    이미 녹화한 데이터가 최대 타임 쉬프트 시간에 도달하였고, 디스크 조각 리스트 중에 물리적으로 인접된 파일 조각이 있지만 디스크 조각과 대응하는 재생시간이 최대 타임 쉬프트 시간 내에 있을 경우, 디스크 조각 리스트에 따라 다음 시간상의 인접한 파일 조각을 검색하여 새로운 녹화 데이터를 입력하는 것을 특징으로 하는 디지털 TV 타임 쉬프트 방법.
  21. 제7항에 있어서, 오버레이하는 제6 단계는,
    이미 녹화한 데이터가 최대 타임 쉬프트 시간에 도달하였고, 디스크 조각 리스트 중에 물리적으로 인접된 파일 조각이 있으며, 디스크 조각과 대응하는 재생시간이 최대 타임 쉬프트 시간 내에 있지 않을 경우, 현재 인접한 파일 조각을 병합하고, 쓰기 포인터(write pointer)를 해당 조각에 이동시키고 디스크 조각 리스트를 업데이트하는 것을 특징으로 하는 디지털 TV 타임 쉬프트 방법.
  22. 제7항에 있어서, 디스크 조각을 생성하는 제7 단계는,
    현재 미방출한 파일 조각 리스트 중에서 가장 부합되는 파일 조각 블록을 검색하는 단계;
    해당 파일 조각이 존재하면, 파일 조각 색인리스트 중에 추가하고, 쓰기 포인터(write pointer)를 새로운 조각으로 이동하는 단계를 포함하여 이루어지는 것을 특징으로 하는 디지털 TV 타임 쉬프트 방법.
  23. 제7항에 있어서, 디스크 조각을 생성하는 제7 단계는,
    현재 미방출한 파일 조각 리스트 중에서 가장 부합되는 파일 조각 블록을 검색하는 단계;
    해당 파일 조각이 없다면, 비어있는 공간이 충분한지 여부를 판단하고, 만약 디스크 공간이 부족하면 해당 정보를 사용자 인터페이스 모듈에 통지하는 단계를 포함하여 이루어지는 것을 특징으로 하는 디지털 TV 타임 쉬프트 방법.
  24. 제22항 또는 제23항에 있어서,
    사용가능한 디스크 조각이 또 존재하면, 물리적으로 인접한 조각의 존재 여부를 우선적으로 검색하고, 물리적으로 인접한 조각이 있으면 우선 현재 파일 조각으로 병합시키고, 현재 디스크 조각 리스트 중의 디스크 조각 크기 정보를 수정하고 파일 시스템의 아이노드를 업데이트하는 것을 특징으로 하는 디지털 TV 타임 쉬프트 방법.
  25. 제22항 또는 제23항에 있어서,
    사용가능한 디스크 조각이 또 존재하면, 물리적으로 인접한 조각의 존재 여부를 우선적으로 검색하고, 물리적으로 인접한 조각이 없으면, 사용가능한 디스크 조각을 현재 파일 중에 추가하고, 쓰기 포인터(write pointer)를 새로운 조각에 이동시키고 디스크 조각 리스트를 업데이트하는 것을 특징으로 하는 디지털 TV 타임 쉬프트 방법.
  26. 디지털 TV 사용자와의 인터페이스를 제공하여, 사용자로부터 타임 쉬프트 동작 구현에 필요한 설정 값 및 제어 요청 신호를 수신하는 사용자 인터페이스 모듈; 및
    상기 사용자 인터페이스 모듈로부터 제공되는 설정 값 및 제어 요청 신호를 수신하여 타임 쉬프트 기능을 구현할 때, 디스크 조각을 최소 관리유닛으로 하여, 디스크 조각 리스트를 통해 현재 파일을 구성하는 모든 디스크 조각을 직렬연결시키고, 타임 쉬프트 프로그램을 녹화하는 과정 중에서, 만약 현재의 이미 녹화한 타임 쉬프트 프로그램의 시간길이가 최대 타임 쉬프트 시간을 이미 초과하고 현재 수신된 전송 스트림의 스트림 비트율이 평균 스트림 비트율보다 작을 경우, 현재 파일 중에서 녹화시간이 가장 오래된 타임 쉬프트 프로그램을 삭제하고 상응하는 디스크 조각을 디스크 조각 리스트 중에서 삭제하고, 새로 녹화한 타임 쉬프트 프로그램으로 현재 파일 중의 녹화가 가장 오래된 타임 쉬프트 프로그램을 오버레이하는 파일 관리 모듈을 포함하여 이루어지는 디지털 TV 타임 쉬프트 장치.
  27. 제26항에 있어서,
    상기 사용자 인터페이스 모듈을 통해 설정되는 값은, 최대 타임 쉬프트 시간, 최소 타임 쉬프트 시간, 타임 쉬프트 프로그램의 우선 순위, 키 프레임 색인의 온(ON) 여부, 디스크 조각 병합 기능의 온(ON) 여부 중 적어도 어느 하나를 포함하고,
    상기 사용자 인터페이스 모듈을 통해 수신되는 사용자 제어신호는 타임 쉬프트 기능의 시작 및 종료를 위한 제어신호를 포함하는 것을 특징으로 하는 디지털 TV 타임 쉬프트 장치.
  28. 제26항 또는 제27항에 있어서,
    수신된 전송 스트림 중에서 데이터율 정보를 추출하여 처리하고, 전송 스트림을 상기 파일 관리 모듈에 발송하는 데이터율 정보 추출모듈; 및
    상기 데이터율 정보 추출모듈로부터 데이터율 정보를 수신하여 화면그룹 단위로 녹화시간의 순서로 배열한 리스트를 구성하고 빠른 검색 및 조회기능을 제공하는 동영상 정보 색인모듈을 더 포함하는 것을 특징으로 하는 디지털 TV 타임 쉬프트 장치.
  29. 제28항에 있어서,
    상기 데이터율 정보는 절대시간, 절대 데이터 옵셋 및 키프레임 라벨을 포함하고, 처리 후의 데이터율 정보는 녹화시간, 데이터 옵셋 및 프레임 유형을 포함하는 것을 특징으로 하는 디지털 TV 타임 쉬프트 장치.
  30. 제27항에 있어서,
    복수의 타임 쉬프트가 수행될 때, 상기 사용자 인터페이스 모듈을 통해 설정된 우선 순위에 따라 상기 파일 관리 모듈을 통해 디스크 공간에 녹화되는 것을 특징으로 하는 디지털 TV 타임 쉬프트 장치.
  31. 제27항에 있어서,
    디스크 공간이 부족한 경우, 최소 타임 쉬프트 시간에 도달하지 않은 타임 쉬프트 프로그램에 대하여 우선적으로 디스크 공간을 할당하는 것을 특징으로 하는 디지털 TV 타임 쉬프트 장치.
KR1020130026124A 2013-03-12 2013-03-12 디지털 tv 타임 쉬프트 방법 및 이를 이용한 디지털 tv 타임 쉬프트 장치 KR20140111789A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020130026124A KR20140111789A (ko) 2013-03-12 2013-03-12 디지털 tv 타임 쉬프트 방법 및 이를 이용한 디지털 tv 타임 쉬프트 장치
EP13168995.2A EP2779670A3 (en) 2013-03-12 2013-05-23 Method of time shifting in a digital TV and apparatus using the same
US13/902,109 US20140282758A1 (en) 2013-03-12 2013-05-24 Method of time shifting in a digital tv and apparatus using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130026124A KR20140111789A (ko) 2013-03-12 2013-03-12 디지털 tv 타임 쉬프트 방법 및 이를 이용한 디지털 tv 타임 쉬프트 장치

Publications (1)

Publication Number Publication Date
KR20140111789A true KR20140111789A (ko) 2014-09-22

Family

ID=48628264

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130026124A KR20140111789A (ko) 2013-03-12 2013-03-12 디지털 tv 타임 쉬프트 방법 및 이를 이용한 디지털 tv 타임 쉬프트 장치

Country Status (3)

Country Link
US (1) US20140282758A1 (ko)
EP (1) EP2779670A3 (ko)
KR (1) KR20140111789A (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102342564B1 (ko) * 2015-03-03 2021-12-24 한국전자통신연구원 파일 시스템을 생성하고 삭제하는 장치 및 그의 구동 방법
AU2016427820B2 (en) * 2016-10-28 2022-08-25 Rovi Guides, Inc Systems and methods for storing programs
US10856038B2 (en) 2018-08-23 2020-12-01 Sling Media Pvt. Ltd. Predictive time-shift buffering for live television
CN114764485B (zh) * 2021-01-28 2022-12-13 腾讯科技(深圳)有限公司 一种信息显示方法、装置、存储介质及计算机设备

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6782550B1 (en) * 2000-06-16 2004-08-24 Minerva Networks, Inc. Program guide with a current-time bar
US7962011B2 (en) * 2001-12-06 2011-06-14 Plourde Jr Harold J Controlling substantially constant buffer capacity for personal video recording with consistent user interface of available disk space
US8565578B2 (en) * 2001-12-06 2013-10-22 Harold J. Plourde, Jr. Dividing and managing time-shift buffering into program specific segments based on defined durations
EP1554870A1 (en) * 2002-08-29 2005-07-20 Opentv, Inc. A method and apparatus for selecting compression for an incoming video signal in an interactive television system
KR100985036B1 (ko) 2002-12-20 2010-10-04 코닌클리케 필립스 일렉트로닉스 엔.브이. 사용자에게 더 편리한 시간-시프트 버퍼
EP1608166B1 (en) * 2003-02-13 2012-08-22 Panasonic Corporation Data processing device
US20060098943A1 (en) * 2004-11-05 2006-05-11 Microsoft Corporation Content re-lock control
JP2006236541A (ja) * 2005-02-28 2006-09-07 Funai Electric Co Ltd 情報記録再生装置
KR100833240B1 (ko) 2006-09-15 2008-05-28 삼성전자주식회사 타임 쉬프트 저장 공간 제어 방법 및 장치와 그와 같은기능을 수행할 수 있는 텔레비전

Also Published As

Publication number Publication date
EP2779670A2 (en) 2014-09-17
US20140282758A1 (en) 2014-09-18
EP2779670A3 (en) 2015-01-07

Similar Documents

Publication Publication Date Title
US8873929B1 (en) Digital recording and playback
RU2390965C2 (ru) Приемник телевизионных сигналов
US7840112B2 (en) Gradually degrading multimedia recordings
US7409140B2 (en) Channel buffering and display management system for multi-tuner set-top box
CN103179447B (zh) 在数字电视时移中优化磁盘空间利用率的方法及装置
KR20090089448A (ko) 미디어 소스 선택 및 토클링 시스템 및 방법
US7965976B2 (en) Information processing apparatus and method and computer program
EP2635025B1 (en) Video processing method and video appliance implementing the method
US20050207732A1 (en) Method and apparatus for editing recorded program using virtual file system and file structure
KR20140111789A (ko) 디지털 tv 타임 쉬프트 방법 및 이를 이용한 디지털 tv 타임 쉬프트 장치
US9640220B2 (en) Managing time-shift data
US20040190856A1 (en) Image recording/reproducing apparatus and control method thereof
US20140341544A1 (en) Creating and managing sub-recordings
US9560408B2 (en) Tracking and displaying popular media content
CN101848366A (zh) Iptv系统中时移分片文件的归档及节目播放方法和设备
CN101094337B (zh) 控制电视接收机的方法以及使用该方法的电视接收机
EP1362290A1 (en) Device and method for managing the access to a storage medium
KR20050022266A (ko) 콘텐츠 데이터 녹화 장치 및 콘텐츠 데이터 녹화 방법
JP4574566B2 (ja) 放送受信装置およびその画面表示方法
KR100617160B1 (ko) 데이터 저장기기의 제어방법
KR100323677B1 (ko) 동영상 데이터의 동시 녹화/재생 방법
JP2007006076A (ja) 記録コンテンツ管理方法
KR20090065634A (ko) 선행작업에 의한 사용자 이벤트 처리방법 및 그방송수신장치

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