KR100510675B1 - Pvr의 프레임 인덱싱 방법 - Google Patents
Pvr의 프레임 인덱싱 방법 Download PDFInfo
- Publication number
- KR100510675B1 KR100510675B1 KR10-2003-0014075A KR20030014075A KR100510675B1 KR 100510675 B1 KR100510675 B1 KR 100510675B1 KR 20030014075 A KR20030014075 A KR 20030014075A KR 100510675 B1 KR100510675 B1 KR 100510675B1
- Authority
- KR
- South Korea
- Prior art keywords
- frame
- size
- frame size
- minimum
- header
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/765—Interface circuits between an apparatus for recording and another apparatus
- H04N5/775—Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television receiver
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
본 발명은 PVR(Personal Video Recorder)의 프레임 인덱싱 방법에 관한 것으로, 데이터를 수신하여 버퍼에 저장하는 제 1단계와, 최소 I 프레임 사이즈와 최대 I 프레임 사이즈를 설정하는 제 2 단계와, 상기 최소 I 프레임 사이즈만큼 상기 버퍼 검색을 스킵하는 제 3 단계와, 상기 스킵한 이후부터 버퍼를 검색하여 상기 최대 I 프레임 사이즈 내에서 I 프레임의 헤더를 찾는 제 4 단계와, I 프레임 헤더가 발견되면 해당 시점의 PCR(Program Clock Reference)을 프레임 인덱스 테이블에 저장하는 제 5 단계와, 최소 I 프레임 사이즈를 재설정하는 제 6 단계와, 상기 제 3 단계로 리턴하는 제 7 단계를 포함하여 이루어짐을 특징으로 한다.
Description
본 발명은 PVR(Personal Video Recorder)에 관한 것으로 특히, 하드웨어의 부담을 줄이기에 적합한 PVR의 프레임 인덱싱 방법에 관한 것이다.
트릭 모드(Trick Mode)란, 정상적으로 재생되는 것이 아니라 2배, 4배, 8배, 16배 등의 고속 검색 및 1/2배, 1/4배 등의 느린 재생을 수행하는 재생 방식을 가리킨다.
트릭 모드를 구현하기 위해서는 엠팩(MPEG) 비디오 스트림(Video Stream)을 분석해 프레임(Frame) 정보에 관련된 PCR값에 대한 인덱스를 만들어서 트릭 모드를 구현하기 위한 정보로 사용해야 한다.
도 1은 일반적인 PVR 블록 구성도로, RF 변환부(11)와, 디먹스부(12)와, 프레임 인덱스부(13)와, 하드(HDD)(14)와, A/V 디코더(Audio/Video decoder)(15)와, 디스플레이 패널(16)로 구성된다.
상기 RF 변환부(11)는 RF(Radio Frequency) 신호를 트랜스포트 스트림(Transport Stream : 이하, TS라 한다)으로 변환하는데, 상기 트랜스포트 스트림(TS)은 다시 디먹스(12) 의해 PES(Packetized Elementary Stream) 형태로 변환된다.
이후, 상기 PES는 상기 프레임 인덱스부(13)에 수신되는데 프레임 인덱스부(13)는 PES를 차례대로 검색하여 프레임 헤더(Frame Header)를 찾는다.
검색 결과, 프레임 헤더가 발견되면 해당 시점의 PCR에 근거한 프레임 인덱싱 타이밍(Framing Indexing Timing)과 프레임 헤더에 포함된 프레임 타입(Frame Type)을 구한다.
상기 하드(HDD)(14)는 상기 디먹스부(12)로부터 데이터를 수신하고 상기 프레임 인덱스부(13)로부터 프레임 인덱싱 타이밍(Frame Indexing Timing) 및 프레임 타입(Frame Type)을 수신하여 이들을 데이터 베이스화하여 저장한다.
그리고, 상기 A/V 디코더(decoder)(15)는 디스플레이 패널(16)을 통해 데이터가 화면이 표시되도록 한다.
상기 프레임 인덱싱부(13)에서 프레임 인덱싱이 정확히 이루어지지 않은 경우에는 트릭 모드 재생시에 다음과 같은 문제들이 발생된다.
첫째, 트릭 모드 재생시 화면이 부드럽지 못하다.
둘째, 2배, 4배 등의 고속 검색시 시간이 정확하게 일치하지 않는다.
셋째, 초고속 화면 검색이 정화하지 않다.
넷째, 화면이 깜빡거리거나 깨지는 과도적인 현상이 발생된다.
그러나, 상기한 종래 기술은 다음과 같은 문제점이 있다.
표준적인 SD(Standard Definition)급 TV 화면(720x576)의 경우 비디오 시퀀스는 최소 10Kbytes 이상의 큰 사이즈를 갖는데, 프레임 인덱싱을 위해서 이 비디오 시퀀스를 모두 검색해야 한다.
따라서, 상기 프레임 인덱싱부가 처리해야 하는 데이터량이 매우 크기 때문에 성능이 우수한 하드웨어를 이용하여 프레임 인덱싱부를 구성해야 하는 부담이 발생된다.
본 발명은 상기한 바와 같은 문제점들을 해결하기 위하여 안출한 것으로 하드웨어적 부담을 줄이기 위한 PVR의 프레임 인덱싱 방법을 제공하는데 그 목적이 있다.
본 발명의 다른 목적은 프레임 인덱싱의 정확성 및 속도를 향상시키는데 있다.
본 발명에 따른 PVR의 프레임 인덱싱 방법은 데이터를 수신하여 버퍼에 저장하는 제 1단계와, 최소 I 프레임 사이즈와 최대 I 프레임 사이즈를 설정하는 제 2 단계와, 상기 최소 I 프레임 사이즈만큼 상기 버퍼 검색을 스킵하는 제 3 단계와, 상기 스킵한 이후부터 버퍼를 검색하여 상기 최대 I 프레임 사이즈 내에서 I 프레임의 헤더를 찾는 제 4 단계와, I 프레임 헤더가 발견되면 해당 시점의 PCR(Program Clock Reference)을 프레임 인덱스 테이블에 저장하는 제 5 단계와, 최소 I 프레임 사이즈를 재설정하는 제 6 단계와, 상기 제 3 단계로 리턴하는 제 7 단계를 포함하여 이루어짐을 특징으로 한다.
바람직하게, 상기 제 4 단계에서 I 프레임 헤더가 발견되지 않으면 상기 최소 I 프레임 사이즈를 감소시키는 제 8 단계와, 해당 프레임의 시작 지점으로 버퍼 검색을 리턴시키는 제 9 단계와, 상기 제 2 단계로 리턴하는 제 10 단계를 더 포함하는 것을 특징으로 한다.
바람직하게, 상기 제 6 단계는 I 프레임 사이즈를 추정하는 단계와, 상기 I 프레임 사이즈 추정치를 기준으로 최소 I 프레임 사이즈를 산출하고 이 산출치를 최소 I 프레임 사이즈를 설정하는 단계로 구성되는 것을 특징으로 한다.
바람직하게, 상기 I 프레임 사이즈를 추정하는 단계는 가장 최근에 발견된 I 프레임 헤더와 그 직전에 발견된 I 프레임 헤더 사이의 데이터 사이즈를 I 프레임 사이즈로 추정하는 단계임을 특징으로 한다.
바람직하게, 상기 최소 I 프레임 사이즈는 상기 I 프레임 사이즈 추정치(Isize)와 I 프레임 헤더가 발견된 경우의 윈도윙 가중치(Ws)를 곱하여 산출하는 것을 특징으로 한다.
바람직하게, 상기 윈도윙 가중치(Ws)는 0보다 크고 1보다 작은 값을 갖는 것을 특징으로 한다.
바람직하게, 상기 최소 I 프레임 사이즈는 현재의 최소 I 프레임 사이즈(Imin_prev)와 I 프레임 헤더가 발견되지 않은 경우의 윈도윙 가중치(Wf)를 곱하여 산출하는 것을 특징으로 한다.
바람직하게, 상기 윈도윙 가중치(Wf)는 0보다 크고 1보다 작은 값을 갖는 것을 특징으로 한다.
본 발명의 다른 목적, 특징 및 이점들은 첨부한 도면을 참조한 실시예들의 상세한 설명을 통해 명백해 질 것이다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 설명하기로 한다.
통계적으로, 엠팩(MPEG) 비디오의 경우 I 프레임, P 프레임, B 프레임 중에 I 프레임이 가장 큰 데이터를 가지고 있고 P 프레임과 B 프레임의 경우 작은 사이즈의 데이터를 갖는다.
본 발명은 이러한 점에 착안하여 I 프레임의 헤더(header)를 찾아 프레임 인덱싱을 하고자 한다.
도 2는 본 발명에 따른 프레임 인덱싱 과정을 설명하기 위한 도면이고, 도 3은 본 발명에 따른 프레임 인덱싱 방법을 나타낸 순서도이다.
도 2에서, 디먹스부(21)는 트랜스포트 스트림(Transport Stream : 이하, TS라 한다)이 수신되면 TS를 PES(Packetized Elementary Stream) 형태로 변환하여 프레임 인덱스부(22)에 출력한다.
상기 디먹스부(21)로부터 PES가 수신되면 상기 프레임 인덱스부(22)는 우선, 데이터 검색 스킵(Skip)이 가능한 최소 I 프레임 사이즈와 최대 I 프레임 사이즈를 설정하고(S301), 수신되는 PES를 차례대로 버퍼(buffer)(도시하지 않음)에 저장시킨다.
상기 버퍼(buffer)는 프레임 인덱스부(22)의 내부에 위치하여도 되고, 외부에 위치하여도 된다.
이어, 상기 최소 I 프레임 사이즈만큼 버퍼 검색을 스킵(Skip)하고(S302) 그 이후 시점부터 버퍼에 저장된 데이터를 검색(scan)하여 I 프레임의 picture_header()를 찾는다(S303),(S304).
video_sequence(){ | No. of bits | Mnemonic |
next_start_code() | ||
sequence_header() | ||
if(nextbits()==extension_start_code){ | ||
sequence_extension() | ||
do{ | ||
extension_and_data(0) | ||
do{ | ||
if(nextbits()==group_start_code){ | ||
group_of_pictures_header() | ||
extension_and_user_data(1) | ||
} | ||
picture_header() | ||
picture_coding_extension() | ||
extensions_and_user_data(2) | ||
picture_data() | ||
}while((nextbits()==picture_start_code) | ||
(nextbits()==group_start_code) | ||
if(nextbits()!=sequence_end_code){ | ||
sequence_header() | ||
sequence_extension() | ||
} | ||
}while(nextbits()!=sequence_end_code) | ||
}else{ | ||
/*ISO/IEC 11172-2*/ | ||
} | ||
sequence_end_code | 32 | bslbf |
} |
상기 표 1은 비디오 시퀀스를 나타낸 것으로, 상기 picture_header()는 프레임의 타입(type) 정보를 나타내며 이것을 보고 해당 프레임이 I 프레임인지 P나 B 프레임인지를 알 수 있다.
상기에서 I 프레임 picture_header()가 발견되면 프레임 타입(type)(여기서는 I이다)과 현재 PCR(Program Clock Reference)을 프레임 인덱스 테이블(Frame Index Table)(도 2에 도시되어 있음)에 저장하고(S305), I 프레임 picture_header()가 발견된 시점까지의 데이터 사이즈를 I 프레임 사이즈로 추정한다.
그리고, 상기 I 프레임 사이즈 추정치를 기준으로 다음 수학식 1에 따라 최소 I프레임 사이즈를 산출한다(S306).
여기서, Imin은 최소 I 프레임 사이즈이고, Ws는 I 프레임 picture_header()가 발견된 경우에 윈도윙(Windowing) 가중치이고, Isize는 I 프레임 사이즈 추정치이다.
상기 I 프레임 picture_header()가 발견된 경우의 윈도윙(Windowing) 가중치(Ws)는 동영상의 변화는 급격하지 않아 바로 이전에 복잡한 이미지가 전송되어서 I 프레임의 사이즈가 크다면 바로 연이어 나오는 I 프레임의 사이즈도 비슷한 통계적 특성을 갖는 점을 고려하여 설정하는 수치로, 0.8 정도가 바람직하다.
그 다음에, 상기 스텝 302(S302)로 리턴하여 계속해서 버퍼를 검색한다.
상기 스텝 304(S304)에서 버퍼를 검색한 결과, I 프레임의 picture_header()를 발견하지 못한 경우에는 최대 I 프레임 사이즈가 검색한 버퍼의 사이즈보다 작은지 여부를 판단한다(S307).
판단 결과, 검색한 버퍼의 사이즈가 최대 I 프레임 사이즈보다 작은 경우에는 검색한 버퍼의 사이즈가 최대 I 프레임 사이즈와 동일하게되는 시점을 한도로 하여 I 프레임 picture_header()가 발견될 때까지 버퍼를 검색(sacn)한다(S304, S307, S303).
이때, I 프레임 picture_header()가 발견되면 스텝 305(S305)를 실시한다.
한편, 최대 I 프레임 사이즈만큼 버퍼를 검색하고도 I 프레임의 picture_header()를 발견하지 못한 경우에는 다음 수학식 2에 따라 현재의 최소 I 프레임 사이즈를 줄여 최소 I 프레임 사이즈를 갱신한다(S308).
여기서, 상기 Imin은 새로운 최소 I 프레임 사이즈이고, Wf는 I 프레임 picture_header()가 발견되지 않은 경우에 윈도윙(Windowing) 가중치이고, Imin_prev는 기존의 최소 I 프레임 사이즈이다.
상기 I 프레임 picture_header()가 발견되지 않은 경우에 윈도윙(Windowing) 가중치(Wf)는 급격하게 장면이 전환된다 거나 화면이 나오지 않을 경우를 고려하여 설정하는 수치로, 0.2 정도가 바람직하다.
이어, 검색 시작 시점을 해당 프레임의 초기 위치로 리턴시킨 후에(S309) 상기 스텝 302(S302)로 되돌아가 해당 프레임을 다시 검색한다.
상기와 같은 본 발명은 다음과 같은 효과가 있다.
첫째, I 프레임 사이즈를 예측해서 버퍼를 건너뛰면서 검색하기 때문에 처리 속도가 빨라질 뿐만 아니라 처리해야 하는 데이터 용량이 감소되어 저가의 하드웨어를 이용하여 구현 가능하므로 비용을 절감할 수 있다.
둘째, 각 프레임의 사이즈를 고려하여 스킵 윈도우 사이즈를 가변적으로 조정하기 때문에 프레임 인덱싱 정확도를 향상시킬 수 있다.
이상 설명한 내용을 통해 당업자라면 본 발명의 기술 사상을 이탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다.
따라서, 본 발명의 기술적 범위는 실시예에 기재된 내용으로 한정하는 것이 아니라 특허 청구범위에 의해서 정해져야 한다.
도 1은 일반적인 PVR 블록 구성도
도 2는 본 발명에 따른 프레임 인덱싱 과정을 설명하기 위한 도면
도 3은 본 발명에 따른 프레임 인덱싱 방법을 나타낸 순서도
**도면의 주요 부분에 대한 부호 설명**
21 : 디먹스 22 : 프레임 인덱싱부
23 : A/V 디코더
Claims (8)
- 데이터를 수신하여 버퍼에 저장하는 제 1단계;최소 I 프레임 사이즈와 최대 I 프레임 사이즈를 설정하는 제 2 단계;상기 최소 I 프레임 사이즈만큼 상기 버퍼 검색을 스킵하는 제 3 단계;상기 스킵한 이후부터 버퍼를 검색하여 상기 최대 I 프레임 사이즈 내에서 I 프레임의 헤더를 찾는 제 4 단계;상기 I 프레임 헤더가 발견되면 해당 시점의 PCR을 프레임 인덱스 테이블에 저장하고, 최소 I 프레임 사이즈를 재설정하며, 상기 제 3 단계로 리턴하는 제 5 단계;상기 I 프레임 헤더가 발견되지 않으면 상기 최소 I 프레임 사이즈를 감소시키고, 해당 프레임의 시작 지점으로 버퍼 검색을 리턴시키며, 상기 제 2 단계로 리턴하는 제 6 단계를 포함하여 이루어짐을 특징으로 하는 PVR에서 프레임 인덱싱 방법.
- 삭제
- 제 1항에 있어서,상기 제 6 단계는I 프레임 사이즈를 추정하는 단계;상기 I 프레임 사이즈 추정치를 기준으로 최소 I 프레임 사이즈를 산출하고 이 산출치를 최소 I 프레임 사이즈를 설정하는 단계로 구성되는 것을 특징으로 하는 PVR의 프레임 인덱싱 방법.
- 제 3항에 있어서,상기 I 프레임 사이즈를 추정하는 단계는가장 최근에 발견된 I 프레임 헤더와 그 직전에 발견된 I 프레임 헤더 사이의 데이터 사이즈를 I 프레임 사이즈로 추정하는 단계임을 특징으로 하는 PVR에서 프레임 인덱싱 방법.
- 제 3항에 있어서,상기 최소 I 프레임 사이즈는상기 I 프레임 사이즈 추정치(Isize)와 I 프레임 헤더가 발견된 경우의 윈도윙 가중치(Ws)를 곱하여 산출하는 것을 특징으로 하는 PVR에서 프레임 인덱싱 방법.
- 제 5항에 있어서,상기 윈도윙 가중치(Ws)는0보다 크고 1보다 작은 값을 갖는 것을 특징으로 하는 PVR에서 프레임 인덱싱 방법.
- 제 2항에 있어서,상기 최소 I 프레임 사이즈는현재의 최소 I 프레임 사이즈(Imin_prev)와 I 프레임 헤더가 발견되지 않은 경우의 윈도윙 가중치(Wf)를 곱하여 산출하는 것을 특징으로 하는 PVR에서 프레임 인덱싱 방법.
- 제 7항에 있어서,상기 윈도윙 가중치(Wf)는 0보다 크고 1보다 작은 값을 갖는 것을 특징으로 하는 PVR에서 프레임 인덱싱 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2003-0014075A KR100510675B1 (ko) | 2003-03-06 | 2003-03-06 | Pvr의 프레임 인덱싱 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2003-0014075A KR100510675B1 (ko) | 2003-03-06 | 2003-03-06 | Pvr의 프레임 인덱싱 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20040079140A KR20040079140A (ko) | 2004-09-14 |
KR100510675B1 true KR100510675B1 (ko) | 2005-08-31 |
Family
ID=37364191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2003-0014075A KR100510675B1 (ko) | 2003-03-06 | 2003-03-06 | Pvr의 프레임 인덱싱 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100510675B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100818797B1 (ko) | 2006-10-19 | 2008-04-01 | 삼성전자주식회사 | 메모리 용량 조절 방법과 메모리 용량 조절 장치 |
-
2003
- 2003-03-06 KR KR10-2003-0014075A patent/KR100510675B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR20040079140A (ko) | 2004-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7342967B2 (en) | System and method for enhancing performance of personal video recording (PVR) functions on hits digital video streams | |
JP4536402B2 (ja) | 映像再生装置、映像再生方法及びその方法をコンピュータに実行させるためのプログラム | |
US8879896B2 (en) | Method and apparatus to facilitate the efficient implementation of trick modes in a personal video recording system | |
JP4707713B2 (ja) | 映像記録装置及びシーンチェンジ抽出方法 | |
US7330510B2 (en) | Method for displaying base frames during video data decompression | |
US7664105B2 (en) | Method and apparatus for storage or relocation of defined positions in a data stream | |
US7343088B2 (en) | Disc apparatus, disc recording method, disc playback method, recording medium, and program | |
US7149248B2 (en) | Command packet system and method supporting improved trick mode performance in video decoding systems | |
JP5539276B2 (ja) | ファイル位置高速検索方法 | |
JP3827705B1 (ja) | 映像記録装置及びシーンチェンジ抽出方法 | |
US20050289637A1 (en) | Saving presented clips of a program | |
JP4827669B2 (ja) | 動画再生方法および装置 | |
US7333714B2 (en) | Method and system for performing reverse play of SD MPEG video | |
KR100510675B1 (ko) | Pvr의 프레임 인덱싱 방법 | |
KR19990010965A (ko) | 비디오데이터 디코딩방법 | |
US20090307185A1 (en) | Method for seamless playback of multiple multimedia files | |
JP5036882B2 (ja) | 映像記録装置、映像記録方法、映像音声記録装置、及び映像音声記録方法 | |
WO2007013407A1 (ja) | ダイジェスト生成装置、ダイジェスト生成方法、ダイジェスト生成プログラムを格納した記録媒体、およびダイジェスト生成装置に用いる集積回路 | |
US20050158038A1 (en) | Lowering the quality level of a selected program | |
KR20020007178A (ko) | 영상 신호 기록 재생 장치, 영상 신호 기록 재생 방법, 및기록 매체 | |
CN113038245B (zh) | 多媒体内容播放装置与多媒体内容播放方法 | |
TWI713362B (zh) | 多媒體內容播放裝置與多媒體內容播放方法 | |
US20090074376A1 (en) | Apparatus and method for efficient av synchronization | |
US7577204B2 (en) | Hits stream rewind | |
KR100848904B1 (ko) | 오디오 및 비디오 립싱크를 위한 실시간 pes 디코딩 방법 |
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: 20120727 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20130724 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20140724 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20150724 Year of fee payment: 11 |
|
LAPS | Lapse due to unpaid annual fee |