KR101302869B1 - 재생 장치 및 재생 방법 - Google Patents

재생 장치 및 재생 방법 Download PDF

Info

Publication number
KR101302869B1
KR101302869B1 KR20070020438A KR20070020438A KR101302869B1 KR 101302869 B1 KR101302869 B1 KR 101302869B1 KR 20070020438 A KR20070020438 A KR 20070020438A KR 20070020438 A KR20070020438 A KR 20070020438A KR 101302869 B1 KR101302869 B1 KR 101302869B1
Authority
KR
South Korea
Prior art keywords
frame
clip
playback
target
picture
Prior art date
Application number
KR20070020438A
Other languages
English (en)
Other versions
KR20070090109A (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 KR20070090109A publication Critical patent/KR20070090109A/ko
Application granted granted Critical
Publication of KR101302869B1 publication Critical patent/KR101302869B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Television Signal Processing For Recording (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

재생 장치가 설명된다. 재생부는 기록 매체로부터 비디오 데이타를 재생한다. 비디오 데이타는 시간적으로 연속적인 다수의 프레임으로 구성되는 클립 단위로 관리된다. 제1 디코드부는 현재 출력되고 있는 제1 클립을 디코드하며 디코드된 제1 클립을 저장한다. 제2 디코드부는 적어도 재생 순서에 있어서 제1 클립에 인접한 제2 클립의 초기에 출력되는 프레임을 프리-디코드하여 프리-디코드된 프레임을 저장한다. 제어부는 제1 클립의 재생 시간 길이의 가운데 위치를 기반으로 재생 순서에 있어서 제1 클립의 디코드된 위치 측에 인접한 클립을 시간 길이의 앞선 영역 및 나중 영역에 대한 제2 클립이 되도록 제어한다.
Figure R1020070020438
재생 장치, 프레임, 클립, 비디오 데이타, 기록 매체, 프레임 버퍼, 목표 재생 프레임 버퍼 패턴

Description

재생 장치 및 재생 방법{REPRODUCTION APPARATUS AND REPRODUCTION METHOD}
도 1의 (a) 내지 1의 (c)는 긴 GOP의 경우 디코드 프로세스를 설명하는 개략도이다.
도 2는 본 발명의 실시예에 따른 시스템의 재생 제어 프로세스의 개념을 보여주는 개략도이다.
도 3은 본 발명의 실시예에 따른 시스템의 재생 장치의 구조 예의 개요를 보여주는 블록도이다.
도 4는 디코더 구조의 예의 개요를 보여주는 블록도이다.
도 5는 디코더 구조의 예를 구체적으로 보여주는 블록도이다.
도 6은 디스크형 기록 매체 상의 데이타 배열의 예를 보여주는 개략도이다.
도 7의 (a) 내지 7의 (d)는 클립을 설명하는 개략도이다.
도 8은 광학 디스크에 형성된 환형 링 데이타의 예를 보여주는 개략도이다.
도 9의 (a) 내지 9의 (f)는 MPEG2의 긴 GOP의 데이타 구조의 예를 보여주는 개략도이다.
도 10은 화상 포인터 정보를 설명하는 화상 포인터 테이블의 특정 예를 보여주는 개략도이다.
도 11의 (a) 내지 11의 (c)는 표시 순서에 있어서 현행 프레임보다 1 프레임 이전의 프레임 또는 현행 프레임보다 1 프레임 이후의 프레임이 표시 순서로 디코드되는데 필요한 버퍼 량의 예를 보여주는 개략도이다.
도 12는 본 발명의 실시예에 따른 시스템의 목표 프레임 버퍼의 갱신 패턴의 예를 보여주는 개략도이다.
도 13은 목표 프레임 버퍼 패턴의 예를 생성하는 방법을 보여주는 흐름도이다.
도 14의 (a) 내지 14의 (f)는 목표 프레임 패턴의 예를 생성하는 방법을 설명하는 개략도이다.
도 16은 본 발명의 실시예에 따른 시스템에 의한 동기 제어의 개요를 보여주는 개략도이다.
도 17은 본 발명의 실시예에 따른 재생 장치의 구조의 예를 보여주는 블록도이다.
도 18은 각 프레임의 타이밍에서 두 디코더의 동작 예를 보여주는 개략도이다.
도 19의 (a) 내지 19의 (b)는 클립을 재생하는 방법에 대한 전형적인 예를 보여주는 개략도이다.
도 20은 본 발명의 실시예에 따른 클립에 대한 재생 제어 프로세스의 예를 보여주는 흐름도이다.
도 21은 본 발명의 실시예에 따른 클립에 대한 재생 제어 프로세스의 예를 보여주는 흐름도이다.
도 22는 본 발명의 실시예에 따른 클립에 대한 재생 제어 프로세스의 예를 보여주는 흐름도이다.
도 23A 및 23B는 클립 점프의 발생시에 클립의 가운데 위치와 목표 재생 프레임을 얻는 방법을 설명하는 개략도이다.
도 24는 본 발명의 실시예에 따른 재생 제어 동작을 설명하는 개략도이다.
<도면의 주요 부분에 대한 부호의 설명>
1 : 재생 장치
10 : 광 디스크
11 : 디스크 드라이브
12 : 캐쉬 메모리
13A, 13B : 디코더
17A, 17B : 프레임 메모리(프레임 버퍼)
14 : CPU
22 : MPEG 디코더
23 : 출력 데이타 제어부
33 : 예측 디코드부
35 : ROM
36 : RAM
201 : 스위치 회로
본 발명은 2006년 3월 1일자로 일본국 특허청에 출원된 일본국 특허 출원 JP 2006-054713에 관련된 주제를 포함하며, 이는 참조로 본 명세서에 통합된다.
본 발명은 예측 코드(prediction code)를 갖고 있는 인터프레임-압축 엔코딩 방법을 기반으로 압축-엔코드된 비디오 신호를 클립(clips)들 사이에서 연속해서 재생되게 해주는 재생 장치 및 재생 방법에 관한 것이다.
디지털 비디오 신호 및 디지털 오디오 신호를 기록 매체에 기록하고 그로부터 이들 신호를 재생하는 데이타 기록 및 재생 장치는 알려져 있다. 디지털 비디오 신호 및 디지털 오디오 신호가 기록되는 기록 매체로는, 직렬로 억세스되는 기록 테이프와 같은 기록 매체가 널리 이용되어 왔다. 최근에는, 랜덤하게 억세스할 수 있는 광학 디스크, 하드 디스크, 및 반도체 메모리와 같은 기록 매체가 디지털 비디오 신호 및 디지털 오디오 신호를 기록 및 재생하는데 널리 이용되고 있다.
디지털 비디오 신호의 데이타 용량이 매우 크기 때문에, 일반적으로 데이타를 예정된 시스템에 따라서 압축-엔코드하여 기록 매체에 기록한다. 최근에는, MPEG2(동화상 전문가 그룹 2) 시스템이 통상적인 압축-엔코딩 시스템으로 알려져 있다. MPEG2에 있어서, 디지털 비디오 신호는 DCT(Discrete Cosine Transform) 및 모션 보상(motion compensation)을 기반으로 압축-엔코드된다. 데이타의 압축율은 가변 길이 코드로 향상된다.
다음에는, MPEG2의 데이타 스트림 구조에 대해 간략하게 설명하기로 한다. MPEG2는 모션 보상이 있는 예측 엔코딩 및 DCT 기반의 압축 엔코딩의 결합이다. MPEG2의 데이타는 하층으로부터 상층까지 순서대로 블록 계층, 매크로 블록 계층, 슬라이스 계층, 화상 계층, GOP 계층 및 시퀀스로 계층적으로 구성되어 있다. 블록 계층은 각각이 DCT 프로세스의 단위인 DCT 블록들로 구성된다. 매크로 블록 계층은 다수의 DCT 프로세스로 구성된다. 슬라이스 계층은 헤더부와 적어도 하나의 매크로 블록으로 구성된다. 화상 계층은 헤더부와 적어도 하나의 슬라이스로 구성된다. 하나의 하상은 하나의 스크린에 해당한다.
GOP 계층은 헤더부, 인트라-프레임 엔코딩 기반의 I(인트라-코드된) 화상, 예측 엔코딩 기반의 P(예측 엔코드된) 화상 , 및 B(양방향 예측 코드된) 화상으로 구성된다. I 화상은 단지 그 자신의 정보로만 디코드될 수 있다. P 화상은 기준 화상으로서 현행 P 화상보다 이전의 화상을 필요로 한다. B 화상은 기준 화상으로서 현행 화상보다 이전의 화상 및 이후의 화상을 필요로 한다. P 화상 및 B 화상은 그들 스스로는 디코드되지 않는다. 예를 들어, P 화상은 기준 화상으로서 현행 P 화상보다 이전의 I 화상 또는 P 화상으로 디코드된다. B 화상은 두 개의 화상 즉, 기준 화상으로서 현행 화상보다 이전 및 이후의 I 화상 또는 P 화상으로 디코드된다. 적어도 하나의 I 화상을 포함하며 그 자체로 완전한 그룹은 GOP(Group Of Picture)라 불린다. GOP는 MPEG 스트림에서 최소의 억세스가능 단위이다.
GOP는 하나 또는 다수의 화상으로 구성된다. 다음의 설명에서는 편의상 단지 하나의 I 화상으로 구성된 GOP를 싱글 GOP라 칭하기로 한다. 대조적으로, 다수 의 I 화상, P 화상 및/또는 B 화상으로 구성된 GOP는 긴 GOP라 칭하기로 한다. 싱글 GOP는 단지 하나의 I 화상으로 구성되어 있기 때문에, 데이타가 프레임 단위로 쉽게 편집될 수 있다. 또한, 인터-프레임 예측 엔코딩은 싱글 GOP에 대해 실행되지 않기 때문에, 데이타가 긴 GOP보다 높은 화질로 디코드될 수 있다. 대조적으로, 인터-프레임 예측 엔코딩은 긴 GOP에 대해 실행되기 때문에, 데이타가 높은 압축률로 효율적으로 엔코드될 수 있다.
두 종류의 긴 GOP 즉, 폐쇄형 구조의 폐쇄형 GOP 및 개방형 구조의 개방형 GOP가 있으며, 폐쇄형 GOP는 그 자체로 완전하게 디코드될 수 있으며, 개방형 GOP는 디코딩 순서에서 현행 GOP보다 하나의 GOP 만큼 이전의 GOP에 대한 정보로 디코드될 수 있다. 개방형 GOP는 폐쇄형 GOP보다 더 많은 정보로 디코드되기 때문에, 전자의 화질이 후자의 화질보다 높다. 따라서, 개방형 GOP가 일반적으로 이용된다. 다음의 설명에서, "GOP"는 달리 명시하지 않는 한 개방형 GOP를 가리킨다.
비디오 신호의 포맷으로서, 25 Mbps(초당 메가 비트)의 비트 레이트를 갖고 있는 SD(Standard Definition) 포맷이 알려져 있다. 특히, 방송국용의 비디오 디바이스에 있어서, 고화질 및 고정밀의 편집 환경은 SD 포맷 및 싱글 GOP의 비디오 신호로 성취되었다. SD 포맷의 비디오 신호는 프레임당 비트 레이트가 고정되어 있는 고정 비트 레이트를 갖고 있다.
한편, 최근에는, 디지털 하이-비젼 방송 등이 개시되었으므로, SD 포맷보다 높은 해상도를 갖고 있는 HD(High Definition) 포맷이 이용되고 있다. HD 포맷에서, 비디오 신호의 해상도가 증가함에 따라서, 그의 비트 레이트가 SD 포맷의 비트 레이트보다 높아지고 있다. 따라서, 싱글 GOP로는, 비디오 신호를 장시간 동안 기록 매체에 기록하기가 곤란하다. 이 문제를 해결하기 위해서, HD 포맷의 비디오 신호가 긴 GOP로 기록된다. 긴 GOP에서, 예측 코드가 있는 인터-프레임 압축이 실행된다. 따라서, 긴 GOP를 갖고 있는 비디오 신호는 프레임마다 변하는 가변 비트 레이트를 갖고 있다.
다음에는, 도 1의 (a) 내지 1의 (c)를 참조해서, 긴 GOP에 대한 디코드 프로세스를 설명하기로 한다. 이 예에서, 전체 15 개의 화상, 즉 하나의 I 화상, 4 개의 P 화상, 및 10 개의 B 화상으로 구성되어 있다고 가정한다. 도 1의 (a)에 도시된 바와 같이, GOP의 I, P 및 B의 표시 순서는 "B0B1I2B3B4P5의 (b)6B7P8B9의 (b)10P11의 (b)12B13P14"이며, 여기서 아래 첨자는 표시 순서 번호를 나타낸다.
이 예에서, 첫번째 두 화상, B0 화상 및 B1 화상은 현행 GOP보다 한 GOP 만큼 이전의 GOP의 마지막 화상 즉, P14 화상 및 현행 GOP의 I2 화상으로 예측 디코드되는 화상이다. 현행 GOP의 첫번째 P 화상, P5 화상은 I2 화상으로 예측되어 디코드되는 화상이다. 다른 P 화상 즉, P8, 화상 P11, 및 화상 P14 는 현행 화상보다 한 화상만큼 이전의 P 화상으로 예측되어 디코드되는 화상이다. I 화상보다 뒤의 B 화상들은 현행 화상보다 한 화상만큼 이전의 I 화상 또는 B 화상 및 현행 화상보다 한 화상만큼 나중의 I 화상 또는 B 화상으로 예측되어 디코드되는 화상이다.
또한, B 화상은 현행 화상보다 한 화상만큼 이전의 I 화상 또는 B 화상 및 현행 화상보다 한 화상만큼 나중의 I 화상 또는 B 화상으로 예측되어 디코드되기 때문에, 디코더에서 이들 화상의 디코딩 순서를 고려하여 스트림 내의 또는 기록 매체상의 I, P 및 B 화상의 순서를 디코드하는 것이 필요하다. 다른 말로, B 화상이 디코드되기 전에 I 화상(들) 및 P 화상(들)을 디코드하는 것이 필요하다.
상기 예에서, 도 1의 (b)에 도시된 바와 같이, 개개의 화상들은 "I2B0B1P5의 (b)3B4P8B6B7P11의 (b)9의 (b)10P14의 (b)12B13"으로 스트림 내에 또는 기록 매체 상에 배열되어 있다. 이 순서로, 화상들은 디코더에 입력된다. 아래 첨자들은 도 1의 (a)에 도시된 것들에 대응하는 표시 순서 번호를 나타낸다.
도 1의 (c)에 도시된 바와 같이, 디코더의 디코드 프로세스에서, 가장 먼저 I2 화상이 디코드된다. B0 화상 및 B1 화상은 디코드된 I2 화상 및 (표시 순서에 있어서)현행 GOP보다 한 GOP만큼 이전의 GOP의 P14 화상으로 예측되어 디코드된다. B0 화상 및 B1 화상은 그들이 디코드된 순서로 디코더로부터 출력된다. 이후, I2 화상이 출력된다. B1 화상이 출력될 때, 화상 P5 는 I2 화상으로 예측되어 디코드된다. 이후, B3 화상 및 B4 화상이 I2 화상 및 P5 화상으로 예측되어 디코드된다. 디코드된 B3 화상 및 B4 화상은 그들이 디코드된 순서로 디코더로부터 출력된다. 이후 P5 화상이 출력된다.
이후, 동일한 식으로, B 화상을 예측하는데 이용되는 P 화상(들) 및/또는 I 화상(들)은 B 화상이 디코드되기 전에 디코드된다. B 화상은 디코드된 P 화상(들) 및/또는 I 화상(들)로 디코드된다. 디코드된 B 화상을 출력하고 나서 B 화상을 디코드하는데 이용된 P 화상(들) 및/또는 I 화상(들)을 출력하는 프로세스는 반복된다. 기록 매체상의 또는 스트림 내의 도 1의 (b)에 도시된 바와 같은 화상 배열이 일반적으로 이용된다. 이들 화상을 디코드하기 위해, 4 프레임에 해당되는 저장을 갖고 있는 프레임 메모리가 이용될 것이다. MPEG2 기본 스트림을 디코드하는 방법은 "키 포인트 설명, 최신 MPEG 텍스트북(번역 타이틀)", 히로시 후지와라, 초판, ASCII 컴파니, 1994년 8월 1, 페이지 106(이후 이 문서는 비특허 문서 1라 칭한다)에 설명되어 있다.
긴 GOP를 이용하는 비디오 신호에 대한 순방향의 1x 속도 재생 동작은 1 프레임 기간 내에 1 프레임 화상의 디코드된 결과를 얻을 수 있는 디코더에 의해 실행될 수 있다(이후, 이 디코더를 1x 속도 디코더라 칭하기로 한다).
비디오 신호를 다루는 응용에 있어서, 연속 동기 재생 즉, 실시간 재생을 보장해주는 유닛 내의 데이타 블록은 클립(clip)이라 불리고 있다. 예를 들어, 비디오 카메라가 오브젝트를 촬영하기 시작한 후 촬영을 마칠 때까지의 데이타 블록이 클립이다.
다음에는, 예를 들어, 클립 #1이 재생된 후에 클립 #2가 연속해서 재생되는 경우에 있어 클립들 전반에 대한 재생이 고려될 것이다. 비디오 신호가, 앞서 설명한 바와 같이, 싱글 신호 GOP로 엔코드된 때, 디코딩 프로세스는 한 프레임의 유 닛 내에 완료된다. 따라서, 클립 #1이 재생된 후 클립 #2가 어떤 문제없이 연속해서 디코드되고 출력된다.
대조적으로, 비디오 신호가 긴 GOP로 엔코드된 때, 앞서 설명한 바와 같이, 목표 화상은 목표 화상 이전 및 이후의 화상으로 디코드될 수 있다. 다른 말로, 목표 화상이 I 화상이 아니라면, 목표 화상이 디코드될 때, 목표 화상(목표 화상이 P 화상일 때)보다 이전의 화상 또는 목표 화상(목표 화상이 B 화상일 때)보다 이후의 화상이 필요하다.
한 클립이 재생된 후, 다른 클립이 연속해서 재생될 때, 화상들의 연대기적인 관계는 불연속이 된다. 하나의 1x 속도 디코더가 이용될 때, 한 클립이 재생된 후 다른 클립이 재생될 때, 목표 화상보다 이전의 화상, 또는 이 목표 화상이 디코드되기 전에 목표 화상보다 이전의 화상 및 목표 화상보다 이후의 화상을 디코드하는 것이 필요하다. 따라서, 원하는 화상 또는 원하는 화상들이 디코드된 후, 목표 화상이 디코드된 화상(들)으로 디코드된다. 결과적으로, 긴 GOPs로 엔코드된 비디오 신호가 하나의 1x 속도 디코더로 디코드되는 경우, 한 클립이 재생된 후, 다른 클립이 재생될 대, 디코더는 그의 출력을 정지할 수 있다.
특히, 클립들이 역 방향으로 재생될 때, 한 화상을 디코드하기 위해서는 더 많은 화상을 이용하는 것이 필요하다. 이 경우에, 한 클립이 재생된 후, 다른 클립이 재생될 때, 디코더는 클립들이 순방향으로 재생되는 경우보다 더 오래 그의 출력을 정지한다.
예를 들어, 한 GOP가 이전의 화상들 즉, 하나의 I 화상, 4 개의 P 화상, 및 10 개의 B 화상으로 "B0B1I2B3B4P5의 (b)6B7P8B9의 (b)10P11의 (b)12B13P14"(표시 순서)와 같이 구성된 경우가 설명될 것이다. 이 경우에, 클립들이 역방향으로 재생되며, P14 화상을 디코드하기 위해 목표 화상이 다음의 GOP의 마지막 화상, P14 화상이라고 가정하면, 4개의 화상 즉, I2 화상, P5 화상, P8 화상 및 P11 화상을 디코드하는 것이 필요하다. 이들 화상이 디코드되고 있는 동안 디코더는 그의 출력을 정지한다.
이러한 문제를 해결하기 위해, 두 개의 1x 속도 디코더 #1 및 #2가 이용되고 디코더 #1은 재생되고 있는 클립 #1의 목표 화상들을 연속해서 디코드하며 디코더 #2는 클립 #1이 재생된 후 재생될 클립 #2의 목표 화상들을 디코드하는 것을 생각해 볼 수 있다. 이 경우에, 클립 #1이 재생된 후, 디코더 #1의 출력은 각 프레임의 타이밍에 동기해서 디코더 #2의 출력으로 전환된다.
그러나, 마찬가지로, 이 방법에 있어서, 클립 #1이 재생된 후에, 클립 #2가 재생될 때, 클립 #2의 첫 번째 화상의 프레임이 예정된 타이밍에 출력될지라도, 제2 및 이후 화상들의 프레임들은 출력되지 않을 수 있다.
다른 말로, 클립들이 순방향으로 재생될 때, 디코더 #2는 예정된 식으로 클립 #2의 목표 화상을 디코드한 다음 대기 상태가 된다. 클립 #1이 재생된 후, 클립 #2가 재생될 때, 차기 목표 화상보다 이전의 화상 및 차기 목표 화상 이후의 화상을 디코드하기 위해서는 디코더 #2가 필요하다. 디코더 #2가 이들 화상들을 디코드하는 동안, 디코더 #2는 그의 출력을 정지한다.
이를 고려해 볼 때, 예측 코드로 인터프레임-압축 엔코딩 방법 기반으로 압 축-엔코드된 비디오 신호가 출력이 정지되지 않도록 연속해서 재생되게 해주는 재생 장치 및 재생 방법을 제공하는 것이 바람직하다.
본 발명의 한 실시예에 따르면, 재생 장치가 제공된다. 이 재생 장치는 재생부, 제1 디코드부, 제2 디코드부 및 제어부를 포함하고 있다. 재생부는 기록 매체로부터 비디오 데이타를 재생한다. 비디오 데이타는 연대기적으로 연속인 다수의 프레임으로 구성된 한 클립의 유닛으로 관리된다. 제1 디코드부는 현재 출력되고 있는 제1 클립을 디코드하고 디코드된 제1 클립을 저장한다. 제2 디코드부는 재생 순서에 있어서 제1 클립에 인접한 제2 클립의 초기에 출력되는 적어도 한 프레임을 프리-디코드(pre-decode)하고 디코드된 프레임을 저장한다. 제어부는 제1 클립의 재생 시간 길이의 가운데 위치를 기반으로 재생 순서에 있어서 제1 클립의 디코드된 위치 측에 인접한 클립을 시간 길이의 앞선 영역 및 나중 영역에 대한 제2 클립이 되도록 제어한다.
본 발명의 실시예에 따르면, 재생 방법이 제공된다. 비디오 데이타는 기록 매체로부터 재생된다. 비디오 데이타는 시간적으로 연속적인 다수의 프레임으로 구성된 클립 단위로 관리된다. 재생 단계에서 재생된 비디오 데이타를 저장하는 프레임 버퍼의 저장 상태는 출력을 지정하는 목표 재생 프레임 버퍼 패턴에 비교되며, 새로 디코드될 프레임 또는 프레임 버퍼의 현행 상태에서 불필요한 프레임이 추출된다. 디코드부는 제1 클립에서 현재 출력되고 있는 프레임인 목표 재생 프레임 및 재생 순서에 있어서 제1 클립에 인접한 제2 클립의 초기에 출력되는 프레임을 기반으로 제2 클립의 프레임을 프리-디코드하여 프리-디코드된 프레임을 프레임 버퍼에 저장한다.
비디오 데이타는 기록 매체로부터 재생된다. 비디오 데이타는 연대기적으로 연속인 다수의 프레임으로 구성되는 클립의 단위로 관리된다. 재생 단계에서 재생된 비디오 데이타를 저장하는 프레임 버퍼의 저장 상태는 출력을 지정하는 목표 재생 프레임 버퍼 패턴에 비교되고, 새로 디코드될 프레임 또는 프레임 버퍼의 현행 상태에서 불필요한 프레임이 추출된다. 디코드부는 제1 클립에서 현재 출력되고 있는 프레임인 목표 재생 프레임과 재생 순서에 있어서 제1 클립에 인접한 제2 클립의 초기에 출력되는 프레임을 기반으로 제2 클립의 프레임을 프리-디코드하고 프리-디코드된 프레임을 프레임 버퍼에 저장하도록 제어된다. 따라서, 현재 출력되고 있는 클립에 대해서 프리-디코드되는 클립이 적절하게 지정되기 때문에, 재생 동작이 클립들 간에 실행되어, 그의 출력이 정지되지 않는다.
본 발명의 이들 및 다른 목적, 특징 및 장점은 첨부된 도면에 도시된 바와 같은 최선의 실시예에 대한 다음의 상세한 설명으로부터 명료해질 것이다.
다음에는, 본 발명의 실시예들이 다음과 같은 순서로 설명될 것이다.
1. 본 발명의 실시예에 따른 시스템
1-1. 재생 제어 프로세스의 개념에 대한 설명
1-2. 재생 장치의 구조에 대한 예
1-3. 디코더의 구조에 대한 예
1-4. 광학 디스크의 포맷
1-5. 재생 제어 프로세스에 대한 보다 상세한 설명
1-5-1.목표 프레임 버퍼 패턴의 생성
1-5-2.목표 프레임 버퍼 갱신 패턴의 예
1-5-3.목표 프레임 버퍼 패턴 생성 프로세스의 흐름
1-5-4.프레임 버퍼 갱신 패턴 기반의 재생 제어 동작
2. 본 발명의 다른 실시예
2-1. 재생 장치의 구조에 대한 예
2-2. 재생 제어 프로세스
1. 본 발명의 실시예에 따른 시스템
먼저 본 발명의 실시예에 따른 시스템을 설명하기로 한다.
도 2는 본 발명의 실시예에 따른 시스템에 대한 재생 제어 프로세스의 개념을 보여주고 있다. 단계 S1에서, 다음에 재생되는 목표 재생 프레임이 지정된다. 목표 재생 프레임은 재생 속도가 순방향 또는 역방향으로 1x 속도 이내일 때 표시 순서에 있어서 그의 인접 프레임의 타이밍 이전에 결정되었다. 목표 재생 프레임은 예를 들어 이 실시예의 시스템보다 상위인 시스템에 의해 지정되어 각 프레임의 타이밍에서 제공된다.
목표 재생 프레임이 지정된 후, 목표 재생 프레임에 대한 목표 프레임 버퍼 패턴이 생성된다(단계 S2). 목표 프레임 버퍼 패턴은 목표 재생 프레임이 재생되고 차기 프레임이 연속해서 순방향 및 역방향으로 재생되도록 디코드되어 프레임 버퍼에 저장된 프레임의 패턴이다. 단계 S3에서, 생성된 목표 프레임 버퍼 패턴 및 프레임 버퍼의 현행 상태가 비교된다. 그 결과, 프레임 버퍼의 현행 상태에 대해서 새로이 디코드되는 화상이 추출된다(단계 S4). 또한, 프레임 버퍼의 현행 상태에 대해서 불필요하게 되는 화상이 추출된다(단계 S5). 단계 S4 및 S5에서 추출된 화상은 통상적으로는 1 개의 화상이다.
여기서 주지할 사항은 실제로 디코드되는 목표을 생성하는 프로세스가 완료되면 디코더가 디코드 프로세스를 시작하도록 실제로 제어된다는 것이다.
단계 S6에서, 예를 들어 기록 매체는 억세스되고 예정된 화상의 스트림은 단계 S4에서 추출된 결과를 기반으로 디코더에 입력된다. 디코더에 의해 디코드된 화상은 단계 S5에서 추출된 불필요한 화상의 영역에 덮어쓰기된다(단계 S7). 하나의 화상이 디코드된 후, 디코드된 화상은 디코드된 출력 프레임 화상으로서 출력된다(단계 S8).
1-2. 재생 장치의 구조 예
도 3은 본 발명의 실시예에 따른 시스템의 재생 장치(1)의 구조에 대한 예의 개요를 보여주고 있다. 재생 장치(1)는 기록 매체로서 광학 디스크(10)를 이용한다. ROM(판독 전용 메모리) 및 RAM(랜덤 억세스 메모리)(도시되어 있지 않음)은 CPU(중앙 처리 장치)(14)에 연결되어 있다. CPU(14)는 ROM에 미리 저장되어 있는 프로그램에 따라서 재생 장치(10)의 각 부를 제어한다. RAM은 CPU(14)의 작업 메모리로서 이용된다.
디스크 드라이브(11)는 CPU(14)의 제어 하에 탑재된 광학 디스크(10)의 예정된 어드레스로부터 데이타를 판독한다. 판독된 데이타는 캐시 메모리(12)에 임시 로 저장된다. 비디오 스트림은 CPU(14)로부터 발행된 명령에 따라서 캐시 메모리(12)로부터 디코더(13)에 공급된다. 요청이 있을 때, 디코더(13)는 프레임 메모리(17)와 함께 입력 비디오 스트림을 디코드한다. 디코드된 비디오 스트림은 베이스밴드 비디오 신호로서 출력된다.
운영부(15)에는 키 및 스위치와 같은 다양한 종류의 제어 파트가 제공된다. 운영부(15)은 제어 파트들에 대한 동작에 기반해서 제어 신호를 생성하고 이 제어 신호를 CPU(14)에 제공한다. CPU(14)는 제공된 제어 신호를 기반으로 명령을 재생 장치(1)의 각 섹션에 제공한다. 운영부(15)에는 예를 들어 조그 다이얼(jog dial)(16)이 제공된다. 조그 다이얼(16)은 그의 회전각에 대응하는 신호를 출력한다. 조그 다이얼(16)은 예를 들어 재생 방향으로서 순방향 또는 역방향을 지정하며 유저의 동작에 기반해서 실시간으로 재생 속도를 지정하는 제어 신호를 생성하며 이 제어 신호를 CPU(14)에 제공한다.
재생 속도, 재생 방향 등을 지정하는 명령은 운영부(15)에 대한 유저의 동작에 기반한 것들에 한정되는 것은 아니다. 예를 들어, 재생 속도, 재생 방향 등을 지정하는 명령은 편집 디바이스와 같은 다른 디바이스로부터 예정된 통신 수단(도시되어 있지 않음)을 통해서 연결된 재생 장치(1)에 전송될 수 있다. 이 경우에, 명령을 재생 장치(1)로 전송하는 다른 디바이스는 그의 하이 레벨 시스템이다.
재생 장치(1)에 의해서 처리되는 비디오 스트림은 MPEG2(동화상 전문가 그룹) 스탠다드를 기반으로 압축-엔코드된 스트림이라고 가정한다. 또한, GOP(화상 그룹)의 구조는 긴 개방 GOP라고 가정한다.
1-3. 디코더 구조의 예
도 4는 디코더(13)의 구조에 대한 예의 개요를 보여주고 있다. 광학 디스크(10)로부터 판독되어 디스크 드라이브(11)로부터 출력되는 스트림 데이타는 예를 들어 MPEG-ES(MPEG 기본의 스트림)이다. 이 MPEG-ES는 스트림 디코더(20)에 제공된다. 스트림 디코더(20)는 입력 MPEG-ES의 패킷 및 헤더 정보를 분석하고, 디코드 프로세스를 실행하는데 필요한 다양한 종류의 파라미터와 압축-엔코드되어 패킷의 페이로드(payload)에 저장된 화상 데이타를 추출한다. 추출된 다양한 종류의 파라미터는 예를 들어 CPU(14)에 제공된다. 추출된 화상 데이타는 예정된 방식으로 스트림 버퍼(21)에 저장된다.
MPEG 디코더(22)는 스트림 디코더(20)에게 스트림 버퍼(21)로부터 화상 데이타를 판독하도록 요청한다. 요청이 있을 때, MPEG 디코더(22)는 스트림 버퍼(21)로부터 판독된 화상 데이타를 디코드하고 프레임 메모리(17)로부터의 화상 데이타를 기록한다. 한편, MPEG 디코더(22)는 프레임 메모리(17)에 기록된 화상 데이타와 다른 화상 데이타(예를 들어, P 화상 및 B 화상)를 디코드한다.
후에 상세히 설명되겠지만, 프레임 메모리(17)는 순방향의 재생 동작 및 역방향의 재생 동작을 고정 지연으로 실행하기에 충분한 저장 용량을 갖고 있다. 예를 들어, 프레임 메모리(17)는 한 프레임에 대한 데이타가 저장될 수 있으며 그의 각각이 억세스-제어될 수 있는 9개의 블랭크로 나뉘어져 있다.
출력 데이타 제어부(23)은 출력되는 비디오 데이타를 관리한다. 예를 들어, 출력 데이타 제어부(23)은 운영부(15)에 대한 유저의 동작을 기반으로 CPU(14)로부 터 발행된 명령에 따라서 프레임 메모리(17)로부터 차기 표시될 프레임 데이타를 판독한다. 프레임 데이타는 베이스밴드 비디오 신호로서 출력된다.
도 5는 디코더(13)의 구조 예를 상세히 보여주고 있다. 도 5에서, 도 4와 유사한 섹션들은 유사한 참조 번호로 표시하고 이들에 대한 설명은 생략한다. 디스크 드라이브(11)로부터 출력된 MPEG-ES는 디멀티플렉서(DMUX)(30)에 제공된다. DMUX(30)는 MPEG-ES의 패킷을 분석한다. MPEG-ES 및 헤더 정보는 패킷으로부터 추출되어 스트림 버퍼(21)에 저장된다. 패킷의 헤더 정보는 또한 유저 데이타 디코더(31)에 제공된다. 유저 데이타 디코더(31)는 헤더 정보로부터 다양한 유형의 파라미터를 추출한다. 추출된 파라미터는 예정된 방식으로 스트림 버퍼(21)에 저장된다.
디코더(32)는 스트림 버퍼(21)에 저장된 헤더 정보 및 MPEG-ES를 디코드한다. 디코더(32)는 헤더 정보를 디코드하고 화상을 디코드하는데 필요한 파라미터를 추출한다. 디코더(32)는 각 화상을 디코드하기 위해 헤더 정보로부터 추출된 파라미터를 기반으로 MPEG-ES에 대한 가변-길이 코드 디코드 프로세스, 역 양자화 프로세스(inverse quantizing process), 및 역 DCT(Discrete Cosine Transform)를 실행한다. 디코더(32)에 의해 디코드된 화상 데이타는 예측 복원부(33)을 통해서 프레임 메모리(17)에 기입된다.
예측 복원부(33)은 프레임 메모리(17)에 기입된 화상 데이타와 예측 코드를 기반으로 인터-프레임 압축된 화상을 디코드한다. 디코드된 화상은 프레임 데이타로서 프레임 메모리(17)에 재기입된다.
한편, 유저가 재생 방향 및 재생 속도를 지정하기 위해 조그 다이얼(16)을 조작할 때, 운영부(15)은 예정된 방식으로 재생 방향 및 재생 속도를 지정하는 제어 신호를 생성한다. 이들 제어 신호는 CPU(14)에 제공된다. 재생 방향 및 재생 속도를 지정하는 제어 신호는 이전의 하이 레벨 시스템으로부터 통신 수단(도시되어 있지 않음)을 통해서 명령으로서 CPU(14)에 제공될 수 있다.
CPU(14)는 ROM(35)에 저장된 프로그램 및 운영부(15)로부터 제공된 제어 신호를 기반으로 출력 데이타 제어부(23)가 출력하는 프레임을 지정하기 위한 명령을 출력 데이타 제어부(23)에 발행한다. 필요할 때, RAM(36)은 CPU(14)의 작업 메모리로서 이용된다. 출력 데이타 제어부(23)는 이 명령을 기반으로 프레임 메모리(17)로부터 지정된 프레임을 판독한다.
프레임 메모리(17)로부터 판독된 프레임은 서브 데이타 중첩부(sub data superimposing section)(34)에 제공된다. 서브 데이타 중첩부(34)는 스트림 버퍼(21)에 저장된 정보에 기반해서 프레임, 비디오 인덱스 정보, 서브 데이타 등을 중첩한다. 또한, 서브 데이타 중첩부(34)는 동기 신호를 중첩된 신호에 부가하고 그 결과 신호를 출력 비디오 신호로서 출력한다.
1-4. 광학 디스크의 포맷
다음에는, 광학 디스크(10)가 설명될 것이다. 먼저, 도 6을 참조해서, 디스크형 기록 매체의 데이타 배열 예가 설명될 것이다. 도 6에 예시된 데이타 배열은 기록 가능 광학 디스크 또는 하드 디스크와 같은 랜덤-억세스 가능 디스크형 기록 매체의 통상적인 데이타 배열이다. 논리적 어드레스 스페이스는 그곳으로부터 그 리고 그곳에 임의 데이타가 기록 및 재생될 수 있는 영역이다.
파일 시스템 FS는 논리적 어드레스의 처음 및 마지막 각각에 배치되어 있다. 임의 데이타는 파일이라 불리는 예정된 포맷으로 논리적 어드레스 스페이스에 기록된다. 기록 매체 상의 데이타는 기본적으로 파일 단위로 관리된다. 파일의 관리 정보는 파일 시스템 FS에 기록된다. 기록 및 재생 장치의 시스템 제어부(후에 설명될 것임)의 파일 시스템 층은 파일 시스템 FS의 정보를 조회 및 조작해서 한 기록 매체 상의 다양한 유형의 데이타를 관리할 수 있다. 파일 시스템 FS는 예를 들어 UDF(유니버셜 디스크 포맷)을 이용하며 파일을 2kB 단위로 관리한다.
논리적 어드레스 스페이스 바깥에는 대체 영역(substitution area)이 배치된다. 대체 영역은 기록 매체의 일부가 기록 매체의 결함 때문에 물리적으로 판독 및/또는 기입될 수 없을 때 이용될 수 있는 영역이다. 기록 매체가 억세스되고 있는 동안(특히 데이타가 기록 매체 상에 기록되고 있는 동안), 결함 영역이 검출되면, 대체 프로세스가 규칙적으로 실행된다. 결함 영역의 어드레스는 대체 영역으로 이동된다.
대체 영역의 이용 상태는 예정된 영역에 결함 리스트로서 저장된다. 결함 리스트는 기록 및 재생 장치의 드라이브 제어부 및 시스템 제어부의 하위 계층에 의해 이용된다. 다른 말로, 드라이브 제어부 및 하위 계층(후에 설명될 것임)에서, 대체 프로세스가 실행되었을지라도, 적절한 영역이 억세스될 수 있다. 대체 영역의 메카니즘으로, 하이 레벨 어플리케이션이 기록 매체 상의 결함 기록 영역의 존재 또는 부재 및 위치를 고려할 필요없이 기록 매체로 그리고 기록 매체로부터 데이타를 기록 및 재생할 수 있다.
디스크형 기록 매체에 있어서, 대체 영역은 디스크의 가장 안쪽 원주 또는 가장 바깥 원주 상에 규칙적으로 배치된다. 회전 속도를 디스크의 반경에 따라서 점차적으로 증가시키는 존 제어를 기반으로 디스크의 회전이 제어될 때, 대체 영역은 각 존에 배치될 수 있다. 대조적으로, 기록 매체가 반도체 메모리와 같은 디스크형 기록 매체가 아닌 경우, 대체 영역은 최하위 물리적 어드레스 측 또는 최상위 물리적 어드레스 측에 규칙적으로 배치된다.
오디오 데이타 및 비디오 데이타(이후, 이들을 총칭해서 AV 데이타라 부르기로 한다)를 취급하는 어플리케이션에 있어서, 데이타가 연속해서 동기적으로 재생되는 즉. 데이타가 실시간으로 안정되게 재생되는 데이타 블록을 클립(clip)이라 칭한다. 예를 들어, 비디오 카메라의 촬영 동작이 시작된 후 촬영 동작이 정지딜 때까지의 데이타 블록이 클립이다. 클립의 엔티티는 단일 파일 또는 다수의 파일로 구성된다. 본 발명의 이 실시예에서, 클립은 다수의 파일로 구성된다. 클립에 대한 상세한 사항을 후에 설명될 것이다.
논리적 어드레스 스페이스에 있어서, 클립 이외의 임의 파일을 저장하는데 이용되는 NRT(실시간 아님) 영역은 예를 들어 상단 측(top end side)에 배치된다. NRT 영역 뒤에는, 클립들이 연속해서 배치된다. 클립들은 상기 대체 프로세스가 실행되지 않도록 결함 위치에 관계없이 광학 디스크(10) 상에 배치된다. 헤더(H) 및 푸터(footer: F)는 각 클립에 부가된다. 이 예에서, 헤더 및 푸터는 각 클립의 마지막 단 측(last end side)에 집합적으로 배치된다.
다음의 설명에서, 광학 디스크(10) 상에 초기에 기록된 클립은 클립 #1으로 표현하였다. 이후, 클립 번호는 예를 들어 클립 #2, 클립 #3 등으로 증가한다.
논리적 어드레스 스페이스에 있어서, 데이타가 기록되지 않는 영역 및 데이타가 과거에 기록되어 불필요한 영역들은 파일 시스템 FS에 의해 비-이용 영역(non-use areas)으로 관리된다. 기록 매체에 새로 기록되는 파일은 비-이용 영역을 기반으로 기록 영역에 할당된다. 파일의 관리 정보는 파일 시스템 FS에 부가된다.
이 실시예에 따른 시스템에서, 클립들은 환형 링 구조로 기록 매체에 기록된다. 도 7의 (a) 내지 7의 (d) 및 도 8을 참조해서, 환형 링 구조가 설명될 것이다. 도 7의 (a)는 한 클립(10)이 한 타임 라인에 배치되어 있는 예를 도시하고 있다. 이 예에서, 클립(100)은 7 개의 파일 즉, 비디오 데이타(101), 오디오 데이타(102A 내지 102D), 서브 AV 데이타(103) 및 실시간 메타 데이타(104)로 구성되어 있다.
비디오 데이타(101)는 베이스밴드 비디오 데이타가 예를 들어 50 Mbps(초당 메가 비트)와 같이 높은 비트 레이트로 압축-엔코드된 비디오 데이타이다. 압축-엔코딩 시스템으로서, 예를 들어, MPEG2(동화상 전문가 그룹 2) 시스템이 이용된다. 오디오 데이타(102A, 102B, 102C 및 102D)는 베이스밴드 오디오 데이타이고, 그의 각각은 2 채널 오디오 데이타이다. 대신에, 오디오 데이타(102A, 102B, 102C 및 102D)는 베이스밴드 오디오 데이타가 높은 비트 레이트로 압축-엔코드된 오디오 데이타일 수 있다. 비디오 데이타(101) 및 오디오 데이타(102A 내지 102D)는 실제 로 방송되며 편집되는 데이타이다. 이들 데이타는 메인 데이타라 불린다.
서브 AV 데이타(103)는 베이스밴드 비디오 데이타 및 베이스밴드 오디오 데이타가 메인 비디오 데이타 및 오디오 데이타 보다 낮은 비트 레이트로 압축-엔코드되고 멀티플렉스된 데이타이다. 압축-엔코딩 시스템으로서, 예를 들어, MPEG4 시스템이 이용된다. 서브 AV 데이타(103)는, 예를 들어, 수 Mbps와 같이 낮은 비트 레이트로 메인 AV 데이타를 압축-엔코딩함으로써 생성된다. 서브 AV 데이타(103)는 메인 데이타의 프록시(proxy)로서 이용되는 데이타이며 프록시 데이타라 불린다.
메타 데이타는 특정 데이타의 하이 레벨 데이타이다. 메타 데이타는 다양한 종류의 데이타의 내용을 나타내는 인덱스로서 기능한다. 메타 데이타는 2 종류 즉, 메인 AV 데이타의 시계열(time series)로 생성되는 실시간 메타 데이타(104) 및 메인 AV 데이타의 신(scenes)과 같은 예정된 영역에 생성된 비-시계열(non-time-series) 메타 데이타로 분류된다. 비-시계열 메타 데이타는 예를 들어 도 6을 참조로 설명된 NRT 영역에 기록된다.
도 7의 (b)에 예시되어 있는 바와 같이, 클립(100)은 예정된 재생 시간(예를 들어, 2초)을 기반으로 분리되고 광학 디스크에 환형 링 구조로 기록된다. 도 7의 (c)에 예시된 바와 같이, 비디오 데이타(101), 오디오 데이타(102A 내지 102D), 서브 AV 데이타(103) 및 실시간 메타 데이타(RM)(104) 각각은 1 트랙과 같거나 이보다 큰 데이타 사이즈를 갖고 있는 예정된 재생 기간 단위로 나뉘어지며 나뉘어진 데이타는 그들의 재생 시간 존이 서로 대응하도록 연속해서 배치되고 기록된다. 다른 말로, 클립(100)을 구성하는 이들 데이타 각각은 예정된 기간의 단위로 인터리브되어 광학 디스크 상에 기록된다.
환형 링을 구성하는 데이타는 환형 링 데이타라 불린다. 환형 링 데이타는 디스크의 최소 기록 단위의 정수배인 데이타 량을 갖고 있다. 또한, 환형 링들은 그들의 경계가 블록 경계와 매치되도록 기록되며, 이들의 각각은 디스크의 최소 기록 단위이다.
도 7은 광학 디스크(10) 상에 환형 링 데이타가 형성된 예를 도시하고 있다. 예를 들어, 도 7의 (b)를 참조로 설명된 바와 같이, 한 클립이 예정된 재생 기간의 단위로 나뉘어져 있는 환형 링 데이타 #1, #2, #3 등은 연속해서 광학 디스크(10)의 안쪽 원주 측으로부터 바깥 원주 측으로 기록된다. 다른 말로, 데이타는 데이타가 시계열로 연속해서 재생되도록 광학 디스크(10)의 안쪽 원주 측으로부터 바깥 원주 측으로 배열되어 있다. 도 8에 도시된 예에서, NRT 영역(도시되어 있지 않음)은 환형 데이타 #1의 안쪽 원주 측에 배치되어 있다.
HDD 포맷에서, 데이타는 가변 길이 비트 레이트로 압축-엔코드될 수 있다. 긴 GOP가 이용될 때, 데이타는 I 화상, P 화상 및 B 화상을 이용하는 예측 코드로 인터-프레임 압축 엔코딩을 기반으로 엔코드되기 때문에, 각 프레임의 데이타 사이즈가 변한다. 그러므로, 각 클립의 원하는 위치가 화상 포인터 파일로 억세스될 수 있다.
화상 포인터는 클립 내의 각 프레임 위치의 오프셋 정보이다. 다른 말로, 예를 들어, MPEG2에서, 데이타의 압축 레이트가 가변길이 레이트로서 각 프레임에 대해 가변될 수 있다. 예를 들어, 플랫(flat) 화상의 프레임은 다른 프레임들보다 높은 압축 레이트로 압축-엔코드된다. 거친 화상(course picture)의 프레임은 다른 프레임들보다 낮은 압축 레이트로 압축-엔코드된다. 압축 레이트가 프레임들 특성에 따라서 가변될 때, 고해상도를 갖고 있는 비디오 데이타는 낮은 비트 레이트로 전송되어 기록될 수 있다. MPEG2에서, 압축 엔코딩은 또한 가변 길이 코드로 실행된다.
가변 길이 레이트로 압축-엔코드된 비디오 데이타에서, 프레임의 위치 및 다수의 프레임으로 완성되는 GOP의 위치는 각 프레임 마다 그리고 각 GOP 마다 변한다. 따라서, 클립의 재생 위치를 원하는 위치로 점프하는 것이 곤란하다. 따라서, 가변 길이 레이트로 압축-엔코드된 비디오 데이타를 용이하게 억세스하기 위해서는, 클립의 각 프레임 위치의 오프셋 정보는 비-시계열 메타 데이타 파일에 화상 포인트로서 태블레이트(tabulate)되어 각 클립에 대응하게 배치된다. 디스크가 드라이브에 탑재될 때, 화상 포인트는 예정된 방식으로 판독된다. 그 결과, 클립의 원하는 위치가 고속으로 억세스될 수 있다.
다음에는, 도 9의 (a) 내지 9의 (f) 및 10을 참조해서, 이 동작을 상세히 설명하기로 한다. 도 9의 (a) 내지 9의 (f)는 MPEG2에 따른 긴 GOP의 데이타 구조의 예를 보여주고 있다. 예를 들어, 도 9의 (a)에 도시된 바와 같이, 하나의 긴 GOP 파일은 하나의 클립으로 구성된다. 도 9의 (b)에 도시된 바와 같이, 긴 GOP 파일은 헤더 파티션 팩(header partition pack:HPP) 및 헤더 정보를 구성하는 헤더 메타 데이타로 시작하는 비디오 MXF(Material Exchange Format)이라 불리는 구조를 갖고 있다. 헤더 메타 데이타 다음에는 비디오 데이타의 바디를 포함하는 에센스 콘테이너(essence container)가 뒤따른다. 파일은 푸터 파티션 팩(FPP)으로 종료된다.
도 9의 (c)에 도시된 바와 같이, 에센스 콘테이너는 GOP의 시퀀스로 구성된다. 도 9의 (d)에 도시된 바와 같이, 각 GOP는 화상들의 그룹이다. 도 9의 (e)에 도시된 바와 같이, 하나의 화상은 KL(키, 길이) 정보로 시작된다. KL 정보 다음에는 I 화상, P 화상 또는 B 화상이 뒤를 잇는다. 필요할 때, 각 화상은 화상이 한 바이트의 단위로 완성되도록 필러(filler)로 끝난다.
그러한 구조에 있어서, MPEG2의 긴 GOP에는, 각 화상의 정보 량 즉, 도 9의 (e)에 도시된 I, P 또는 B의 사이즈가 불명확하다. 따라서, 긴 GOP 비디오 파일이 재생될 때, 특정 프레임으로 시작해서, 프레임에 대응하는 화상의 시작 위치는 예를 들어 바이트 위치로 지정될 수 없다.
그러므로, 긴 GOP 비디오 파일에 포함되어 있는 각 화상에 대해서 바이트의 단위(도 9의 (f) 참조)로 긴 GOP 비디오 파일의 시작 위치로부터 표현된 파일 어드레스를 기반으로, 파일 어드레스, 사이즈, 화상 종류(I, P 또는 B 화상), 현행 화상이 GOP의 상 화상(top picture)인지 여부를 나타내는 정보가 화상 포인터 정보로서 제공된다. 화상 포인터 정보는 각각의 긴 GOP 비디오 파일에 제공된다.
도 8E에 도시된 바와 같은 화상의 마지막 단에 배치된 필러는 각 화상의 경계에 대한 파일 어드레스를 예정된 바이트, 예를 들어 2048 바이트의 배수로 조정한다. 경계가 광학 디스크(10)의 섹터인 최소 억세스 단위의 경계에 배치되도록 필러로 각 화상의 경계가 조정될 때, 각 화상은 용이하게 억세스될 수 있다.
도 10은 화상 포인터 정보를 설명하는 화상 포인터 테이블의 보다 구체적인 예를 보여주고 있다. 이 예에서, 화상 포인터 테이블은 8 바이트의 단위로 데이타를 기술한다. 첫번째 8 바이트는 화상 포인터 테이블의 역전된(reversed) 영역 및 버젼 정보를 기술한다. 이후에, 8 바이트는 각 프레임 즉, 각 화상에 할당된다. 이들 8 바이트 정보는 간 GOP 비디오 파일에 포함된 화상 수에 대해 연속적으로 배열된다. 개개의 화상들은 표시 프레임 순서로 배열된다.
다음에는, 각 화상에 대한 화상 포인터 테이블의 데이타가 기술된다. 첫 번째 한 비트는 현행 화상이 GOP의 상 화상인지 여부를 나타내는 플래그이다. 한 GOP에 다수의 I 화상이 있다고 가정하면, GOP의 경계는 I 화상들의 위치들 만으로는 식별될 수 없다. GOP의 경계가 식별될 수 없을 때, MPEG2에 한정된 시퀀스 헤더의 위치는 얻을 수 없다. 그 결과, 디코더에 입력되는 스클립은 시퀀스 헤더를 가질 수 없다. 각 화상이 현행 화상이 GOP의 상 화상인지 여부를 나타내는 플래그를 가지고 있을 때, 그러한 상황은 방지될 수 있다. 스트림이 재생될 때, 이 스트림은 플래그를 기반으로 디코더에 입력된다.
다음의 23 비트는 도 9의 (e)에 도시된 현행 화상의 사이즈 정보를 기술한다. 이들 23 비트는 각 정보에 대해 할당되기 때문에, 8 MB(메가 바이트) 까지의 데이타 사이즈가 처리될 수 있다. 또한, MPEG 프로파일의 422@HL 이 처리될 수 있다.
다음의 2 비트는 현행 화상의 종류를 기술한다. 현행 화상이 B 화상일 때, 이들 2 비트는 또한 기준 방향의 정보를 기술한다. 특히, 이들 2 비트는 다음과 같은 화상 종류를 기술한다.
00: I 화상
10: P 화상
01: 현행 화상보다 이전의 프레임을 참조로 디코드된 B 화상(미래의 프레임). 개방 GOP에 있어서는 긴 GOP 비디오 파일의 상(top) B 화상. 폐쇄형 GOP에 있어서는 각 GOP의 상 B 화상.
11: 현행 화상보다 이전의 프레임 및 현행 화상보다 이후의 프레임을 참조로 디코드된 B 화상
다음의 38 비트는 긴 GOP 비디오 파일 내의 현행 화상의 파일 어드레스를 기술한다. 38 비트는 각 어드레스에 할당되기 때문에, 256 GB(기가 바이트)까지의 사이즈를 갖고 있는 긴 GOP 비디오 파일이 처리될 수 있다. 예를 들어, 각각이 27 GB의 기록 용량을 갖고 있는 8 기록 층을 갖고 있는 광학 디스크(10)가 처리될 수 있다.
이 화상 포인터 테이블은 예를 들어 비-시계열 메타 데이타와 함께 기록 매체의 NRT 영역에 화상 포인터 파일로서 기록된다. 광학 디스크(10)가 디스크 드라이브(11)에 탑재될 때, 비-시계열 메타 데이타 및 화상 포인터 파일은 디스크 드라이브(11)에 의해서 광학 디스크(10)의 NRT 영역으로부터 판독되며, 광학 디스크(10)는 재생 장치(1)의 시스템에 장착된다. 판독된 비-시계열 메타 데이타 및 화상 포인터 파일은 예를 들어 CPU(14)의 RAM에 저장된다. RAM에 저장된 화상 포 인터 테이블을 참조로, CPU(14)는 광학 디스크(10)에 기록된 클립의 임의 화상을 억세스할 수 있다.
1-5 재생 제어 프로세스에 대한 보다 상세한 설명
다음에는, 본 발명의 실시예에 따른 시스템의 재생 제어 프로세스를 좀 더 상세하게 설명하기로 한다.
1-5-1. 목표 프레임 버퍼 패턴의 생성
먼저, 도 2에 도시된 단계 S2에서 목표 프레임 버퍼 패턴의 생성이 설명될 것이다. 먼저, 원하는 목표 재생 프레임 및 표시 순서에 있어서 목표 재생 프레임보다 1 프레임 이전 및 이후의 인접한 프레임들을 재생하는데 필요한 프레임 버퍼 사이즈가 얻어진다.
도 11의 (a) 내지 11의 (c)는 표시 순서에 있어서 현행 프레임(예를 들어, 목표 재생 프레임)보다 1 프레임 이전의 또는 이후의 프레임이 디코드되는 경우에 있어서 버퍼 량의 예를 보여주고 있다. 도 11의 (a) 내지 11의 (c)에 있어서, 출력 프레임(현행 프레임)은 "0"으로 표현되고, 순방향의 프레임 즉, 표시 순서에 있어서 현행 프레임의 미래(현행 프레임 이후의 프레임)은 "+"로 표현되고, 표시 순서에 있어서 역방향의 프레임 즉, 현행 프레임의 과거(현행 프레임 이전의 프레임)는 "-"로 표현된다. 도 11의 (a) 내지 11의 (c)에 있어서, "M"은 사이에 B 화상이 있는 경우 기준 화상으로부터 차기 기준 화상까지의 화상 수를 나타내며, "N"은 하나의 GOP에 있는 화상 수를 나타낸다. GOP가 15 개의 화상 "I2B0B1P5의 (b)3B4P8B6B7P11의 (b)9의 (b)10P14의 (b)12B13"으로 구성될 때, M = 3 및 N = 15이다.
도 11의 (a)는 단지 하나의 프레임이 순방향으로 재생되는 예를 보여주고 있다. 이 경우에, M = 3이므로, 목표 재생 프레임이 표시 순서에 있어서 인접한 B 화상보다 이전의 B 화상일 때, 버퍼 량은 가장 크게 된다. 이 경우에, 목표 재생 프레임은 차기 프레임의 타이밍에서 차기 B 화상으로 이동된다.
다른 말로, 이 경우에, B4 화상 및 B5 화상은 I3 화상 및 I6 화상으로 각각 디코드된다. B5 화상이 디코드될 때까지 I3 화상은 버퍼로부터 제거될 수 없다. 또한, P6 화상은 B5 화상, P6 화상이 버퍼에 저장된 후에 표시된다. 따라서, 이 경우에, 버퍼 량은 M + 1 = 4 화상이 된다.
도 11의 (b)는 한 프레임이 역방향으로 재생되는 예를 보여주고 있다. M = 3이고 N = 15인 규칙적인 개방 GOP의 경우에, 목표 재생 프레임이 I3' 화상일 때, 버퍼 량은 가장 크게 된다. 이 경우에, 목표 재생 프레임은 차기 프레임의 타이밍에서 표시 순서에 있어서 역방향으로 목표 재생 프레임보다 이후의 B2' 화상으로 이동된다.
다른 말로, 이 경우에, 표시 순서에 있어서, B2' 화상을 디코드하기 위해서는, B2' 화상 이전의 I3' 화상 및 P15 화상이 필요하다. P15 화상을 디코드하기 위해서는 P15 화상이 속해 있는 I3 화상, P6 화상, P9 화상 및 P12 화상이 연속적으로 필 요하다. 따라서, 버퍼 량은 N / M + 2 = 7 화상이 된다. 이 경우에, N / M은 GOP에 속해 있는 I 화상 및 P 화상의 수와 같다.
도 11의 (c)는 재생 위치가 순방향 또는 역방향으로 1 프레임 이동되는 경우를 고려하는 예를 보여주고 있다. M = 3 및 N = 15인 규칙적인 개방 GOP의 경우에, 목표 재생 프레임이 I3' 화상일 때, 버퍼 량은 가장 크게 된다. 이 경우에, 목표 재생 프레임은 차기 프레임의 타이밍에서 표시 순서에 있어서 I3' 화상보다 1 프레임 이후의 B4' 화상 또는 표시 순서에 있어서 I3' 화상보다 1 프레임 이전의 B2' 화상으로 이동된다.
다른 말로, 이 경우는 도 11의 (a)에 도시된 예와 도 11의 (b)에 도시된 예의 결합이다. 표시 순서에 있어서 목표 재생 프레임으로서 I3' 화상보다 1 프레임 이후의 B4' 화상을 디코드하기 위해서는 기준 화상으로서 I3' 화상 및 I3' 화상보다 1 프레임 이후의 P6' 화상이 필요하다. 또한, 표시 순서에 있어서, I3' 화상보다 1 프레임 이전의 B2' 화상을 디코드하기 위해서는, I3' 화상이 속해 있는 GOP보다 1 GOP 만큼 이전의 GOP에 속한 I3' 화상, I3 화상, P6 화상, P9 화상, P12 화상 및 P15 화상이 연속해서 필요하다. 따라서, 이 경우에, 버퍼 량은 N / M + M + 1 = 9 화상이 된다.
이와 같이, 목표 재생 프레임이 표시 순서에 있어서 목표 재생 프레임보다 1 프레임 이전 또는 이후의 인접한 프레임으로 이동될 때, 버퍼 량은 9 화상이 된다.
1-5-2. 목표 프레임 버퍼 갱신 패턴의 예
본 발명의 실시예에 따른 시스템에 있어서, 프레임 버퍼에 대해서, 표시 순서에 있어서 목표 재생 프레임보다 1 프레임 이전 및 이후의 인접한 화상들이 고정 지연(fixed delay)으로 표시되게 해주는 버퍼 갱신 패턴이 생성된다. 다른 말로, 버퍼 메모리에 디코드되어 저장된 목표 재생 프레임보다 1 프레임 이전 및 이후의 프레임들은 일반적으로 버퍼에 디코드되어 저장된다. 또한, 역방향 재생 동작을 계속하는데 필요한 프레임들 및 순방향 재생 동작을 계속하는데 필요한 프레임들은 일반적으로 버퍼에 디코드되어 저장된다. 버퍼 상의 그러한 패턴들은 목표 재생 프레임이 1 프레임 이동되는 모든 경우에 있어서 생성된다.
이 상태에서, 목표 재생 프레임이 1 프레임 이동되고 이 프레임이 재생될 때, 새로 디코드되는 데이타는 일반적으로 재생 방향이 순방향 또는 역방향에 관계없이 1 프레임이다. 따라서, 1x 속도 내의 가변 속도 재생은 재생 방향이 순방향 또는 역방향인지에 관계없이 성취될 수 있다.
이 상태에서, 재생 출력 결과는 역 방향의 1x 속도 재생 동작으로부터 순방향의 1x 속도 재생 동작까지 고정 지연으로 얻어질 수 있다.
도 12는 이전의 개념을 기반으로 생성된 목표 프레임 버퍼 갱신 패턴의 예를 보여주고 있다. 도 11에 도시된 예들은 (N = 15, M = 3)인 긴 GOP를 기반으로 하고 있다. 한 GOP는 15 화상(프레임들)으로 구성되기 때문에, 15 개의 패턴이 있다. 도 12의 각 라인으로 표시한 바와 같이, 목표 재생 프레임에 대응하는 프레임이 프레임 버퍼에 저장된 상태에 있어서, 목표 재생 프레임이 임의 방향으로 이동 될 때, 단지 1 프레임이 갱신되고 가변 속도 재생 동작은 하나의 1x 속도 디코더에 의해서 순방향 및 역방향으로 1x 속도 내에서 실행될 수 있다.
도 12에서, I, P 및 B는 각각 I 화상, P 화상 및 B 화상 기반의 프레임들을 나타낸다. 이들의 접미사는 현행 GOP에 있어서 표시 순서 번호를 나타낸다. 기준 GOP(현행 GOP)에 속하는 화상들의 프레임들은 부호가 할당되어 있지 않다. 현행 GOP보다 1 GOP 만큼 이전의 GOP에 속하는 화상의 프레임은 마이너스 부호 (-)로 식별된다. 이 GOP는 GOP(-)라 칭해진다. 현행 GOP보다 1 GOP 만큼 이후의 GOP에 속하는 화상의 프레임은 플러스 부호 (+)로 식별된다. 이 GOP는 GOP(+)라 칭해진다.
도 1에 도시된 갱신 패턴에 있어서, 아래 방향은 순방향 재생 동작을 나타내며, 위 방향은 역방향 재생 동작을 나타낸다. 다른 말로, 패턴이 도 12에서 1 라인 만큼 아래로 이동할 때, 목표 재생 프레임은 1 프레임 만큼 이동된다. 패턴이 도 12에서 1 라인 만큼 위로 이동할 때, 목표 재생 프레임은 1 프레임만큼 복귀한다. 또한, 도 12에 도시된 갱신 패턴은 순환한다. 다른 말로, 목표 재생 프레임이 첫 번째 라인에 있는 패턴으로부터 1 라인 복귀할 때, 목표 재생 프레임은 15번째 라인에 있는 프레임으로 복귀한다.
도 12에 도시된 프레임 버퍼 갱신 패턴에서, 제1 라인은 목표 재생 프레임이 프레임 "I3"인 패턴의 예를 나타낸다. 목표 재생 프레임을 순방향으로 "I3"로부터 1 프레임 이동시키기 위해서는, 프레임 "B4" 및 프레임 "P6"가 필요하다. 목표 재생 프레임을 역방향으로 1 프레임 복귀시키기 위해서는, 프레임 "B2", 프레임 "P15-", 프레임 "P12-", 프레임 "P9-", 프레임 "P6-", 및 프레임 "I3-"가 필요하 다.
제2 라인은 목표 재생 프레임이 프레임 "B4"인 패턴의 예를 나타낸다. 목표 재생 프레임을 순방향으로 "B4"로부터 1 프레임 이동시키기 위해서는, 프레임 "B5" 및 프레임 "P6"가 필요하다. 목표 재생 프레임을 역방향으로 1 프레임 복귀시키기 위해서는, 프레임 "I3", 프레임 "P15-", 프레임 "P12-", 프레임 "P9-", 프레임 "P6-", 및 프레임 "I3-"가 필요하다.
제3 라인은 목표 재생 프레임이 프레임 "B5"인 패턴의 예를 나타낸다. 목표 재생 프레임을 순방향으로 "B5"로부터 1 프레임 이동시키기 위해서는, 프레임 "P6" 및 프레임 "P9"가 필요하다. 목표 재생 프레임을 역방향으로 1 프레임 복귀시키기 위해서는, 프레임 "B4", 프레임 "I3", 프레임 "P12-", 프레임 "P9-", 프레임 "P6-", 및 프레임 "I3-"가 필요하다.
제4 라인은 목표 재생 프레임이 프레임 "P6"인 패턴의 예를 나타낸다. 목표 재생 프레임을 순방향으로 "P6"로부터 1 프레임 이동시키기 위해서는, 프레임 "B7" 및 프레임 "P9"이 필요하다. 목표 재생 프레임을 역방향으로 1 프레임 복귀시키기 위해서는, 프레임 "B5", 프레임 "I3", 프레임 "P12-", 프레임 "P9-", 프레임 "P6-", 및 프레임 "I3-"가 필요하다.
제5 라인은 목표 재생 프레임이 프레임 "B7"인 패턴의 예를 나타낸다. 목표 재생 프레임을 순방향으로 "B7"으로부터 1 프레임 이동시키기 위해서는, 프레임 "B8" 및 프레임 "P9"이 필요하다. 목표 재생 프레임을 역방향으로 1 프레임 복귀시키기 위해서는, 프레임 "P6", 프레임 "I3", 프레임 "P12-", 프레임 "P9-", 프레 임 "P6-", 및 프레임 "I3-"가 필요하다.
제6 라인은 목표 재생 프레임이 프레임 "B8"인 패턴의 예를 나타낸다. 목표 재생 프레임을 순방향으로 "B8"로부터 1 프레임 이동시키기 위해서는, 프레임 "P9" 및 프레임 "P12"가 필요하다. 목표 재생 프레임을 역방향으로 1 프레임 복귀시키기 위해서는, 프레임 "B7", 프레임 "P6", 프레임 "I3", 프레임 "P9-", 프레임 "P6-", 및 프레임 "I3-"가 필요하다.
제7 라인은 목표 재생 프레임이 프레임 "P9"인 패턴의 예를 나타낸다. 목표 재생 프레임을 순방향으로 "P9"으로부터 1 프레임 이동시키기 위해서는, 프레임 "B10" 및 프레임 "P12"가 필요하다. 목표 재생 프레임을 역방향으로 1 프레임 복귀시키기 위해서는, 프레임 "P6", 프레임 "I3", 프레임 "P9-", 프레임 "P6-", 프레임 "P6-", 및 프레임 "I3-"가 필요하다.
제8 라인은 목표 재생 프레임이 프레임 "B10"인 패턴의 예를 나타낸다. 목표 재생 프레임을 순방향으로 "B10"으로부터 1 프레임 이동시키기 위해서는, 프레임 "B11" 및 프레임 "P12"가 필요하다. 목표 재생 프레임을 역방향으로 1 프레임 복귀시키기 위해서는, 프레임 "P9", 프레임 "P6", 프레임 "I3", 프레임 "P9-", 프레임 "P6-", 및 프레임 "I3-"가 필요하다.
제9 라인은 목표 재생 프레임이 프레임 "B11"인 패턴의 예를 나타낸다. 목표 재생 프레임을 순방향으로 "B11"로부터 1 프레임 이동시키기 위해서는, 프레임 "P12" 및 프레임 "P15"가 필요하다. 목표 재생 프레임을 역방향으로 1 프레임 복귀시키기 위해서는, 프레임 "B10", 프레임 "P9", 프레임 "P6", 프레임 "I3", 프레 임 "P6-", 및 프레임 "I3-"가 필요하다.
제10 라인은 목표 재생 프레임이 프레임 "P12"인 패턴의 예를 나타낸다. 목표 재생 프레임을 순방향으로 "P12"로부터 1 프레임 이동시키기 위해서는, 프레임 "B13" 및 프레임 "P15"가 필요하다. 목표 재생 프레임을 역방향으로 1 프레임 복귀시키기 위해서는, 프레임 "B11", 프레임 "P9", 프레임 "P6", 프레임 "I3", 프레임 "P6-", 및 프레임 "I3-"가 필요하다.
제11 라인은 목표 재생 프레임이 프레임 "B13"인 패턴의 예를 나타낸다. 목표 재생 프레임을 순방향으로 "B13"으로부터 1 프레임 이동시키기 위해서는, 프레임 "B14" 및 프레임 "P15"가 필요하다. 목표 재생 프레임을 역방향으로 1 프레임 복귀시키기 위해서는, 프레임 "P12", 프레임 "P9", 프레임 "P6", 프레임 "I3", 프레임 "P6-", 및 프레임 "I3-"가 필요하다.
제12 라인은 목표 재생 프레임이 프레임 "B14"인 패턴의 예를 나타낸다. 목표 재생 프레임을 순방향으로 "B14"로부터 1 프레임 이동시키기 위해서는, 프레임 "B15" 및 프레임 "I3+"가 필요하다. 목표 재생 프레임을 역방향으로 1 프레임 복귀시키기 위해서는, 프레임 "B13", 프레임 "P12", 프레임 "P9", 프레임 "P6", 프레임 "I3", 및 프레임 "I3-"가 필요하다.
제13 라인은 목표 재생 프레임이 프레임 "P15"인 패턴의 예를 나타낸다. 목표 재생 프레임을 순방향으로 "P15"로부터 1 프레임 이동시키기 위해서는, 프레임 "B1+" 및 프레임 "I3+"가 필요하다. 목표 재생 프레임을 역방향으로 1 프레임 복귀시키기 위해서는, 프레임 "B14", 프레임 "P12", 프레임 "P9", 프레임 "P6", 프레 임 "I3", 및 프레임 "I3-"가 필요하다.
제14 라인은 목표 재생 프레임이 프레임 "B1+"인 패턴의 예를 나타낸다. 목표 재생 프레임을 순방향으로 "B1+"로부터 1 프레임 이동시키기 위해서는, 프레임 "B2+" 및 프레임 "I3+"가 필요하다. 목표 재생 프레임을 역방향으로 1 프레임 복귀시키기 위해서는, 프레임 "P15", 프레임 "P12", 프레임 "P9", 프레임 "P6", 프레임 "I3", 및 프레임 "I3-"가 필요하다.
제15 라인은 목표 재생 프레임이 프레임 "B2+"인 패턴의 예를 나타낸다. 목표 재생 프레임을 순방향으로 "B2+"로부터 1 프레임 이동시키기 위해서는, 프레임 "I3+" 및 프레임 "P6+"가 필요하다. 목표 재생 프레임을 역방향으로 1 프레임 복귀시키기 위해서는, 프레임 "B1+", 프레임 "P15", 프레임 "P12", 프레임 "P9", 프레임 "P6", 및 프레임 "I3"가 필요하다.
이와 같이, 도 12에 예시된 프레임 버퍼의 갱신 패턴에서, 각 프레임의 갱신 패턴들 사이에는 단지 하나의 프레임이 갱신된다. 다음에는, 몇 개의 예를 참조해서, 프레임 버퍼의 갱신 패턴들이 좀 더 구체적으로 설명될 것이다.
제1 예로서, 목표 재생 프레임이 P 화상인 프레임 "P6"의 경우가 설명될 것이다. 이 경우에, 순방향 및 역방향으로 1x 속도 이내의 재생 속도 범위에서, 목표 재생 프레임 이후에, 프레임 "P6" 및 프레임 "P6"보다 1 프레임 이전 및 이후의 인접한 프레임 "B5" 및 "B7"은 마찬가지로 새로운 목표 재생 프레임이 된다.
목표 재생 프레임이 "P6"이고 목표 재생 프레임을 기반으로 생성된 목표 프레임 버퍼 패턴에 대응하는 디코드된 프레임들이 프레임 버퍼(도 12에 도시된 제4 라인의 패턴을 참조)에 저장된 상태에서, 목표 재생 프레임 "P6", 및 목표 재생 프레임 "P6"보다 1 프레임 이전 및 이후의 인접한 프레임 "B5" 및 "B7"은 디코드되어 프레임 버퍼에 저장되었다.
이 상태에서, 목표 재생 프레임이 프레임 "B5" 또는 "B7"으로 이동될 때, 이동된 목표 재생 프레임에 대응하는 새로운 목표 프레임 버퍼 패턴에 기반한 프레임들은 디코드되어 프레임 버퍼에 저장된다.
프레임 버퍼내의 이들 데이타에 대한 영역들을 제외하고, 기 저장된 데이타는 유지된다. 도 12에 도시된 제4 라인의 패턴 예에서, 목표 재생 프레임이 "P6"일 때, 프레임 "P6", 프레임 "P6"와 동일한 GOP에 속하는 프레임 "I3", 프레임 "P9", 프레임 "B5", 및 프레임 "B7", 및 프레임 "P6"가 속하는 GOP보다 1 GOP 만큼 이전의 GOP에 속하는 프레임 "I3-", 프레임 "P6-", 프레임 "P9-", 및 프레임 "P12-"는 프레임 버퍼에 저장된다.
목표 재생 프레임이 프레임 "P6"인 경우에, 목표 재생 프레임이 순방향으로 1 프레임 이동될 때, 프레임 "B7"은 새로운 목표 재생 프레임이 된다. 1 프레임 후에, 프레임 "B7", 및 프레임 "B7"보다 1 프레임 이전 및 이후의 인접한 프레임 "P6" 및 "B8"은 마찬가지로 새로운 목표 재생 프레임이 된다.
재생 속도가 순방향 및 역방향으로 1x 속도 이내일 때, 동일한 프레임이 2 프레임의 타이밍에서 연속해서 출력될 수 있다. 이 경우에, 차기 프레임의 타이밍에서, 목표 재생 프레임은 바뀌지 않는다.
이들 프레임들 중에서, 프레임 "P6"가 현행 목표 재생 프레임이기 때문에, 프레임 "B6"는 이미 프레임 버퍼에 저장되었다. 프레임 "P8"을 디코드하기 위해서는, 프레임 "P6" 및 프레임 "P9"이 필요하다. 프레임 "P6" 및 프레임 "P9"은 프레임 "B7"을 디코드하는데 이용되었기 때문에, 이들은 이미 프레임 버퍼에 저장되었다. 프레임 "B8"은 프레임 "P6" 및 프레임 "P9"로 디코드된다.
목표 재생 프레임이 프레임 "B7"으로 이동될 때, 표시 순서에 있어서 역 방향으로 목표 재생 프레임이었던 프레임 "P6"의 인접한 프레임인 프레임 "B5"는 불필요하기 때문에, 프레임 "B5"는 제거된다. 프레임 버퍼로부터 제거된 프레임 "B5"에 대한 영역에는, 새로이 디코드된 프레임 "B8"이 저장된다. 이러한 식으로,프레임 버퍼가 갱신된다.
목표 재생 프레임이 역방향으로 1 프레임 복귀할 때, 프레임 "B5"는 새로운 목표 재생 프레임이 된다. 1 프레임 이후에, 프레임 "B5", 프레임 "B4" 및 프레임 "P6"는 마찬가지로 새로운 목표 재생 프레임이 된다. 프레임 "P6"가 현행 목표 재생 프레임이기 때문에, 프레임 "P6"는 이미 프레임 버퍼에 저장되었다. 프레임 "B4"를 디코드하기 위해서는, 프레임 "I3" 및 프레임 "P6"가 필요하다. 프레임 "I3"은 프레임 버퍼에 저장된다. 프레임 "B4"는 프레임 "I3" 및 프레임 "P6"로 디코드된다.
한편, 목표 재생 프레임이 프레임 "P6"로부터 프레임 "B5"로 이동될 때, 순방향으로 프레임 "P6"의 인접한 프레임인 프레임 "B7"은 불필요하기 때문에, 프레임 "B7"은 제거된다. 프레임 버퍼로부터 제거된 프레임 "B7"에 대한 영역에는, 새로 디코드된 프레임 "B4"가 저장된다. 이러한 식으로, 프레임 버퍼가 갱신된다.
이와 같이, 목표 재생 프레임이 순방향으로 1 프레임만큼 "P6"로부터 이동할 때, 프레임 "B5"로부터 프레임 "B8"까지 단지 1 프레임만이 갱신된다. 목표 재생 프레임이 역방향으로 1 프레임만큼 "P6"로부터 복귀될 때, 프레임 "B7"으로부터 프레임 "B4"까지 단지 하나의 프레임만이 갱신된다.
제2 예로서, 목표 재생 프레임이 B 화상인 프레임 "B7"인 경우가 설명될 것이다. 이 경우에, 순방향 및 역방향으로 1x 속도 이내의 재생 속도 범위에서, 1 프레임 이후에, 프레임 "B7", 및 프레임 "B7"보다 1 프레임 이전 및 이후의 인접한 프레임 "P6" 및 "B8"은 마찬가지로 새로운 목표 재생 프레임이 된다.
목표 재생 프레임이 "B7"이고 목표 재생 프레임을 기반으로 생성된 목표 프레임 버퍼 패턴에 따라 디코드된 프레임들이 프레임 버퍼(도 12에 도시된 제5 라인의 패턴을 참조)에 저장된 상태에서, 목표 재생 프레임 "B7", 및 목표 재생 프레임 "B7"보다 1 프레임 이전 및 이후의 인접한 프레임 "P6" 및 "B8"은 이미 디코드되어 프레임 버퍼에 저장되었다.
이 상태에서, 목표 재생 프레임이 프레임 "P6" 또는 "P8"로 이동될 때, 이동된 목표 재생 프레임에 대응하는 새로운 목표 프레임 버퍼 패턴에 기반한 프레임들은 디코드되어 프레임 버퍼에 저장된다.
프레임 버퍼내의 이들 프레임 대한 영역들을 제외하고, 기 저장된 데이타는 유지된다. 다른 말로, 도 12에 도시된 제5 라인의 패턴 예에서, 목표 재생 프레임이 "B7"일 때, 프레임 "B7", 프레임 "B7"이 속하는 GOP와 동일한 GOP에 속하는 프레임 "I3", 프레임 "P9", 프레임 "B8", 및 프레임 "B7"이 속하는 GOP보다 1 GOP 만 큼 이전의 GOP에 속하는 프레임 "I3-", 프레임 "P6-", 프레임 "P9-", 및 프레임 "P12-"는 프레임 버퍼에 저장된다.
목표 재생 프레임이 프레임 "B7"인 경우에, 목표 재생 프레임이 순방향으로 1 프레임 이동될 때, 프레임 "B8"은 새로운 목표 재생 프레임이 된다. 1 프레임 후에, 표시 순서에 있어서 프레임 "B8", 및 프레임 "B8"보다 1 프레임 이전 및 이후의 인접한 프레임 "B7" 및 "P9은 마찬가지로 새로운 목표 재생 프레임이 된다.
이들 프레임들 중에서, 프레임 "B7"이 현행 목표 재생 프레임이기 때문에, 프레임 "B7"은 이미 프레임 버퍼에 저장되었다. 프레임 "B8"을 디코드하기 위해서는, 프레임 "P6" 및 프레임 "P9"이 필요하다. 프레임 "P6" 및 프레임 "P9"은 프레임 "B7"을 디코드하는데 필요한 프레임이기 때문에, 프레임 "P6" 및 프레임 "P9"은 이미 프레임 버퍼에 저장되었다. 프레임 "B8"은 프레임 "P6" 및 프레임 "P9"로 디코드된다. 또한 프레임 "P9"은 이미 프레임 버퍼에 저장되었다.
이 경우에, 표시 순서에 있어서 역방향으로 프레임"B7"의 인접한 프레임인 프레임 "P6"는 프레임 "B8"을 디코드하는데 이용되었기 때문에, 프레임 "P6"는 제거되었다. 또한, 목표 재생 프레임이 순방향으로 1 프레임 이동될 때 이용된 프레임 "P12"는 프레임 "P9"으로 디코드된다. 버퍼 메로리에서 가장 빠른 GOP에 속하는 프레임들에서 표시 순서에 있어 가장 늦은 프레임 "P12"는 제거되며, 디코드된 프레임 "P12"는 버퍼 메모리에 저장된다.
목표 재생 프레임이 역방향으로 1 프레임 복귀할 때, 프레임 "P6"는 새로운 목표 재생 프레임이 된다. 1 프레임 이후에, 프레임 "P6", 프레임 "B5" 및 프레임 "B7"은 마찬가지로 새로운 목표 재생 프레임이 된다. 프레임 "B7"이 현행 목표 재생 프레임이기 때문에, 프레임 "B7"은 이미 프레임 버퍼에 저장되었다. 프레임 "B5"를 디코드하기 위해서는, 프레임 "I3" 및 프레임 "P6"가 필요하다. 프레임 "I3"은 프레임 버퍼에 저장된다. 프레임 "B5"은 프레임 "I3" 및 프레임 "P6"로 디코드된다.
목표 재생 프레임이 프레임 "B7"으로부터 프레임 "P6"로 이동될 때, 순방향으로 프레임 "B7"의 인접한 프레임인 프레임 "B8"은 불필요하기 때문에, 프레임 "B8"은 제거된다. 프레임 버퍼로부터 제거된 프레임 "B8"에 대한 영역에는, 새로 디코드된 프레임 "B5"가 저장된다. 이러한 식으로, 프레임 버퍼가 갱신된다.
이와 같이, 목표 재생 프레임이 순방향으로 1 프레임만큼 "B7"으로부터 이동할 때, 프레임 "P12-"로부터 프레임 "P12"까지 단지 1 프레임만이 갱신된다. 목표 재생 프레임이 역방향으로 1 프레임만큼 "B7"으로부터 복귀될 때, 프레임 "B8"로부터 프레임 "B5"까지 단지 하나의 프레임만이 갱신된다.
제3 예로서, 목표 재생 프레임이 I 화상인 프레임 "I3"인 경우가 설명될 것이다. 이 경우에, 순방향 및 역방향으로 1x 속도 이내의 재생 속도 범위에서, 1 프레임 이후에, 프레임 "I3", 및 프레임 "I3"보다 1 프레임 이전 및 이후의 인접한 프레임 "B2" 및 "B4"은 마찬가지로 새로운 목표 재생 프레임이 된다.
목표 재생 프레임이 "I3"이고 목표 재생 프레임을 기반으로 생성된 목표 프레임 버퍼 패턴에 따라 디코드된 데이타가 프레임 버퍼(도 12에 도시된 제1 라인의 패턴을 참조)에 저장된 상태에서, 목표 재생 프레임 "I3", 및 목표 재생 프레임 "I3"보다 1 프레임 이전 및 이후의 인접한 프레임 "B2" 및 "B4"은 이미 디코드되어 프레임 버퍼에 저장되었다.
이 상태에서, 목표 재생 프레임이 프레임 "B2" 또는 "B4"로 이동될 때, 이동된 목표 재생 프레임에 대응하는 새로운 목표 프레임 버퍼 패턴에 기반한 프레임들은 디코드되어 프레임 버퍼에 저장된다.
프레임 버퍼내의 이들 데이타에 대한 영역들을 제외하고, 기 저장된 데이타는 유지된다. 도 12에 도시된 제1 라인의 패턴 예에서, 목표 재생 프레임이 "I3"일 때, 프레임 "I3", 프레임 "I3"가 속하는 GOP와 동일한 GOP에 속하는 프레임 "P6", 프레임 "B2", 프레임 "B4", 및 프레임 "P6"가 속하는 GOP보다 1 GOP 만큼 이전의 GOP에 속하는 프레임 "I3-", 프레임 "P6-", 프레임 "P9", 및 프레임 "P12-"는 프레임 버퍼에 저장된다.
목표 재생 프레임이 프레임 "I3"인 경우에, 목표 재생 프레임이 순방향으로 1 프레임 이동될 때, 프레임 "B4"는 새로운 목표 재생 프레임이 된다. 1 프레임 후에, 프레임 "B4", 및 프레임 "B4"보다 1 프레임 이전 및 이후의 인접한 프레임 "I3" 및 "B5"는 마찬가지로 새로운 목표 재생 프레임이 된다.
이들 프레임들 중에서, 프레임 "I3"는 현행 목표 재생 프레임이기 때문에, 프레임 "I3"는 이미 프레임 버퍼에 저장되었다. 프레임 "B5"를 디코드하기 위해서는, 프레임 "I3" 및 프레임 "B6"가 필요하다. 프레임 "P6"는 프레임 "B4"를 디코드하는데 이용되었기 때문에, 프레임 "P6"는 이미 프레임 버퍼에 저장되었다. 프레임 "B5"는 이들 프레임 "I3" 및 프레임 "P6"로 디코드된다.
이 경우에, 프레임 "I3"의 역방향으로 목표 재생 프레임인 프레임 "B2"는 불필요하기 때문에, 프레임 "B2"는 제거된다. 프레임 버퍼로부터 제거된 프레임 "B2"의 영역에는, 디코드된 프레임 "B5"가 저장된다. 이러한 식으로, 프레임 버퍼가 갱신된다.
목표 재생 프레임이 역방향으로 1 프레임 복귀할 때, 프레임 "B2"는 새로운 목표 재생 프레임이 된다. 1 프레임 이후에, 프레임 "B2", 프레임 "B1" 및 프레임 "I3"는 마찬가지로 새로운 목표 재생 프레임이 된다. 프레임 "I3"가 현행 목표 재생 프레임이기 때문에, 프레임 "I3"는 이미 프레임 버퍼에 저장되었다. 프레임 "B1"을 디코드하기 위해서는, 프레임 "I3", 및 프레임 "I3"가 속하는 GOP보다 1 GOP 만큼 이전의 GOP에 속하는 프레임 "P15-"가 필요하다. 프레임 "B1"은 프레임 "P15-" 및 프레임 "I3"로 디코드된다.
한편, 목표 재생 프레임이 프레임 "I3"로부터 프레임 "B2"로 이동될 때, 순방향으로 프레임 "I3"의 인접한 프레임인 프레임 "B4"는 불필요하기 때문에, 프레임 "B4"는 제거된다. 프레임 버퍼로부터 제거된 프레임 "B4"에 대한 영역에는, 새로 디코드된 프레임 "B4"가 저장된다. 이러한 식으로, 프레임 버퍼가 갱신된다.
이와 같이, 목표 재생 프레임이 순방향으로 1 프레임만큼 "I3"로부터 이동할 때, 프레임 "B2"로부터 프레임 "B5"까지 단지 1 프레임만이 갱신된다. 마찬가지로, 목표 재생 프레임이 역방향으로 1 프레임만큼 "I3"으로부터 복귀될 때, 프레임 "B4"로부터 프레임 "B1"까지 단지 하나의 프레임만이 갱신된다.
앞서 설명한 바와 같이, 목표 재생 프레임이 다른 프레임으로 이동될 때, 버 퍼 메모리에 저장된 1 프레임이 제거된다. 제거된 프레임에 대한 영역에는, 새로운 1 프레임이 디코드되어 저장된다. 이러한 식으로, 버퍼 메모리는 갱신된다. 이 점에서, 버퍼 메모리로부터 제거되는 프레임은 다음의 룰을 기반으로 결정될 수 있다.
(1) 목표 재생 프레임도 아니고 이 프레임에 인접한 프레임도 아닌 B 화상의 프레임은 제거된다.
(2) 이전의 룰(1)을 기반으로 제거될 B 화상의 프레임이 없다면, 버퍼 메모리에 저장되어 있으며 다음의 룰(2a) 또는 (2b)를 만족하는 I 화상 또는 P 화상의 프레임은 제거된다.
(2a) 목표 재생 프레임이 순방향으로 이동될 때, 이 프레임은 목표 재생 프레임이 속하는 GOP로부터 역방향으로 가장 떨어져 있는 GOP에 속하는 마지막 I 또는 P 화상이다.
(2b) 목표 재생 프레임이 역방향으로 이동될 때, 이 프레임은 목표 재생 프레임이 속하는 GOP로부터 순방향으로 가장 떨어져 있는 GOP에 속하는 마지막 I 또는 P 화상이다.
앞서 설명된 바와 같이, 데이타가 본 발명의 이 실시예에 따른 시스템의 버퍼 메모리 갱신 패턴에 기반한 버퍼 메모리에 저장되는 경우, 현행 목표 재생 프레임이 I 화상의 프레임, P 화상의 프레임 또는 B 화상의 프레임인지 여부에 관계없이, 목표 재생 프레임이 임의 방향으로 1 프레임 이동될 때, 단지 1 프레임의 데이타가 버퍼 메모리에서 갱신된다. 따라서, 순방향 및 역방향으로 1x 속도 이내의 가변 속도 재생 동작은 하나의 1x 속도 디코더에 의해서 고정된 지연으로 실행될 수 있다.
이전의 예들에서, 현행 목표 재생 프레임이 GOP를 구성하는 I 화상, P 화상 및 B 화상 각각인 경우들이 설명되었다. 그러나, 이전의 설명에서 생략된 다른 프레임들이 현행 목표 재생 프레임인 경우에 있어서, 현행 목표 재생 프레임이 임의 방향으로 1 프레임 이동될 때, 버퍼 메모리에는 단지 1 프레임의 데이타가 갱신된다.
1-5-3. 목표 프레임 버퍼 패턴을 생성하는 프로세스의 흐름
다음에는, 도 13에 도시된 흐름도를 참조해서, 목표 프레임 버퍼 패턴을 생성하는 방법이 설명될 것이다. 다음의 설명에 있어서는, 목표 프레임(현행 프레임이라 칭함)이 B 화상의 프레임이라고 가정한다.
단계 S10에서, I 화상(I0)는 현행 프레임이 속하는 현행 GOP로부터 얻는다. 도 14의 (a)에 예시된 바와 같이, I 화상은 기록 매체 상의 순서에 있어서 역방향으로 현행 프레임에 대응하는 화상으로부터 시작해서 현행 GOP로부터 검색된다. 이 단계에서, 목표 프레임 버퍼 패턴의 프레임은 결정되지 않았다(도 15의 (a) 참조).
상 I 화상(I0)이 현행 GOP로부터 얻어졌을 때, 흐름은 단계 S11로 진행한다. 단계 S11에서, 현행 화상으로부터 2 프레임 이상 더 먼 I 화상 또는 P 화상은 현행 화상에 대응하는 화상으로부터 시작해서 기록 매체 상의 순서에 있어서 순방향으로 현행 GOP로부터 검색된다. 이 단계에서, 목표 프레임 버퍼 패턴의 프레임은 결정되지 않았다(도 15의 (b) 참조).
단계 S12에서, I 화상 및/또는 P 화상은 각각 단계 S10 및 단계 S11에서 얻어진 화상(I0)로부터 화상(P0)까지의 범위에서 검색된다. 도 14의 (c)에 예시된 바와 같이, 단계 S10에서 검색된 화상(I0)은 목표 프레임 버퍼 패턴에 이용되는 프레임으로 결정된다. 또한, 차기 P 화상(P)은 기록 매체 상의 순서에 있어서 순방향으로 화상(I0)으로부터 시작해서 현행 GOP로부터 검색된다. 검색된 P 화상은 목표 프레임 버퍼 패턴에 이용되는 프레임으로 결정된다. 이러한 식으로, 목표 프레임 버퍼 패턴에 이용되는 현행 GOP의 프레임들은 연속해서 검색된 P 또는 I 화상을 기반으로 결정된다(도 15의 (c) 참조).
현행 GOP의 I 화상 및 P 화상의 프레임들이 단계 S12에서 목표 프레임 버퍼 패턴에 이용되는 프레임으로서 결정되었을 때, 흐름은 단계 S13으로 진행한다. 단계 S13에서, B 화상은 기록 매체 상의 순서에 있어서 현행 프레임보다 1 프레임 이전의 프레임으로부터 현행 프레임보다 1 프레임 이후의 프레임까지의 범위에서 검색된다(도 14의 (d) 참조).검색된 B 화상의 프레임은 목표 프레임 버퍼 패턴에 이용되는 현행 GOP의 프레임으로 결정된다(도 15의 (d) 참조).
즉, 단계 S11 및 단계 S12에서, 현행 프레임보다 1 프레임 이전 및 이후인 B 화상을 디코드하는데 이용되는 I 화상의 프레임 및/또는 P 화상의 프레임은 목표 프레임 버퍼 패턴에 이용되는 프레임으로서 결정된다. 단계 S13에서, 결정된 I 화 상의 프레임 및/또는 P 화상의 프레임으로 디코드된 B 화상의 프레임은 목표 프레임 버퍼 패턴에 이용되는 프레임으로서 결정된다.
현행 GOP의 목표 프레임 버퍼 패턴에 이용되는 모든 프레임이 단계 S13에서 결정되었을 때, 흐름은 단계 S14로 진행한다. 단계 S14에서, 상 I 화상(I_1)은 현행 GOP로부터 1 GOP 이전의 GOP로부터 검색된다.(도 14의 (e) 참조). 예를 들어, I 화상은 현행 GOP의 상 I 화상(I0)으로부터 시작해서 기록 매체 상의 순서에 있어서 역방향으로 검색된다. P 화상은 검색된 I 화상으로부터 시작해서, 기록 매체 상의 순서에 있어서 순방향으로 검색된다(도 14의 (f) 참조). 현행 GOP보다 1 GOP 만큼 이전의 GOP의 I 화상의 프레임 및/또는 P 화상의 프레임은 목표 프레임 버퍼 패턴에 이용되는 프레임으로서 결정된다(도 15의 (f) 참조).
단계 S14 및 S15SMS 버퍼 메모리가 채워질 때까지 반복된다(단계 S16).
기록 매체에 기록된 각 화상(I 화상, P 화상 또는 B 화상)의 위치 및 종류는 도 10을 참조로 설명된 화상 포인터 파일을 참조해서 얻을 수 있다. 이 실시예의 시스템 또는 하이 레벨 시스템이 특정 프레임에 대한 재생 명령을 발행할 때, CPU(14)는 목표 재생 프레임이 속해 있는 현행 GOP에 대한 화상 포인터로부터 목표 재생 프레임으로서 특정 프레임을 검색하여, 현행 GOP의 I 화상의 위치를 얻는다. 앞서 설명된 바와 같이, 화상 포인터 파일은 화상 종류, 현행 화상이 현행 GOP의 상 화상인지 여부를 나타내는 플래그, 화상 사이즈 정보 및 상 어드레스를 기술한다. 따라서, 원하는 화상을 이들 정보를 기반으로 기록 매체로부터 검색할 수 있 다.
목표 프레임 버퍼 패턴이 목표 재생 프레임을 기반으로 결정되고 프레임 버퍼가 목표 프레임 버퍼 패턴을 기반으로 디코드된 프레임들로 채워진 후에, 도 12를 참조로 설명된 바와 같은 프로세스에서, 재생 동작이 재생 명령에 따라서 예정된 고정 지연으로 순방향 및 역방향으로 1x 속도 이내에 실행된다.
이 예에서는 목표 재생 프레임이 B 화상인 것으로 가정되었다. 대신에, 도 13에 도시된 흐름도에서 설명된 프로세스는 현행 프레임이 I 화상 또는 P 화상일 때 적용될 수 있다.
목표 프레임 버퍼 패턴은 도 13에 도시된 흐름도의 프로세스에서 시스템 또는 하이 레벨 시스템으로부터 발행된 재생 명령에 따른 프레임으로 목표 재생 프레임에 대해서 생성된다. 이 프로세스는 예를 들어 목표 재생 프레임이 지정될 때마다 실행된다. 대신에, 목표 프레임 버퍼 패턴은 제1 목표 재생 프레임이 지정되었을 때 GOP의 모든 프레임에 대해서 생성될 수 있다. 생성된 목표 프레임 버퍼 패턴은 예를 들어 RAM(36)에 저장된다.
대신에, 재생될 클립의 GOP 구조가 알려질 때, 도 13에 도시된 흐름도의 프로세스는, 도 12에 도시된 프레임 버퍼 갱신 패턴이 미리 생성되도록 GOP에 속하는 각 화상에 대해서 실행될 수 있다. 대신에, 재생 장치(1)에 적용된 GOP의 구조가 결정되었을 때, 갱신 패턴이 미리 생성되어 ROM(35)에 저장될 수 있다.
CPU(14)는 동작 섹션(15)에 대한 순방향 또는 역방향으로 1x 속도 이내에 재생 명령에 따른 출력 프레임에 대한 갱신 패턴을 참조하며, 각 프레임의 타이밍에 서 광학 디스크(10)로부터 판독될 화상을 지정하며, 프레임 버퍼를 갱신한다.
1-5-4. 프레임 버퍼 갱신 패턴에 기반한 재생 제어 동작
다음에는, 프레임 버퍼 갱신 패턴에 기반한 재생 제어 동작이 설명될 것이다. 재생 제어는 각 프레임의 타이밍과 동기해서 각 프레임에 대해 실행된다. 도 16은 본 발명의 실시예에 따른 시스템에 의해 실행되는 동기 제어의 개요를 보여주고 있다. 도 16에 도시된 예에서, 비디오 데이타는 3 프레임의 간격에서 1 프레임만큼 디코드된다. 비디오 데이타가 디코드될 때, 1 프레임에 대한 디비오 데이타가 동기해서 프레임 버퍼로부터 출력된다.
이 프레임에서, 목표 재생 프레임은 프레임 버퍼에 현재 저장되어 있는 프레임의 프레임 버퍼 정보(이 프레임 버퍼 정보는 CPU(14)에 의해 얻어진다), 디스크 드라이브(11)의 판독 정보 및 목표 속도 정보를 기반으로 결정된다(단계 S20). 판독 정보는 광학 디스크(10)로부터 이미 판독되어 디스크 드라이브(11)의 캐시 메모리(12)에 저장된 화상에 대한 정보이다. 한편, 목표 속도 정보는 동작 섹션(15)에 대한 동작에 대응하는 CPU(14)에 제공되는 재생 속도 및 재생 방향, 하이 레벨 어플리케이션으로부터 발행된 명령 등을 나타내는 정보이다.
목표 재생 프레임이 결정된 후, 디코더(22)에 전달된 화상이 결정된다(단계 S21). 다른 말로, 목표 재생 프레임이 결정되었으므로, 디코드되는 화상은 도 12를 참조로 설명된 프레임 버퍼 갱신 패턴을 기반으로 결정된다.
도 12에 도시된 제4 라인의 예에서, 재생 방향이 순방향일 때, 현행 목표 재생 프레임 "P6"에 해당하는 새로운 목표 재생 프레임은 프레임 "B7" 및 프레임 "P6" 중에서 하나로 결정된다. 프레임 "B7" 또는 프레임 "P6"가 새로운 목표 재생 프레임으로서 결정되는지 여부는 단지 목표 속도 정보, 지정 타이밍 등에 의존한다. 이 예에서, 프레임 "B7"이 새로운 목표 재생 프레임으로 결정되었다고 가정한다.
이후, 제4 라인의 프레임 버퍼 정보는 새로운 목표 재생 프레임의 프레임 버퍼 정보에 비교된다. 그 결과, 새로 디코드될 프레임 및 제거될 프레임이 추출된다. 프레임 "B7"이 새로운 목표 재생 프레임인 이 예에서, 제4 라인의 프레임 버퍼 정보는 제5 라인의 프레임 버퍼 정보에 비교된다. 그 결과, 프레임 "B5"는 불필요하고 프레임 "B8"은 디코드되어야 할 필요가 있다는 것이 명확해 진다.
전달될 화상이 단계 S21에서 결정되었을 때, 화상은 디코더(22)에 전달된다(단계 S22). 예를 들어, CPU(14)는 디스크 드라이브(11)에게 광학 디스크(10)로부터 결정된 화상을 판독하도록 요청한다. 따라서, 디스크 드라이브(11)는 광학 디스크(11)로부터 화상(이 예에서는, 프레임 "B8"에 대응하는 화상)을 판독한다. 판독된 화상은 디코더(22)에 전달된다. 또한, 판독된 화상을 디코드하는데 필요한 다른 프레임이 있을 때, 이 프레임은 프레임 버퍼로부터 판독되어 디코더(22)로 전달된다.
프레임 "B8"이 디코드되는 이 예에서, 프레임 "B8"에 해당하는 화상 및 프레임 "B8"을 디코드하는데 이용되는 프레임 "P6" 및 "P9"은 디코더(22)에 전달된다.
구체적으로, 앞서 설명한 바와 같이, 결정된 화상은 CPU(14)를 통하지 않고 DMA(Directly Memory Access)를 기반으로 디스크 드라이브(11)의 캐시 메모리(12) 를 억세스하고 캐시 메모리(12)로부터의 화상을 디코더(22)에 전달함으로써 전달된다.
화상은 제2 프레임의 타이밍과 동기해서 디스크 드라이브(11)로부터 디코더(22)에 전달된다(단계 S22). 전달될 화상이 단계 S21에서 디코드 되었으므로, 이 화상에 대한 디코드 정보가 결정된다(단계 S23). 예를 들어, 결정된 화상의 헤더 정보로부터 추출되었으며 이 화상을 디코드하는데 필요한 파라미터 및 이 화상을 디코드하는데 필요한 다른 프레임에 대한 정보는 디코드 정보로서 결정된다. 이들 결정된 디코드 정보는 디코더(22)에 전달된다.
디코더(22)는 차기 제3 프레임의 타이밍과 동기해서 단계 S23에서 전달된 디코드 정보를 기반으로 단계 S22에서 전달된 화상을 디코딩하기 시작한다(단계 S24). 디코드된 화상(프레임)은 프레임 버퍼의 예정된 뱅크에 기입된다. 이러한 식으로, 프레임 버퍼는 갱신된다. 도 12에 도시된 제4 라인의 예에서, 디코드된 프레임 "B8"의 데이타는 버퍼 메모리 내의 프레임 "B5"에 대한 뱅크에 겹처쓰여진다(도 12의 제5 라인 참조).
목표 재생 프레임이 단계 S20에서 결정되었을 때, 출력될 비디오 데이타의 정보가 결정된다(단계 S25). 도 12에 도시된 제4 라인의 예에서, 프레임 "P6"는 출력 비디오 데이타로서 결정된다. 디코드된 출력 비디오 데이타에 대한 정보는 출력 데이타 제어부(23)에 전달된다. 출력 데이타 제어부(23)은 제3 프레임의 타이밍 이전에 수신된 정보를 근거로 비디오 출력을 설정한다(단계 S26). 설정된 비디오 출력을 기반으로, 프레임 "P6"는 제3 프레임의 타이밍과 동기해서 출력된다 (단계 S27).
순방향으로 1x 속도 이내의 재생 동작은 예를 들어 단계 S20에서 하이 레벨 어플리케이션으로부터 제공된 재생 속도 정보를 근거로 목표 재생 프레임을 차기 프레임으로 이동시켜야할지 여부를 제어함으로써 실행될 수 있다. 재생 동작이 순방향으로 1/2x 속도로 실행될 때, 단지 1 프레임만이 매 2 프레임의 타이밍에서 갱신된다. 이 동작은 2 프레임마다 목표 재생 프레임을 갱신함으로써 실행될 수 있다. 목표 재생 프레임이 갱신되지 않으면, 프로세스는 바로 이전의 프로세스에서의 프레임 버퍼 패턴과 같은 프레임 버퍼 패턴을 기반으로 실행된다. 따라서, 바로 이전의 프레임과 동일한 프레임이 출력된다. 이때, 광학 디스크(10)에 대한 재생 장치(1)의 억세스 동작 및 디코더(22)의 디코드 동작이 정지되는 것이 바람직하다.
앞의 예에서, 재생이 순방향이 경우의 프로세스가 설명되었다. 재생 방향이 역방향인 경우에도 동일한 프로세스가 실행된다. 제1 프레임에서, 목표 재생 프레임은 프레임 버퍼 정보, 판독 정보 및 목표 속도 정보를 기반으로 결정된다(단계 S20). 목표 재생 프레임이 결정된 후, 디코더(22)에 전달되는 화상이 결정된다(단계 S21). 도 12에 도시된 제4 라인의 예에서, 재생 방향이 역방향이기 때문에, 목표 재생 프레임은 프레임 "B5" 또는 프레임 "P6"로 결정된다. 이 예에서, 목표 재생 프레임은 프레임 "B5"인 것으로 가정한다. 또한, 제4 라인의 프레임 버퍼 정보는 목표 재생 프레임이 출력 프레임인 제3 라인의 프레임 버퍼 정보에 비교된다. 그 결과, 프레임 "B7"이 불필요하며 프레임 "B4"는 디코드 되어야할 필요가 있다는 것이 명확해진다.
전달될 화상이 단계 S21에서 결정되었을 때, 화상은 제2 프레임의 타이밍에 동기해서 디코더(22)에 전달된다(단계 S22). 이때, 현행 화상을 디코드하는데 필요한 다른 화상이 있을 때, 다른 화상은 프레임 버퍼로부터 판독되어 디코더(22)에 전달된다. 프레임 "B4"가 디코드되는 이 예에서, 프레임 "B4"를 디코드하는데 이용되는 프레임 "I3" 및 "P6"는 또한 디코더(22)에 전달된다. 도 12의 제4 라인에 도시된 바와 같이, 프레임 "I3" 및 프레임 "P6"는 이미 프레임 버퍼에 저장되어 있다.
전달될 화상이 단계 S21에서 결정된 후, 이 화상에 대한 디코드 정보가 결정된다(단계 23). 결정된 디코드 정보는 디코더(22)에 전달된다. 디코더(22)는 제3 프레임의 타이밍과 동기해서 단계 S23에서 전달된 디코드 정보를 기반으로 단계 S22에서 전달된 화상을 디코드하기 시작한다.(단계 S24). 디코드된 화상(프레임)은 프레임 버퍼의 예정된 버퍼에 기입된다. 도 12의 제4 라인의 예에서, 디코드된 프레임 "B4"의 데이타는 프레임 버퍼 내의 프레임 "B7"에 대한 뱅크에 겹처쓰여진다(도 12의 제3 라인을 참조).
목표 재생 프레임이 단계 S20에서 결정되었을 때, 출력될 비디오 데이타에 대한 정보가 결정된다(단계 S25). 도 17의 제4 라인의 예에서, 프레임 "P6"는 출력 비디오 데이타로서 결정된다. 결정된 출력 비디오 데이타에 대한 정보는 출력 데이타 제어부(23)에 전달된다. 출력 데이타 제어부(23)은 제3 프레임의 타이밍 이전에 전달된 정보를 기반으로 비디오 출력을 설정한다(단계 S26). 설정된 비디 오 출력을 기반으로, 프레임 "P6"는 제3 프레임의 타이밍에 동기하여 출력된다(단계 S27).
재생 방향이 순방향인지 역방향인지 여부에 관계없이, 단계 S20 내지 S27은 각 프레임의 타이밍에서 연속해서 실행된다. 다른 말로, 목표 재생 프레임은 단계 S20에서 제1 프레임의 타이밍에 동기하여 결정된다. 출력 프레임에 대응하는 새로운 목표 재생 프레임은 차기 제2 프레임의 타이밍에 동기하여 결정된다.
새로운 목표 재생 프레임은 차기 제3 프레임의 타이밍에 동기하여 디스크 드라이브(11)로부터 디코더(22)로 전달된다. 따라서, 이 전달 프로세스는 바로 이전의 프로세스와 충돌하지 않는다. 마찬가지로, 디코더(22)의 디코드 프로세스는 제4 프레임(도시되어 있지 않음)에 동기되며, 디코드 프로세스는 바로 이전의 프로세스와 충돌하지 않는다.
따라서, 본 발명의 이 실시예에 따르면, 프레임의 드롭(drop)이 없는 재생 속도 및 재생 방향을 지정하는 명령에 따라 고정 지연으로 순방향의 1x 속도로부터 역방향의 1x 속도까지 가변 속도 재생 동작이 하나의 1x 속도 디코더에 의해 실행될 수 있다.
도 16에 도시된 시퀀스에 있어서, 목표 재생 프레임이 비디오 출력이 고정 지연으로 실행될 때까지 단계 S20에서 결정된 후, 평균 1 화상/프레임 기간에 단계 S22에서 데이타 전달 프로세스와 단계 S24에서 디코드 프로세스를 실행할 필요가 있다. 다른 말로, 단계 S22에서의 전달 프로세스 및 단계 S24에서의 디코드 프로세스가 각각 평균 1 화상/프레임 기간 내에 실행되는 한, 그들의 프로세스 기간을 1 프레임 기간에 고정시켜야할 필요가 없다.
화상들이 하나의 1x 속도 디코더에 의해 디코드되고 고정 지연으로 순방향 및 역방향으로 1x 속도 내에 재생 동작이 이전의 목표 프레임 버퍼 패턴을 기반으로 실행될 때, 목표 재생 프레임이 이동될 때마다, 1 프레임이 디코드되고 1 프레임은 버퍼 메모리로부터 제거된다. 따라서, 단계 S22에서의 데이타 전달 프로세스 및 단계 S24에서의 디코드 프로세스는 각각 1 화상/프레임 기간에 실행된다. 그 결과, 이들은 도 16에 도시된 바와 같이 3 프레임의 기간에 실행된다.
2. 본 발명의 다른 실시예
다음에는, 본 발명의 다른 실시예가 설명될 것이다. 이 실시예에서, 재생 장치에는 두 개의 1x 속도 디코더가 제공된다. 한 디코더가 재생되고 있는 클립(이후에는, 이 클립을 현행 재생 클립이라 칭한다)을 디코드하는 한편, 다른 디코더는 차기 재생될 클립을 프리-디코드한다. 다음 설명에서, 현행 재생 클립을 디코드하는 디코더는 출력 디코더라 칭하는 한편, 차기에 재생 및 출력되는 클립을 디코드하는 디코더는 다른 디코더라 칭한다.
이때, 차기에 재생되어 출력되는 클립(이후, 이 클립은 목표 재생 클립이라 칭한다)은 현행 재생 클립의 재생 위치(디코드 위치)를 기반으로 결정된다. 목표 재생 클립의 화상에서, 이전의 목표 프레임 버퍼 갱신 패턴은 목표 재생 프레임으로서 제1 출력 프레임을 기반으로 생성된다. 다른 디코더는 생성된 목표 프레임 버퍼 갱신 클립을 기반으로 목표 재생 클립의 프레임을 디코드하며 디코드된 프레임을 저장한다.
목표 재생 클립은 예를 들어 현행 재생 클립의 재생 위치와 클립의 타임 길이의 거의 중앙 위치의 관계를 기반으로 결정된다. 현행 재생 클립의 재생 위치(디코드 위치)가 클립의 재생 순서에 있어서 순방향으로 클립의 타임 길이는 거의 중앙 위치보다 이후일 때, 현행 클립의 재생 순서에 있어서 순방향의 차기 클립이 목표 재생 클립이 된다. 현행 재생 클립의 재생 위치(디코드 위치)가 클립의 재생 순서에 있어서 순방향으로 클립의 타임 길이는 거의 중앙 위치보다 이전일 때, 클립의 재생 순서에 있어서 순방향의 현행 클립보다 이전의 클립이 목표 재생 클립이다.
2-1. 재생 장치 구조의 예
도 17은 본 발명의 이 실시예에 따른 재생 장치(20)의 구조에 대한 예를 보여주고 있다. 도 17에 예시된 바와 같이, 재생 장치(200)는 디코더(13B)를 포함하고 있다는 점에서 도 3을 참조로 설명한 재생 장치(1)와 다르다. 도 13에 도시된 디코더(13)는 도 17의 디코더(13A)로 표현되어 있다. 디코더(13A) 및 디코더(13B)의 출력은 각 프레임의 타이밍에 동기하여 동작한다. 도 17에서, 도 3과 유사한 섹션들은 유사한 참조 번호로 병기되어 있으며 이들에 대한 설명은 생략한다.
디코더(13A)는 프레임 메모리(17의 (a))를 갖고 있다. 디코더(13B)는 프레임 메모리(17의 (b))를 갖고 있다. 디코더(13A) 및 디코더(13B)의 동작은 CPU(14)에 의해 독립적으로 제어된다. 드라이브(11)는 CPU(14)의 제어하에 디스크(10)으로부터 데이타를 판독한다. 디스크(10)으로부터 판독된 데이타는 예정된 방식으로 디코더(13A) 및 디코더(13B)에 제공된다.
디코더(13A) 및 디코더(13B)는 CPU(14)의 제어하에 각각 프레임 메모리(17의 (a)) 및 프레임 메모리(17의 (b))와 함께 수신된 데이타를 디코드한다. 도 2 및 도 11 내지 16을 참조로 설명한 바와 같이, 목표 프레임 버퍼 패턴은 목표 재생 프레임을 기반으로 생성되고, 데이타는 목표 프레임 버퍼 패턴이 데이타로 채워지도록 광학 디스크(10)로부터 판독된다. 디코더(13A) 및 디코더(13B) 중 하나의 목표 재생 프레임은 현행 재생 클립에 속하는 프레임이다. 디코더(13A) 및 디코더(13B) 중 다른 하나의 목표 재생 프레임은 목표 재생 클립의 재생 시작 위치에 있는 프레임이다.
현행 재생 클립을 디코드하는 디코더와 목표 재생 클립을 디코드하는 다른 디코더는 자유롭게 지정될 수 있다. 예를 들어, 이들 디코더는 시스템에서 디폴트로 지정될 수 있다. 대신에, 이전 프로세스들을 취할 수 있다.
디코더(13A) 및 디코더(13B)의 출력은 각각 스위치 회로(201)의 선택 입력 단자(201의 (a)) 및 선택 입력 단자(201의 (b))에 제공된다. 스위치 회로(201)는 현행 재생 클립을 디코드하는 디코더의 출력이 선택되도록 CPU(14)의 제어하에 선택 입력 단자(201의 (a)) 또는 선택 입력 단자(201의 (b))를 선택한다. 스위치(201)는 각 프레임의 타이밍에 동기되어 제어된다.
2-2. 재생 제어 프로세스
도 18은 각 프레임의 타이밍에서 디코더(13A) 및 디코더(13B)의 동작에 대한 개요를 보여주고 있다. 마스터 위치는 예를 들어 출력될 클립 및 프레임에 대한 정보를 갖고 있다. 마스터 위치는 재생 속도 정보를 기반으로 결정된다. 다른 말 로, 출력될 프레임은 마스터 위치가 갖고 있는 클립 정보 및 프레임 정보를 기반으로 결정된다.
출력은 마스터 위치가 설정된 후 2 프레임 뒤에 실행된다. 재생 동작이 순방향으로 1x 속도로 실행되고 있는 동안, 마스터 위치에 의해 표현된 프레임은 각 프레임의 타이밍에서 1 프레임만큼 이동된다. 재생 동작이 조그 다이얼(16) 등에 의해서 순방향 또는 역방향으로 1x 속도 이내에 실행되고 있는 동안 마스터 위치에 의해서 표현된 프레임은 조그 다이얼(16)의 동작에 대응하는 타이밍에서 1 프레임만큼 이동된다.
마스터 위치가 설정된 프레임 기간에, 목표 재생 프레임은 디코더 A 및 디코더 B에 설정된다. 편의상, 디코더 A 및 디코더 B가 각각 도 17에 도시된 디코더(13A) 및 디코더(13B)에 대응한다고 가정하자. 디코더 A 및 디코더 B 중 하나는 현행 재생 클립 즉, 마스터 위치를 포함하고 있는 클립을 디코드한다. 이 예에서는 편의상, 디코더 A 및 디코더 B가 각각 마스터 위치를 포함하고 있는 클립 및 목표 재생 클립을 디코드한다고 가정하자.
마스터 위치에 의해서 표현된 프레임은 목표 재생 프레임으로서 디코더 A에 설정된다. 목표 재생 클립의 재생 시작 프레임은 목표 재생 프레임으로서 디코더 B에 설정된다. 이들 목표 재생 프레임들이 디코더 A 및 디코더 B에 설정될 때, 이들은 프레임 기간에 목표 재생 프레임을 기반으로 목표 프레임 버퍼 갱신 패턴을 생성하고 차기 프레임 기간에 한 프레임을 디코드한다.
디코더 A의 디코드된 결과 또는 디코더 B의 디코드된 결과는 마스터 위치를 기반으로 선택된다. 다른 말로, 마스터 위치가 목표 재생 프레임으로서 설정된 디코더가 선택된다. 스위치 회로(201)는 선택된 결과를 기반으로 제어된다. 비디오 데이타는 1 프레임 기간에 선택된 디코더의 프레임 메모리로부터 판독된다.
마스터 위치의 클립 정보가 갱신되었고 마스터 위치에 의해서 표현된 프레임들이 클립들로 이동될 때, 디코더 A 및 디코더 B의 역활이 바뀐다. 예를 들어, 디코더 A가 마스터 위치로 표현된 클립을 디코드하고 디코더 B가 목표 재생 클립을 디코드하는 경우에, 마스터 위치에 의해 표현된 클립이 현행 재생 클립으로부터 목표 재생 클립으로 갱신될 때, 마스터 위치에 의해 표현되는 프레임은 디코더 B의 목표 재생 프레임으로 바뀌고, 디코더 A의 목표 재생 프레임은 목표 재생 클립의 재생 시작 프레임으로 바뀐다.
다음에는, 본 발명의 이 실시예에 따른 재생 제어 처리가 설명될 것이다. 도 19의 (a) 및 19의 (b)는 클립을 재생하는 통상적인 방법의 예를 보여주고 있다. 도 19의 (a)는 클립들이 디스크 상에 물리적으로 배열된 순서로 재생되는 예를 보여주고 있다. 클립이 클립 #1, 클립 #2 및 클립 #3의 순서로 디스크 상에 배열되어 있는 경우에, 이들 클립이 순방향으로 재생될 때, 이들은 클립 #1의 초기로부터 시작해서 재생된다. 재생 위치가 클립 #1의 마지막까지 온 다음에, 재생 위치는 클립 #1으로부터 클립 #2로 점프한다. 이후, 클립 #2는 초기로부터 재생된다. 재생 위치가 클립 #2의 마지막까지 온 다음, 재생 위치는 클립 #2로부터 클립 #3로 점프한다. 이후, 클립 #3는 초기로부터 재생된다.
도 19의 (b)는 플레이 리스트에 대응하는 클립들이 재생되는 예를 보여주고 있다. 플레이 리스트는 클립 #1, 클립 #2 및 클립 #3의 재생 시작 위치(IN 포인트) 및 재생 마지막 위치(OUT 포인트)를 설명한다. IN 포인트 및 OUT 포인트는 예를 들어 타임 코드로 설명된다. 플레이 리스트가 재생될 때, 클립들은 플레이 리스트에 설명되어 있는 IN 포인트 OUT 포인트의 정보를 기반으로 참조 되며 개개의 클립들은 연속해서 재생된다.
도 19의 (b)에 도시된 예에서, 클립 #1은 IN 포인트 Tin # 1 으로부터 시작해서 재생된다. OUT 포인트 TCout # 1 에서, 재생 위치는 클립 #1으로부터 클립 #2로 점프한다. 클립 #2은 IN 포인트 Tin # 2 로부터 시작해서 재생된다. OUT 포인트 TCout # 2 에서, 재생 위치는 클립 #2으로부터 클립 #3으로 점프한다. 클립 #3은 IN 포인트 Tin # 3 으로부터 시작해서 재생된다.
도 19의 (a)에 도시된 디스크 상에 배열된 순서로 클립들을 재생하는 방법 및 도 19의 (b)에 도시된 플레이 리스트에 대응하는 클립들을 재생하는 방법 중 어느 방법에 있어서, 프레임들이 각 프레임의 타이밍에서 연속으로 출력되도록 클립들 간에 프레임들을 이동시키는 것이 필요하다.
도 19의 (a) 및 19의 (b)에 도시된 클립들을 재생하는 방법은 통상적인 예들이며 이들에 한정되지 않는다.
다음에는, 도 20 및 도 22를 참조로, 본 발명의 이 실시예에 따른 재생 제어 프로세스의 예가 설명될 것이다. 이 실시예에서, 클립들은 마스터 위치를 기반으로 디코더(13A) 및 디코더(13B)의 디코드 동작 및 디코더(13A) 및 디코더(13B)에 대한 제어 동작을 병렬로 실행함으로써 재생된다. 다른 말로, 예를 들어, CPU(14)는 갱신될 때마다 마스터 위치를 기반으로 디코더(13A) 및 디코더(13B)에 대한 목표 재생 프레임을 설정한다. 디코더(13A) 및 디코더(13B)는 CPU(14)에 의해서 설정된 목표 재생 프레임에 대한 디코드 프로세스를 실행한다.
디코더(13A) 및 디코더(13B)의 프로세스는 도2를 참조로 설명된 프로세스와 거의 동일하다. 다른 말로, 도 20에 도시된 바와 같이, 단계 S50에서, 디코드될 클립의 정보, 목표 재생 프레임 및 재생 속도 정보가 얻어진다. 이들 정보는 예를 들어 프로세스들을 실행하는 CPU(14)로부터 제공되며, 이는 도 21 및 도 22를 참조로 나중에 설명될 것이다. 단계 S51에서, 목표 프레임 버퍼 패턴은 디코드될 클립 및 목표 재생 프레임에 대한 정보를 기반으로 생성된다. 단계 S52에서, 디코드 프로세스는 생성된 목표 프레임 버퍼 패턴을 기반으로 실행된다. 다른 말로, 새로 디코드될 화상은 목표 프레임 버퍼 패턴을 기반으로 추출되고 스트림의 입력이 시작된다. 또한, 불필요한 화상은 추출되고 필요한 화상은 디코드되어 블랭크 뱅크에 저장된다. 단계 S50 내지 S52는 목표 재생 프레임이 갱신될 때마다 실행된다.
도 21은 마스터 위치를 기반으로 한 CPU(14)의 프로세스의 예를 보여주는 흐름도이다. 단계 S60에서, 마스터 위치가 재생 속도 정보를 기반으로 갱신될 때, 흐름은 단계 S61로 진행한다. 단계 S61에서, 디코더(13A) 및 디코더(13B) 중 하나는 갱신된 마스터 위치를 기반으로 출력 디코더로서 결정된다. 예를 들어, 프레임 버퍼가 마스터 위치가 나타내는 프레임을 저장하고 있는 디코더가 출력 디코더로서 결정된다. CPU(14)는 출력 디코더를 선택하기 위해 스위치 회로(201)를 제어한다. 스위치 회로(201)는 예를 들어 각 프레임의 타이밍에 동기하여 제어된다. 다음 설명에 있어서, 편의상, 출력 디코더가 아닌 디코더를 다른 디코더라 부르기로 한다.
출력 디코더가 결정된 후에, 흐름은 단계 S62로 진행한다. 단계 S62에서, 마스터 위치가 나타낸 프레임은 제1 목표 재생 프레임으로서 출력 디코더로 설정된다. 이후, 단계 S63에서, 제2 목표 재생 프레임은 클립 상의 마스터 위치에 의해 표현된 프레임의 위치를 기반으로 얻어진다. 단계 S64에서, 제2 목표 재생 프레임은 다른 디코더로 설정된다. 단계 S60 내지 단계 S64는 마스터 위치가 갱신될 때마다 실행된다.
도 22는 단계 S63에서 제2 목표 재생 프레임을 얻는 방법의 예를 보여주는 흐름도이다. 단계 S70에서, 마스터 위치에 의해 표현된 프레임의 현행 재생 클립, 즉 마스터 위치에 의해 클립의 가운데 위치로 표현된 위치가 얻어진다. 마스터 위치에 의해 표현된 프레임과 클립의 가운데 위치가 비교되고, 마스터 위치에 의해 클립의 가운데 위치로 표현된 프레임의 위치가 얻어진다.
재생 동작의 방향이 디스크 상의 클립들의 배열 순서를 기반으로 얻어질 때, 마스터 위치에 의해 표현된 프레임이 클립의 가운데 위치보다 이전인지 이후인지가 결정된다. 클립들이 플레이 리스트를 기반으로 재생될 때, 재생 동작의 방향은 플레이 리스트에 정의되어 있는 재생 순서를 기반으로 결정된다.
단계 S70에서 결정된 결과가, 마스터 위치에 의해 표현된 프레임이 클립의 가운데 위치보다 이전임을 나타낼 때, 흐름은 단계 S71로 진행한다. 단계 S71에 서, 목표 재생 프레임 Eprv 는 마스터 위치에 의해 표현된 프레임의 클립보다 1 클립 만큼 이전의 목표 재생 클립으로서의 클립에 설정된다. 목표 재생 프레임 Eprv 는 목표 재생 프레임의 재생 순서에 있어서 마지막 프레임이다. 목표 재생 프레임은 다른 디코더에 제공된다. 다른 디코더는 목표 재생 프레임 Eprv 을 기반으로 도 20의 흐름도에 도시된 목표 프레임 버퍼 패턴을 생성하는 프로세스를 실행한다.
단계 S70에서 결정된 결과가, 마스터 위치에 의해 표현된 프레임이 클립의 가운데 위치보다 이후임을 나타낼 때, 흐름은 단계 S72로 진행한다. 단계 S72에서, 목표 재생 프레임 Eadv 는 마스터 위치에 의해 표현된 프레임의 클립보다 1 클립 만큼 이후의 목표 재생 클립으로서의 클립에 설정된다. 목표 재생 프레임 Eadv 는 목표 재생 프레임의 재생 순서에 있어서 상 프레임이다. 목표 재생 프레임 Eadv은 다른 디코더에 제공된다. 다른 디코더는 목표 재생 프레임 Eadv 을 기반으로 도 20의 흐름도에 도시된 목표 프레임 버퍼 패턴을 생성하는 프로세스를 실행한다.
다음에는, 단계 S70에서 클립의 가운데 위치를 얻는 방법의 예가 설명될 것이다. 클립의 가운데 위치는 예를 들어 도 10을 참조로 설명된 화상 포인터 정보를 기반으로 얻어질 수 있다. 도 10에 도시된 예에서, 개개의 프레임을 나타내는 화상 포인터 정보는 화상 포인터 테이블에 표시 순서 및 프레임 번호 순서로 배열되어 있다. 따라서, 리스트 상의 화상 포인터 정보의 기록 수가 카운트될 때, 클립의 프레임 번호 F를 얻을 수 있다.
클립들이 디스크 상에 배열된 순서대로 재생될 때, 도 23A에 도시된 바와 같이, 현재 재생되고 있는 클립 #2의 시작 TCst 및 마지막 TCend 의 거의 가운데 포인트는 클립 TCcentDML 가운데 위치이다. 프레임 번호 F를 2로 나눈 몫의 우수리를 버린 결과는 클립의 가운데의 프레임 번호 Fcent 로서 간주 되는 것으로 생각할 수 있다. 프레임 번호 F가 우수일 때, 프레임 번호 Fcent 는 정확히 가운데 위치로부터 0.5 프레임 만큼 벗어난다. 이 경우에, 프레임 번호 Fcent 는 클립의 가운데 위치라고 가정한다.
클립들이 플레이 리스트를 기반으로 재생될 때, 도 23B에 예시된 바와 같이, 현재 재생되고 있는 클립 #2에서, 플레이 리스트에 설명된 IN 포인트 TCin #2 및 OUT 포인트 TCout # 2 의 거의 가운데 포인트는 클립 #2의 가운데 위치 TCcent 이다. 이 경우에, IN 포인트 TCin #2 에 대응하는 프레임 번호 Fin #2 및 OUT 포인트 TCout #2 에 대응하는 프레임 번호 Fout #2 가 얻어진다. 프레임 번호 Fin #2 및 프레임 번호 Fout #2 가 부가되고 나서 2로 나누어진다. 몫의 우수리는 버려지고(rounded up) rm 결과는 클립 #2의 가운데의 프레임 번호 Fcent 로서 간주 된다. IN 포인트와 OUT 포인트 간의 프레임의 번호가 우수일 때, 프레임 번호 Fcent 는 정확히 가운데 위치로부터 0.5 프레임만큼 벗어난다. 이 경우에, 프레임 번호 Fcent 는 클립 #2의 가운데 위치라고 가정한다.
얻어진 프레임 번호 Fcent 에 대응하는 타임 코드는 클립의 가운데 위치로서 얻어진다. 대신에, 프레임 번호 Fcent 는 클립의 가운데 위치로서 얻어질 수 있다.
이 예에서, 클립의 가운데 위치는 클립이 재생될 때마다 마스터 위치를 기반으로 얻어진다. 대신에, 광학 디스크(10)가 재생 장치(30)에 탑재되어, NRT 영역의 데이타가 판독되고, 화상 포인터가 얻어질 때, 광학 디스크(10) 상의 클립들 각각의 가운데 위치를 미리 얻을 수 있다.
각 클립의 가운데 위치를 얻는 방법은 본 발명의 이 실시예의 예에 한정되지 않는다.
다음에는, 도 23A 및 23B를 참조해서, 단계 S71 및 단계 72에서 실행되는 프로세스를 좀 더 상세히 설명하기로 한다. 클립들이 디스크 상에 배열된 순서로 재생될 때, 도 23A에 예시된 바와 같이, 마스터 위치에 의해 표현된 클립 #2보다 1 클립만큼 이전의 클립이 광학 디스크 상의 순방향으로 클립 #2에 인접한 클립 #1이다. 목표 재생 프레임 Fprv 는 클립 #1의 마지막 프레임이다(단계 S71). 마스터 위치에 의해 표현된 클립 #2 보다 1 클립만큼 이후의 클립은 디스크 상의 순방향 재생에 있어서 클립 #2에 인접한 클립 #3이다(단계 S72). 목표 재생 프레임 Fadv 는 클립 #3의 상 프레임이다(단계 S72).
클립들이 플레이 리스트에 대응하게 재생될 때, 도 23B에 예시된 바와 같이, 마스터 위치에 의해 표현된 클립 #2 보다 1 클립만큼 이전의 클립은 플레이 리스트 상의 순방향 재생에 있어서 클립 #2 전에 재생되는 클립 #1이다. 클립 #1의 목표 재생 프레임 Fprv 는 플레이 리스트 상의 클립 #1에 지정된 OUT 포인트 TCout #1 에 대응하는 프레임이다(단계 S71). 마스터 위치에 의해 표현된 클립 #2 보다 1 클립만큼 이후의 클립은 플레이 리스트 상의 순방향 재생에 있어서 클립 #2 후에 재생되는 클립 #3이다. 클립 #3의 목표 재생 프레임 Fadv 는 플레이 리스트 상의 클립 #3에 지정된 IN 포인트 TCin #3 에 대응하는 프레임이다(단계 S72). 클립들이 플레이 리스트에 대응하게 재생될 때, 디스크 상의 재생 순서로 클립들을 배열할 필요가 없다.
다음에는, 도 17을 참조해서, 재생 제어 프로세스를 좀 더 상세하게 설명할 것이다. 출력 디코더가 디코더(13A)일 때, 스위치 회로(201)의 선택 입력 단자(201의 (a))는 CPU(14)의 제어하에 선택되었다. 디코더(13B)는 도 21에 도시된 단계 S64에서 설정된 목표 재생 프레임 Fprv 또는 목표 재생 프레임 Fadv 를 기반으로 목표 프레임 버퍼 갱신 패턴을 생성한다. 목표 프레임 버퍼 갱신 패턴의 프레임들은 예정된 식으로 채워질 때까지 디코드되어 프레임 메모리(17의 (b))에 저장된다.
마스터 위치의 클립 정보가 갱신될 때, 마스터 위치에 의해 표현된 프레임이 클립들 간에 이동된다. 이때, 출력 디코더는 단계 S61에서의 프로세스에서 디코더(13B)로서 결정된다. 스위치 회로(201)의 선택 입력 단자(20B)는 CPU(14)의 제어 하에 선택된다.
디코더(13B)에서, 단계 S64에서 설정된 목표 재생 프레임 Fprv 또는 목표 재 생 프레임 Fadv 를 기반으로 생성된 목표 프레임 버퍼 갱신 패턴의 디코드된 프레임은 예정된 식으로 저장된다. 따라서, 스위치 회로(201)가 선택 입력 단자(201의 (a))로부터 선택 입력 단자(201의 (b))로 스위치된 후 바로, 프레임들이 출력될 수 있다. 그 결과, 클립들의 프레임들이 각 프레임의 타이밍에서 연속해서 출력될 수 있다.
또한, 마스터 위치의 클립 정보가 갱신되고 마스터 위치에 의해 표현된 프레임이 클립들 간에 이동된 후 바로, 마스터 위치의 클립 정보가 갱신되기 바로 전에마스터 위치의 클립 정보에 의해 표현된 클립이 목표 재생 클립이다. 목표 프레임 버퍼 갱신 패턴은 목표 재생 클립에 설정되는 예정된 목표 재생 프레임을 기반으로 생성되며, 목표 재생 클립의 프레임들은 디코드된다.
마스터 위치의 클립 정보가 갱신된 후 바로, 목표 프레임 버퍼 갱신 패턴의 디코드된 프레임들은 아직 갱신되지 않은 마스터 위치의 클립 정보에 의해 표현된 클립을 디코드한 디코더의 프레임 버퍼에 저장되었다. 따라서, 마스터 위치의 클립 정보가 갱신된 후 바로, 조그는 프레임들의 드롭없이 순방향 및 역방향으로 1x 재생 속도 이내에 동작될 수 있다.
다른 말로, 본 발명의 이 실시예에 따르면, 마스터 위치에 의해 표현되는 클립 및 프레임은 출력 디코더로서 선택된 디코더에 의해 직접 디코드되는 클립 및 목표 재생 프레임이 된다. 현행 재생 클립에 인접한 클립은 출력 디코더로서 선택되지 않은 다른 디코더에 대한 목표 재생 프레임이 된다. 다른 말로, 카겟 재생 프레임 및 목표 재생 클립은 일반적으로 두 개의 디코더에 제공된다. 이들 디코더는 각 목표 재생 위치에 기반하여 디코드 프로세스를 독립적으로 실행한다. 두 개의 디코더의 출력은 프레임들이 연속해서 재생되도록 마스터 위치를 기반으로 선택된다.
다음에는, 도 24를 참조하여, 본 발명의 이 실시예에 따른 재생 제어 동작을 설명하기로 한다. 이 실시예에 따른 재생 제어 동작은 기본적으로 도 16을 참조로 설명한 것과 동일하다. 다른 말로, 이 실시예에 따르면, 출력 디코더 및 다른 디코더는 병렬로 제어된다.
다른 말로, 도 24에 예시된 바와 같이, 디코더(13A) 및 디코더(13B)의 목표 재생 프레임은 마스터 위치를 기반으로 결정된다(단계 S20' 및 단계 S20"). 디코더(13A) 및 디코더(13B)는 도 16을 참조해서 설명된 바와 같이 제어된다. 디코더(13A) 및 디코더(13B)의 각각은 예를 들어 3 프레임의 기간 내에 1 프레임에 대한 비디오 데이타를 디코드한다. 또한, 마스터 위치를 기반으로 선택된 디코더들 중 하나는 그의 디코드 프로세스에 동기하여 그의 프레임 버퍼로부터 1 프레임에 대한 비디오 데이타를 출력한다.
마스터 위치에 의해 표현된 클립의 프레임들을 디코드하는 출력 디코더(예를 들어, 디코더(13A))에 있어서, 마스터 위치에 의해 표현된 프레임은 제1 프레임에서 목표 재생 프레임으로서 결정된다(단계 S20'). 앞서 설명된 바와 같이, 마스터 위치는 예를 들어 재생 속도 정보를 기반으로 결정된다. 재생 속도 정보는 예를 들어 CPU(14)보다 높은 수준의 시스템 또는 운영부(15)의 동작에 의해서 지정된다.
이후, 도 16을 참조로 설명된 바와 동일한 식으로, 전달되는 화상이 결정되고(단계 S21'), 결정된 화상은 전달되며(단계 S22'), 디코드 정보가 결정되고(단계 S23'), 단계 S22'에서 전달된 화상은 결정된 디코드 정보를 기반으로 디코드된다(단계 S24').
또한, 단계 S20'에서 결정된 목표 재생 프레임을 기반으로, 도 16을 참조로 설명된 바와 동일한 식으로, 출력 비디오 정보가 결정되고(단계 S25') 출력이 설정된다(단계 S26').
예측 재생 화상의 프레임(재생 프레임(rear))(예를 들어, 디코더 13B)을 디코드하는 디코더의 프로세스는 동일한 식으로 실행된다. 목표 재생 프레임은 제1 프레임에서 마스터 위치를 기반으로 결정된다(단계 S20"). 재생 프레임을 디코드하는 디코더에 있어서, 목표 재생 프레임은 단지 도 22를 참조로 설명된 바와 같이 마스터 위치에 의해 표현된 프레임의 현행 위치를 기반으로 결정된다. 이 디코더에서, 목표 속도는 0이다.
이후, 도 16을 참조로 설명된 바와 동일한 식으로 결정된 디코드 정보(단계 S24")를 기반으로, 전달될 화상이 결정되고(단계 S21"), 결정된 화상이 전달되며(단계 S22"), 디코드 정보가 결정되고(단계 S23"), 단계 S22"에서 전달된 화상이 디코드된다. 출력 비디오 정보는 단계 S20"에서 설정된 목표 재생 프레임을 기반으로 결정되며, 출력은 도 16을 참조로 설명된 것과 동일한 식으로 설정된다(단계 S26").
또한, 출력 데이타는 제1 프레임의 타이밍에서 마스터 위치를 기반으로 결정 된다(단계 S80). 출력 데이타는 제2 프레임의 타이밍에서 설정된다(단계 S81). 예를 들어, 단계 S81에서, CPU(14)는 스위치 회로(201)를 제어 한다. 비디오 데이타는 제3 프레임의 타이밍에서 단계 S81에서 설정된 디코더로부터 출력된다(단계 S82).
단계 S20' 내지 단계 S26', 단계 S20" 내지 단계 S26", 및 단계 S80 내지 단계 S82는 각 프레임의 타이밍에서 연속해서 실행된다. 다른 말로, 마스터 위치에 의해 표현된 프레임을 디코드하는 출력 디코더는 단계 S20'에서 제1 프레임의 타이밍에 동기해서 목표 재생 프레임을 결정한다. 출력 디코더는 제2 프레임의 타이밍에 동기하여 새로운 출력 프레임으로서 결정된 목표 재생 프레임에 대응하는 새로운 목표 재생 프레임을 결정한다.
마찬가지로, 목표 재생 클립을 디코드하는 다른 디코더는 단계 S20"에서 제1 프레임의 타이밍에 동기하여 목표 재생 프레임을 디코드한다. 다른 디코더는 제2 프레임의 타이밍에 동기해서 결정된 목표 프레임에 대응하는 새로운 목표 재생 프레임을 결정한다. 이때, 디코드된 프레임이 프레임 버퍼에 일시적으로 저장될 때, 나머지 프로세스는 생략될 수 있다. 구체적으로, 디코드된 프레임이 프레임 버퍼에 저장된 후, 다른 디코더는 계속해서 디코드 프로세스를 실행한다. 이때, 다른 디코더는 캐시 메모리(22)에 저장된 데이타 만으로 디코드 프로세스를 실행할 수 있다. 따라서, 다른 디코더는 광학 디스크(10)로부터 데이타를 판독할 필요없이 디코드 프로세스를 실행할 수 있다.
이전의 실시예들에 있어서, 기록 매체로서 광학 디스크가 이용되고 클립들은 환형 링 구조로 기록된다. 그러나, 본 발명의 실시예들은 그러한 예들에 한정되지 않는다. 다른 말로, 기록 매체 상의 기록 포맷은 그러한 환형 링 구조에 한정되지 않는다. 또한, 기록 매체는 광학 디스크에도 한정되지 않는다. 대신에, 기록 매체는 하드 디스크 또는 반도체 메모리일 수 있다. 또한, 본 발명의 이전의 실시예들은 기록 매체로부터 재생된 데이타에 적용된다. 대신에, 스트림이 안정적으로 제공되는 한, 본 발명의 실시예는 외부 장치로부터 제공된 스트림 데이타를 디코드하는 디코더 디바이스에 적용될 수 있다.
이전의 실시예들에 있어서, 재생 장치(200)는 광학 디스크(10)로부터 비디오 데이타를 재생하는 전용 하드웨어이다. 대신에, 재생 장치(200)는 범용의 컴퓨터 디바이스(도시되어 있지 않음), 예를 들어, 개인용 컴퓨터일 수 있다. 이 경우에, 재생 장치(200)의 기능들은 컴퓨터 디바이스 설치된 프로그램에 의해 성취될 수 있다. 이 경우에, 비디오 데이타에 대한 디코드 프로세스는 CPU로 시행되는 소프트웨어에 의해 성취될 수 있다. 대신에, 디코드 프로세스는 컴퓨터 디바이스에 설치된 전용 하드웨어에 의해 성취될 수 있다.
다양한 수정들, 컴비네이션, 서브컴비네이션 및 변형은 이들이 첨부된 특허청구범위 또는 이들의 균등물의 범위 내에 있는 한 디자인 필요조건 및 다른 팩터에 따라서 이루어질 수 있음은 본 기술 분야에 숙련된 자이면 이해하여야 한다.
본 발명에 따르면, 현재 출력되고 있는 클립에 대해서 프리-디코드되는 클립이 적절하게 지정되기 때문에, 재생 동작이 클립들 간에 실행되어, 그의 출력이 정 지되지 않는다.

Claims (12)

  1. 재생 장치로서,
    시간적으로 연속적인 복수의 프레임으로 구성된 클립의 단위로 관리되는 비디오 데이타를 기록 매체로부터 재생하는 재생부 -각 프레임은 I(인트라-코드된) 화상 데이타, B(양방향) 화상 데이타 및 P(예측 코드된) 화상 데이타 중 하나임- ;
    a) 상기 재생부에 의해 현재 재생된 비디오 데이타에 대한 복수의 프레임을 저장하는 프레임 버퍼의 현재 프레임 패턴의 저장 상태와, 다음 프레임을 디코딩하는데 필요한 복수의 프레임의 출력 프레임 패턴을 지정하는 목표 재생 프레임 버퍼 패턴 -상기 목표 재생 프레임 버퍼 패턴은 목표 재생 프레임과 상기 목표 재생 프레임 전후의 인접 프레임을 포함함- 을 비교하고, b) 상기 비교 결과에 기초하여 상기 프레임 버퍼의 현재 상태에서 하나의 불필요한 프레임을 제거하고, c) 상기 하나의 불필요한 프레임이 제거된 영역에 하나의 새로운 프레임을 새롭게 디코딩하여 저장하는 디코드부; 및
    제1 클립에서 현재 출력되고 있는 프레임 및 재생 순서에 있어서 제1 클립에 인접한 제2 클립의 최초로 출력되는 프레임을 상기 목표 재생 프레임으로 하고, 상기 목표 재생 프레임을 기초로 상기 제2 클립의 프레임을 미리 디코드하여 상기 프레임 버퍼에 저장하도록 상기 디코드부를 제어하는 제어부를 포함하는, 재생 장치.
  2. 제1항에 있어서, 출력을 지정하는 목표 재생 프레임 버퍼 패턴을 생성하는 패턴 생성부를 더 포함하는, 재생 장치.
  3. 제1항에 있어서, 목표 재생 프레임 버퍼 패턴은 적어도 목표 재생 프레임, 재생 방향에 있어서 상기 목표 재생 프레임에 시간적으로 인접한 프레임, 및 상기 목표 재생 프레임으로부터 상기 인접한 프레임으로의 방향으로 적어도 하나의 프레임의 재생을 더 계속하기 위해 필요한 프레임으로 구성되는, 재생 장치.
  4. 제1항에 있어서, 상기 디코드부는 제1 디코드부 및 제2 디코드부로 구성되며,
    상기 제어부는, 상기 제1 클립의 프레임을 목표 재생 프레임으로 하도록 상기 제1 디코드부를 제어하고, 상기 제2 클립의 최초로 출력되는 프레임을 목표 재생 프레임으로 하도록 상기 제2 디코드부를 제어하는, 재생 장치.
  5. 제4항에 있어서, 클립들 사이에서 재생 위치가 이동될 때, 상기 제어부는 상기 제1 디코드부에 의한 처리 및 상기 제2 디코드부에 의한 처리를 서로 전환하도록 상기 제1 및 제2 디코드부를 제어하는, 재생 장치.
  6. 제1항에 있어서, 상기 제어부는, 상기 제1 클립의 재생 시간 길이의 가운데 위치에 대하여 상기 제1 클립에서 현재 디코드되고 있는 위치 측에 재생 순서에 있어서 인접한 클립을, 상기 제2 클립으로 하도록 제어하는, 재생 장치.
  7. 제1항에 있어서, 상기 제1 클립 및 상기 제2 클립의 재생 순서는 기록 매체 상에 상기 제1 클립 및 상기 제2 클립의 배열된 순서를 기반으로 정의되어 있는, 재생 장치.
  8. 제7항에 있어서, 상기 제어부는 상기 제1 클립의 재생 시간 길이의 가운데 위치에 대하여 상기 제1 클립에서 현재 디코드되고 있는 위치 측에 재생 순서에 있어서 인접한 클립을 상기 제2 클립으로 하도록 제어하고, 상기 제2 클립의 상기 제1 클립측에 인접한 재생 순서에 있어서의 마지막 프레임을 상기 목표 재생 프레임으로 하도록 제어하는, 재생 장치.
  9. 제4항에 있어서, 상기 제1 클립 및 상기 제2 클립의 재생 순서는 플레이 리스트를 기반으로 정의되는, 재생 장치.
  10. 제9항에 있어서, 상기 제1 디코드부 또는 상기 제2 디코드부가 상기 제1 클립의 재생 시간 길이 - 이 재생 시간 길이는 플레이 리스트에 IN 포인트 및 OUT 포인트로서 정의된다 - 의 가운데 위치에 대하여 플레이 리스트에 정의된 상기 제1 클립의 IN 포인트 측을 디코드하고 있을 때에는, 상기 제어부는 상기 제2 클립의 OUT 포인트에 대응하는 프레임을 상기 목표 재생 프레임으로 하도록 제어하는, 재생 장치.
  11. 제9항에 있어서, 상기 제1 디코드부 또는 상기 제2 디코드부가 상기 제1 클립의 재생 시간 길이 - 이 재생 시간 길이는 플레이 리스트에 IN 포인트 및 OUT 포인트로서 정의된다 - 의 가운데 위치에 대하여 플레이 리스트에 정의된 상기 제1 클립의 OUT 포인트 측을 디코드하고 있을 때에는, 상기 제어부는 상기 제2 클립의 IN 포인트에 대응하는 프레임을 상기 목표 재생 프레임으로 하도록 제어하는, 재생 장치.
  12. 재생 장치의 재생 방법으로서,
    시간적으로 연속적인 복수의 프레임으로 구성된 클립의 단위로 관리되는 비디오 데이타를 기록 매체로부터 재생하는 단계 -각 프레임은 I(인트라-코드된) 화상 데이타, B(양방향) 화상 데이타 및 P(예측 코드된) 화상 데이타 중 하나임- ;
    상기 재생 단계에서 현재 재생된 비디오 데이타에 대한 복수의 프레임을 저장하는 프레임 버퍼의 현재 프레임 패턴의 저장 상태와, 다음 프레임을 디코딩하는데 필요한 복수의 프레임의 출력 프레임 패턴을 지정하는 목표 재생 프레임 버퍼 패턴 -상기 목표 재생 프레임 버퍼 패턴은 목표 재생 프레임과 상기 목표 재생 프레임 전후의 인접 프레임을 포함함- 을 비교하고, 상기 비교 결과에 기초하여 상기 프레임 버퍼의 현재 상태에서 하나의 불필요한 프레임을 제거하고, 상기 하나의 불필요한 프레임이 제거된 영역에 하나의 새로운 프레임을 새롭게 디코딩하여 저장하는, 디코딩 단계; 및
    제1 클립에서 현재 출력되고 있는 프레임 및 재생 순서에 있어서 상기 제1 클립에 인접한 제2 클립의 최초로 출력되는 프레임을 상기 목표 재생 프레임으로 하고, 상기 목표 재생 프레임을 기초로 상기 제2 클립의 프레임을 미리 디코드하여 상기 프레임 버퍼에 저장하도록 상기 디코딩 단계를 제어하는 단계를 포함하는, 재생 장치의 재생 방법.
KR20070020438A 2006-03-01 2007-02-28 재생 장치 및 재생 방법 KR101302869B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2006-00054713 2006-03-01
JP2006054713A JP4297122B2 (ja) 2006-03-01 2006-03-01 再生装置および再生方法

Publications (2)

Publication Number Publication Date
KR20070090109A KR20070090109A (ko) 2007-09-05
KR101302869B1 true KR101302869B1 (ko) 2013-09-02

Family

ID=38479032

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20070020438A KR101302869B1 (ko) 2006-03-01 2007-02-28 재생 장치 및 재생 방법

Country Status (5)

Country Link
US (1) US8315501B2 (ko)
JP (1) JP4297122B2 (ko)
KR (1) KR101302869B1 (ko)
CN (1) CN101071617B (ko)
TW (1) TWI348869B (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090154568A1 (en) * 2007-12-12 2009-06-18 Realtek Semiconductor Corp. Multimedia decoding apparatus and method
JP5269063B2 (ja) * 2010-12-27 2013-08-21 株式会社東芝 ビデオサーバ及びシームレス再生方法
CN105262957B (zh) * 2015-09-23 2018-10-02 新奥特(北京)视频技术有限公司 视频图像的处理方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000083215A (ja) 1998-09-07 2000-03-21 Matsushita Electric Ind Co Ltd 再生方法及び再生装置
US20010028790A1 (en) * 2000-04-03 2001-10-11 Kohji Numata Method for moving image playback and apparatus therefor
US20030021346A1 (en) * 2001-04-13 2003-01-30 Peter Bixby MPEG dual-channel decoder data and control protocols for real-time video streaming
JP2004112769A (ja) 2002-08-29 2004-04-08 Sony Corp 復号制御装置、および復号制御方法、情報処理装置、および情報処理方法、並びにプログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3713715B2 (ja) 1994-08-12 2005-11-09 ソニー株式会社 ビデオ信号編集装置
JP3248366B2 (ja) 1994-09-05 2002-01-21 ソニー株式会社 データ再生方法およびデータ再生装置
JP3763172B2 (ja) 1996-12-16 2006-04-05 ソニー株式会社 ディジタル信号復号方法及び装置、並びにディジタル信号再生装置
MY124583A (en) * 1997-03-19 2006-06-30 Sony Corp Video data decoding apparatus and method and video signal reproduction apparatus and method
JP3860319B2 (ja) 1998-01-09 2006-12-20 株式会社東芝 画像再生方法及び装置
JP4264777B2 (ja) 1999-05-31 2009-05-20 ソニー株式会社 データ再生方法及びデータ再生装置
JP2002101379A (ja) 2000-09-21 2002-04-05 Sony Corp 記録再生装置および記録再生方法
JP2003009157A (ja) * 2001-06-25 2003-01-10 Mitsubishi Electric Corp 動画像復号処理装置およびフレーム転送装置
FR2849332A1 (fr) 2002-12-20 2004-06-25 St Microelectronics Sa Procede et dispositif et decodage et d'affichage en marche arriere d'images mpeg, circuit pilote video et boitier decodeur incorporant un tel dispositif
JP4605535B2 (ja) 2004-09-27 2011-01-05 豊和工業株式会社 ダイホルダの芯出し装置
JP4375305B2 (ja) 2004-10-26 2009-12-02 ソニー株式会社 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
JP4867235B2 (ja) 2004-10-26 2012-02-01 ソニー株式会社 情報処理装置および情報処理方法、記録媒体、並びに、プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000083215A (ja) 1998-09-07 2000-03-21 Matsushita Electric Ind Co Ltd 再生方法及び再生装置
US20010028790A1 (en) * 2000-04-03 2001-10-11 Kohji Numata Method for moving image playback and apparatus therefor
US20030021346A1 (en) * 2001-04-13 2003-01-30 Peter Bixby MPEG dual-channel decoder data and control protocols for real-time video streaming
JP2004112769A (ja) 2002-08-29 2004-04-08 Sony Corp 復号制御装置、および復号制御方法、情報処理装置、および情報処理方法、並びにプログラム

Also Published As

Publication number Publication date
JP2007235548A (ja) 2007-09-13
US8315501B2 (en) 2012-11-20
KR20070090109A (ko) 2007-09-05
CN101071617A (zh) 2007-11-14
JP4297122B2 (ja) 2009-07-15
CN101071617B (zh) 2012-02-29
US20070212029A1 (en) 2007-09-13
TWI348869B (en) 2011-09-11
TW200737988A (en) 2007-10-01

Similar Documents

Publication Publication Date Title
US7881583B2 (en) Playback apparatus, playback method, and playback program
JP4631747B2 (ja) 再生装置、再生方法および再生プログラム
US8300702B2 (en) Data processing apparatus, data processing method, data processing program, data structure, recording medium, reproducing apparatus, reproducing method, and reproducing program
WO2006027880A1 (ja) 記録装置および方法、再生装置および方法、記録媒体、並びにプログラム
JP2008072336A (ja) 復号装置および復号方法
JP5120981B2 (ja) 特殊再生用のビデオデータの生成方法
JP4517592B2 (ja) 画像処理装置、画像処理方法、画像処理プログラムおよび記録媒体
KR101302869B1 (ko) 재생 장치 및 재생 방법
US8630524B2 (en) Reproduction apparatus and reproduction method controlling determination of a next clip to be reproduced
JP2006073173A (ja) 情報記録再生装置及び方法
JP2001086462A (ja) 動画像記録装置及び動画像再生装置
JP2004140575A (ja) データ処理装置、データ処理方法、および情報記憶媒体、並びにコンピュータ・プログラム
JP2001094933A (ja) 記録装置および方法、並びに記録媒体
JP2007180670A (ja) 再生装置、再生方法および再生プログラム
JP2004350152A (ja) 映像再生装置および映像再生方法
JP2001103424A (ja) 符号化ビットストリーム記録及び/又は再生装置、並びに記録媒体
JPH07193785A (ja) 情報記録再生装置及び記録再生方法
JP3991540B2 (ja) 記録装置および方法、並びに記録媒体
JP4217545B2 (ja) データ処理方法
JP2004140679A (ja) 記録媒体とその再生装置及び記録装置
JP2003046956A (ja) 光ディスク、再生装置および再生方法
JP2003046955A (ja) 記録装置および記録方法
JP2009218675A (ja) 再生装置および再生方法

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee