KR101242447B1 - 프로그램, 복호 장치, 복호 방법, 및 기록 매체 - Google Patents

프로그램, 복호 장치, 복호 방법, 및 기록 매체 Download PDF

Info

Publication number
KR101242447B1
KR101242447B1 KR1020060033992A KR20060033992A KR101242447B1 KR 101242447 B1 KR101242447 B1 KR 101242447B1 KR 1020060033992 A KR1020060033992 A KR 1020060033992A KR 20060033992 A KR20060033992 A KR 20060033992A KR 101242447 B1 KR101242447 B1 KR 101242447B1
Authority
KR
South Korea
Prior art keywords
decoding
picture
processing
reference picture
stream
Prior art date
Application number
KR1020060033992A
Other languages
English (en)
Other versions
KR20060109339A (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 KR20060109339A publication Critical patent/KR20060109339A/ko
Application granted granted Critical
Publication of KR101242447B1 publication Critical patent/KR101242447B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/92Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/781Television signal recording using magnetic recording on disks or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording
    • H04N5/85Television signal recording using optical recording on discs or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/907Television signal recording using static stores, e.g. storage tubes or semiconductor memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

참조 화상을 중복하여 디코드하지 않고 스크러브 재생을 실현시킨다.
디코드 제어부는 재생되는 스트림과 재생 출력하는 프레임(B13 및 B3), 및 재생 속도나 재생 모드 등의 지령을 받고, 인덱스 테이블 및 베이스 밴드 화상 데이터용 메모리에 기억되어 있는 베이스 밴드 화상 데이터의 정보를 기초로, 디코드에 사용하는 디코더와 디코드 순서를 결정하고, 디코드 처리부에 차례로 공급시킨다. 디코더는 공급된 데이터를 I2 픽처로부터 디코드하고, 디코드하여 생성한 베이스 밴드 화상 데이터를 베이스 밴드 화상 데이터용 메모리에 보존시키는 동시에, P5, P8, P11, 및 P14의 디코드 시에, 베이스 밴드 화상 데이터용 메모리에 보존된 베이스 밴드 화상 데이터로부터 참조 화상의 공급을 받고, 그것을 기초로, 디코드를 실행한다. 본 발명은 재생 장치 또는 퍼스널 컴퓨터에 적용할 수 있다.
참조 화상, 디코드, 스트림, 재생 모드, 재생 장치.

Description

프로그램, 복호 장치, 복호 방법, 및 기록 매체{PROGRAM, DECODING DEVICE, DECODING METHOD, AND RECORDING MEDIUM}
도 1은 종래의 재생 장치의 구성을 나타낸 블록도이다.
도 2는 종래의 디코드 처리에 대하여 설명하기 위한 플로차트이다.
도 3은 종래의 재생 장치에 있어서의 스크러브 재생에 대하여 설명하기 위한 도면이다.
도 4는 본 발명을 적용한 재생 장치의 구성을 나타낸 블록도이다.
도 5는 편집 화면에 대하여 설명하기 위한 도면이다.
도 6은 인덱스 테이블에 대하여 설명하기 위한 도면이다.
도 7은 도 4의 재생 장치에 있어서의 스크러브 재생에 대하여 설명하기 위한 도면이다.
도 8은 도 4의 베이스 밴드 메모리 관리부가 관리하는 정보에 대하여 설명하기 위한 도면이다.
도 9는 퍼스널 컴퓨터의 구성을 나타낸 블록도이다.
도 10은 도 9의 퍼스널 컴퓨터에서 실현되는 기능에 대하여 설명하기 위한 기능 블록도이다.
도 11은 디코드 처리 1에 대하여 설명하기 위한 플로차트이다.
도 12는 깊이 정보 산출 처리에 대하여 설명하기 위한 플로차트이다.
도 13은 디코드 처리 2에 대하여 설명하기 위한 플로차트이다.
도 14는 디코드 전환 결정 처리에 대하여 설명하기 위한 플로차트이다.
도 15는 디코드 가능 프레임 수 산출 처리에 대하여 설명하기 위한 플로차트이다.
도 16은 변환 장치의 구성을 나타낸 블록도이다.
도 17은 인덱스 파일에 대하여 설명하기 위한 도면이다.
도 18은 I 픽처의 비트 레이트를 고정으로 하는 경우에 대하여 설명하기 위한 도면이다.
도 19는 I 픽처의 비트 레이트를 변동으로 하는 경우에 대하여 설명하기 위한 도면이다.
도 20은 P 픽처를 랜덤 재생하는 경우에 대하여 설명하기 위한 도면이다.
도 21은 B 픽처를 랜덤 재생하는 경우에 대하여 설명하기 위한 도면이다.
도 22는 도 9의 퍼스널 컴퓨터에서 실현되는 기능에 대하여 설명하기 위한 기능 블록도이다.
도 23은 프록시 파일 생성 처리 1에 대하여 설명하기 위한 플로차트이다.
도 24는 PI 변환 수를 변경한 경우에 대하여 설명하기 위한 도면이다.
도 25는 최소 디코드 수에 대하여 설명하기 위한 도면이다.
도 26은 최소 디코드 수에 대하여 설명하기 위한 도면이다.
도 27은 최소 디코드 수에 대하여 설명하기 위한 도면이다.
도 28은 최소 디코드 수에 대하여 설명하기 위한 도면이다.
도 29는 최소 디코드 수에 대하여 설명하기 위한 도면이다.
도 30은 변환하는 P 픽처의 설정 처리에 대하여 설명하기 위한 플로차트이다.
도 31은 변환하는 P 픽처의 설정에 대하여 설명하기 위한 도면이다.
도 32는 프록시 파일 생성 처리 2에 대하여 설명하기 위한 플로차트이다.
[도면의 주요 부분에 대한 부호의 설명]
21: 조작 입력 취득부 24: 인덱스 관리부
31: 베이스 밴드 화상 데이터용 메모리 32: 베이스 밴드 신호 처리부
61: 재생 장치 71: GUI 표시 제어부
72: 디코드 제어부 73: 베이스 밴드 메모리 관리부
74: 스트림 공급 제어부 75: 참조 화상 지시부
76: 디코드 처리부 77: 베이스 밴드 화상 데이터용 메모리 제어부
121: 스크러브 바 131: 타임 라인
201: 퍼스널 컴퓨터 202: 마우스
203: 키보드 204: 기억 장치
205: 외부 영상 기록 재생 장치 221: CPU
222: ROM 223: RAM
226: HDD 229: 디스플레이
251: GUI 제어부 252: 스트림 공급 제어부
253: 참조 화상 지시부
일본국 특개평 11(1999)-341437호 공보
본 발명은 프로그램, 복호 장치, 복호 방법, 및 기록 매체에 관한 것이며, 특히, 스크러브 재생을 행하는 경우에 사용하기에 바람직한 프로그램, 복호 장치, 복호 방법, 및 기록 매체에 관한 것이다.
MPEG 방식으로 영상 데이터를 인코드(부호화)하는 경우, 압축 데이터를 생성할 뿐만 아니라, 인덱스 데이터 등의 서브 데이터를 생성함으로써, 압축 데이터를 디코드하여 재생할 때, 서브 데이터를 참조하여, 소정의 화면으로부터 재생을 개시하는 특수 재생을 실행할 수 있도록 한 기술이 있다(예를 들면, 일본국 특개평 11(1999)-341437호 공보).
인덱스 데이터를 사용하여, MPEG2 LongGOP 형식으로 인코드되어 있는 스트림 데이터를 디코드할 수 있는 종래의 재생 장치(1)에 대하여, 도 1을 사용하여 설명한다.
조작 입력 취득부(21)는 사용자의 조작 입력을 취득한다. 조작 입력 취득부(21)는 사용자로부터, 디코드 대상 스트림의 선택과, 재생 개시 위치의 지정을 받아 스트림 복호 위치 검출 처리부(22)에 공급한다. 스트림 복호 위치 검출 처리부(22)는 조작 입력 취득부(21)로부터 공급된 디코드 대상 스트림의 선택과, 재생 개시 위치의 지정을 기초로, 재생되는 스트림의 StreamNo.와, 재생 개시 위치의 FrameNo.를 구해 스트림 공급 제어부(23)에 공급한다.
스트림 공급 제어부(23)는 재생되는 스트림의 StreamNo.와, 재생 개시 위치의 FrameNo.를 기초로, 인덱스 관리부(24)에 기억되어 있는 대응하는 스트림의 디코드에 필요한 각종 정보를 취득하고, 지정된 재생 개시 위치의 프레임을 디코드하기 위해 필요한 참조 화상 프레임을 검출한다. 그리고, 스트림 공급 제어부(23)는 스트림 메모리 제어부(25)에, 디코드에 필요한 스트림 데이터를 요구하고, 스트림 메모리 제어부(25)를 통해 스트림용 메모리(26)로부터 공급된 스트림 데이터를 디코더(28)에 공급한다. 또, 스트림 공급 제어부(23)는 출력되는 프레임의 FrameNo.를 후술하는 베이스 밴드 신호 처리부(32)에 공급한다.
스트림 메모리 제어부(25)는 스트림용 메모리(26)의 기억을 제어하는 것이며, 스트림 공급 제어부(23)로부터 요구된 스트림 데이터를 스트림용 메모리(26)로부터 판독하여, 스트림 공급 제어부(23)에 출력한다.
스트림용 메모리(26)는 각각 스트림 데이터를 기억하는 것이며, 스트림 메모리 제어부(25)의 제어에 따라, 소정의 스트림 데이터를 출력한다.
디코더(28)는 그 내부에 메모리 제어부(41)를 가지고, 메모리 제어부(41)에 의해 참조 베이스 밴드 화상용 메모리(29)를 제어하여, 스트림 공급 제어부(23)로부터 공급된 스트림 데이터를 디코드하고, 디코드가 끝난 베이스 밴드 화상 데이터 를 베이스 밴드 화상 데이터용 메모리 제어부(30)에 공급한다.
구체적으로는, 디코더(28)는 공급된 압축 스트림이 프레임 간 참조에 의해 압축되어 있는 압축 스트림인 경우, 후의 디코드에서 필요하게 되는 참조 화상을 메모리 제어부(41)의 처리에 의해 참조 베이스 밴드 화상용 메모리(29)에 유지시킴으로써, 압축 스트림을 디코드한다.
베이스 밴드 화상 데이터용 메모리 제어부(30)는 디코더(28)로부터 공급된, 디코드가 끝난 베이스 밴드 화상 데이터를 베이스 밴드 화상 데이터용 메모리(31)에 공급하고, 베이스 밴드 신호 처리부(32)로부터 요구된 StreamNo.와 FrameNo.에 의해 나타나는 프레임의 베이스 밴드 화상 데이터를 베이스 밴드 화상 데이터용 메모리(31)로부터 판독하여, 베이스 밴드 신호 처리부(32)에 공급한다.
베이스 밴드 신호 처리부(32)는 공급된 베이스 밴드 화상 데이터에 대하여, 예를 들면, 색 보정이나 사이즈 보정, 슬로 재생 시에 있어서의 필드 컨트롤 등, 디코드된 화상이 정확하게 재생 출력되도록 각종 보정을 행하여, 생성된 출력 베이스 밴드 화상 데이터를 출력한다.
다음에, 도 2의 플로차트를 참조하여, 도 1의 재생 장치(1)에서 실행되는 종래의 재생 처리에 대하여 설명한다.
스텝 S1에서, 스트림 복호 위치 검출 처리부(22)는 조작 입력 취득부(21)로부터, 재생 위치의 지정(스트림 No. 프레임 No.) 입력을 받아 스트림 공급 제어부(23)에 공급한다.
스텝 S2에서, 스트림 공급 제어부(23)는 공급된 스트림 No.에 대응하는 인덱 스 테이블을 인덱스 관리부(24)로부터 취득한다.
스텝 S3에서, 스트림 공급 제어부(23)는 인덱스 테이블로부터, 디코드에 필요한 정보인, 예를 들면, 픽처 타입, 참조 화상에 관한 정보, 데이터 길이 등의 정보를 추출한다.
스텝 S4에서, 스트림 공급 제어부(23)는 지정된 프레임 No.의 프레임을 디코드하기 위해 참조 화상으로서 필요한 프레임(디코드하는 프레임으로서 지정되어 있는 프레임이 I 픽처가 아닌 경우에는, 직전의 I 픽처를 포함하는 적어도 1개의 프레임)의 프레임 No.와, 그들을 디코드하기 위한 정보를 취득한다.
스텝 S5에서, 스트림 공급 제어부(23)는 참조 화상 및 디코드되는 화상으로서 필요한 프레임을 스트림 메모리 제어부(25)에 요구한다. 스트림 메모리 제어부(25)는 스트림용 메모리(26)로부터, 참조 화상 및 디코드되는 화상으로서 필요한 프레임을 순방향으로 판독하여, 스트림 공급 제어부(23)에 공급한다.
스텝 S6에서, 스트림 공급 제어부(23)는 공급된 프레임 데이터를 디코더(28)에 공급한다. 디코더(28)는 공급된 데이터를 디코드한다. 구체적으로는, 디코더(28)는 후의 디코드에서 필요하게 되는 참조 화상을 디코드했을 때, 메모리 제어부(41)의 처리에 의해 참조 베이스 밴드 화상용 메모리(29)에 디코드되어 생성된 베이스 밴드 화상 데이터를 유지시키고, 이것을 참조 화상으로서 사용함으로써, 압축 스트림을 디코드한다. 이 때, 디코더(28)는 필요가 없는 B 프레임의 공급을 받았을 때(공급된 B 픽처의 디코드를 행하지 않고, 필요하게 되어 있는 프레임의 디코드가 가능하면), B 픽처의 디코드를 스킵한다.
그리고, 스텝 S7에서, 디코더(28)는 디코드된 베이스 밴드 화상 데이터를 베이스 밴드 화상 데이터용 메모리 제어부(30)에 공급한다. 베이스 밴드 화상 데이터용 메모리 제어부(30)는 디코더(28)로부터 공급된 디코드가 끝난 베이스 밴드 화상 데이터를 베이스 밴드 화상 데이터용 메모리(31)에 공급하고, 베이스 밴드 신호 처리부(32)로부터 요구된 StreamNo.와 FrameNo.에 의해 나타나는 프레임의 베이스 밴드 화상 데이터를 베이스 밴드 화상 데이터용 메모리(31)로부터 판독하여, 베이스 밴드 신호 처리부(32)에 공급한다. 베이스 밴드 신호 처리부(32)는 공급된 베이스 밴드 화상 데이터에 대하여, 예를 들면, 색 보정이나 사이즈 보정, 슬로 재생 시에 있어서의 필드 컨트롤 등, 디코드된 화상이 정확하게 재생 출력되도록 각종 보정을 행하여, 생성된 출력 베이스 밴드 화상 데이터를 출력한다.
도 3을 사용하여, 도 1 및 도 2를 사용하여 설명한 재생 장치(1)에서 B13 프레임과 B3 프레임을 차례로 출력하는 경우를 예로 하여, 사용자가 지정한 원하는 프레임을 재생하는 스크러브 재생(랜덤 재생이라고도 함)에 대하여 설명한다.
스트림 복호 위치 검출 처리부(22)는 조작 입력 취득부(21)로부터, 디코드 대상 스트림의 스트림 No.와, 재생 출력하는 프레임으로서 지정된 B13 및 B3 프레임 No.의 입력을 받아 스트림 공급 제어부(23)에 공급한다.
스트림 공급 제어부(23)는 먼저 1매째에 출력하는 B13을 디코드하기 위해 참조 화상으로서 필요한 프레임인 I2, P5, P8, P11, 및 P14와, 재생 출력되는 프레임인 B13을 포함하는 시간 순서의 스트림을 스트림 메모리 제어부(25)에 요구하여, 디코더(28)에 공급한다.
디코더(28)는 공급된 데이터를 차례로 디코드(B 픽처의 디코드는 필요에 따라, 스킵할 수 있음)하고, 메모리 제어부(41)의 처리에 의해 참조 베이스 밴드 화상용 메모리(29)에 P11과 P14를 세트하고, 이들을 참조 화상으로 하여 B13을 디코드한다. 디코더(28)는 디코드된 B13에 대응하는 베이스 밴드 화상 데이터를 베이스 밴드 화상 데이터용 메모리 제어부(30)에 공급하여, 베이스 밴드 화상 데이터용 메모리(31)에 보존시킨다(메모리 카피). 그리고, 베이스 밴드 신호 처리부(32)에서 각종 보정이 행해져(베이스 밴드 처리) 출력 베이스 밴드 화상 데이터가 출력된다.
그리고, 스트림 공급 제어부(23)는 다음에, 2매째에 출력하는 B3을 디코드하기 위해 참조 화상으로서 필요한 프레임인 I2, 및 P5와, 재생 출력되는 프레임인 B3을 스트림 메모리 제어부(25)에 요구하여, 이들을 포함하는 시간 순서의 스트림을 디코더(28)에 공급한다.
디코더(28)는 공급된 데이터를 차례로 디코드하고, 메모리 제어부(41)의 처리에 의해 참조 베이스 밴드 화상용 메모리(29)에 I2와 P5를 세트하고, 이들을 참조 화상으로 하여 B3을 디코드한다. 디코더(28)는 디코드된 B3에 대응하는 베이스 밴드 화상 데이터를 베이스 밴드 화상 데이터용 메모리 제어부(30)에 공급하여, 베이스 밴드 화상 데이터용 메모리(31)에 보존시킨다(메모리 카피). 그리고, 베이스 밴드 신호 처리부(32)에서 각종 보정이 행해져(베이스 밴드 처리) 출력 베이스 밴드 화상 데이터가 출력된다.
이와 같은 처리에 의해, 종래의 재생 장치(1)에서, 스크러브 재생이 행해졌 다.
도 1을 사용하여 설명한 재생 장치(1)에서는, 디코더(28)에 압축 스트림이 시간 순서로 공급되어 디코드가 행해지고, 디코드되어 생성된 베이스 밴드 화상 데이터가 출력되도록 되어 있다. 디코더(28)는 공급된 압축 스트림이 프레임 간 참조에 의해 압축되어 있는 압축 스트림인 경우, 후의 디코드에서 필요하게 되는 참조 화상을 메모리 제어부(41)의 처리에 의해 참조 베이스 밴드 화상용 메모리(29)에 유지시킴으로써, 압축 스트림을 디코드한다.
구체적으로는, 디코더(28)는 공급되는 압축 스트림이 MPEG2 LongGOP 형식으로 인코드되어 있는 경우, I 픽처를 디코드하여 참조 베이스 밴드 화상용 메모리(29)에 유지시키고, 이 I 픽처를 참조하여 P 픽처를 디코드하고 참조 베이스 밴드 화상용 메모리(29)에 유지시키며, 유지되고 있는 I 픽처 또는 P 픽처를 참조하여 B 픽처를 디코드한다. 또, 참조 베이스 밴드 화상용 메모리(29)에 유지되고 있는 참조 화상 데이터는 참조되는 프레임의 디코드가 종료된 후, 파기된다.
즉, 참조 베이스 밴드 화상용 메모리(29)는 디코더(28)의 메모리 제어부(41)에 의해 제어되고, 디코더(28)의 디코드 처리에서, 프레임 간 참조가 행해지고 있는 압축 데이터를 디코드하는 경우의 참조 화상 데이터를 일시 기억하기 위해서만 이용되고 있다.
이와 같은 방식에서는, 시간적으로 랜덤 화상의 디코드를 고속으로 행하는 것은 곤란했다. 예를 들면, 어느 프레임인가 전에 디코드한 화상을 참조 화상으로 서 사용하고 싶은 경우라도, 디코더(28)에 의해 참조 가능한 참조 베이스 밴드 화상용 메모리(29)에 남아 있지 않으면, 재차, 디코더(28)에 참조 화상으로서 필요한 베이스 밴드 화상 프레임을 공급하여 디코드시키고, 참조 베이스 밴드 화상용 메모리(29)에 세트시킬 필요가 있었다. 그리고, 그 후, 재생 출력되는 베이스 밴드 화상 프레임을 디코더(28)에 의해 디코드시킬 수 있으므로, 시간적으로 랜덤 화상의 디코드를 고속으로 행하는 것은 곤란했다.
따라서, 종래의 디코드 방법에서는, 스크러브 재생(랜덤 재생)의 지령에 대하여, 재생 출력을 고속으로 추종시키는 것이 곤란했다. 또, 랜덤 위치의 프레임 재생을 고속으로 행하는 것이 곤란하다고 하는 것은, 예를 들면, 코마 이송에 있어서, 조작량(예를 들면, 조작 입력 디바이스가 다이얼의 경우, 다이얼의 회전량 등)에 비례한 프레임 수를 이동시키는 조그 재생, 서치에서, 조작량에 비례한 속도로 재생이 행해지는 셔틀 재생 등 외에, 역재생, 일시 정지, 코마 이송, 코마 복귀 등의 각종 재생, 가변속 재생 또는 역재생 등의 트릭 재생 등 다양한 재생 처리의 지령에 대하여, 재생 출력을 고속으로 추종시키는 것이 곤란하다고 하는 것이다.
본 발명은 이와 같은 상황을 감안하여 이루어진 것이며, 스크러브 재생(랜덤 재생)의 지령에 대하여, 재생 출력을 고속으로 추종시킬 수 있도록 하는 것이다.
본 발명의 일측면의 프로그램은 부호화 스트림의 재생 상태를 나타내는 재생 정보의 입력을 받는 재생 정보 입력 스텝과, 재생 정보 입력 스텝의 처리에 의해 입력된 재생 정보를 기초로, 부호화 스트림의 대상 픽처를 복호 처리하는 데 필요 한 참조 픽처를 나타내는 참조 픽처 정보를 취득하는 참조 픽처 정보 취득 스텝과, 참조 픽처 정보 취득 스텝의 처리에 의해 취득된 참조 픽처 정보에 따라, 참조 픽처가 소정의 기억 영역에 기억되어 있는지를 판정하는 판정 스텝과, 판정 스텝의 처리에 의해, 참조 픽처가 기억 영역에 기억되어 있지 않다고 판정된 경우, 부호화 스트림으로부터 기억 영역에 기억되어 있지 않은 참조 픽처를 취득하여 복호 처리하고, 기억 영역으로의 기억을 제어하는 참조 픽처 복호 스텝과, 기억 영역에 기억되어 있는 참조 픽처를 이용하여, 부호화 스트림의 대상 픽처를 복호 처리함으로써 화상 데이터를 생성하고, 기억 영역으로의 기록을 제어하는 복호 스텝을 포함하는 처리를 컴퓨터에 실행시킨다.
참조 픽처 복호 스텝 및 복호 스텝의 처리에서는, 복수개의 복호 방법으로 복호 처리가 실행되고, 재생 정보 입력 스텝의 처리에 의해 입력된 재생 정보를 기초로, 부호화 스트림의 복호 순서 및 복호 방법을 결정하는 제1 결정 스텝을 추가로 포함시키도록 할 수 있고, 참조 픽처 복호 스텝 및 복호 스텝의 처리에서는, 제1 결정 스텝의 처리에 의해 결정된 복호 순서 및 복호 방법에 따라, 복호 처리가 실행된다.
판정 스텝의 처리에서는, 제1 결정 스텝의 처리에 의해 결정된 복호 방법에서 복호된 참조 픽처가 기억 영역에 기억되어 있는지 여부가 판정되는 것으로 할 수 있다.
참조 픽처 복호 스텝 및 복호 스텝의 처리에서는, 제1 결정 스텝의 처리에 의한 결정에 따라, 해상도가 상이한 복수개의 복호 처리 중 어느 하나가 실행 가능 한 것으로 할 수 있다.
참조 픽처 복호 스텝 및 복호 스텝의 처리에서는, 제1 결정 스텝의 처리에 의한 결정에 따라, 복수개의 부호화 방식에 대응하는 복호 처리 중 어느 하나가 실행 가능한 것으로 할 수 있다.
부호화 스트림에는, I 픽처, P 픽처, 및 B 픽처가 포함되어 있는 것으로 할 수 있고, 복호 스텝의 처리에서는, 부호화 스트림의 대상 픽처가 B 픽처인 경우, 대상 픽처에 대하여 시간적으로 근방에 존재하는 I 픽처, 또는 P 픽처를 복호시키도록 할 수 있다.
부호화 스트림에는, 프레임 내 부호화된 픽처, 및 프레임 간 예측 부호화된 픽처가 포함되어 있는 것으로 할 수 있고, 복호 스텝의 처리에서는, 부호화 스트림의 대상 픽처가 프레임 간 예측 부호화된 픽처인 경우, 대상 픽처에 대하여 시간적으로 근방에 존재하는 프레임 내 부호화된 픽처를 복호시키도록 할 수 있다.
참조 픽처 정보에 포함되는 과거 측의 참조 프레임 수, 및 1 프레임에 대응하는 화상의 표시 내에 복호 처리를 실행하는 것이 가능한 프레임 수를 기초로, 부호화 스트림의 복호 방법을 결정하는 제2 결정 스텝을 추가로 포함시키도록 할 수 있다.
1 프레임에 대응하는 화상의 표시 시간 내에 복호 처리를 실행하는 것이 가능한 프레임 수를 산출하는 산출 스텝을 추가로 포함시키도록 할 수 있다.
참조 픽처 정보에 포함되는 과거 측의 참조 프레임 수를 산출하는 산출 스텝을 추가로 포함시키도록 할 수 있다.
본 발명의 일측면의 복호 장치는 부호화 스트림의 재생 상태를 나타내는 재생 정보의 입력을 받는 재생 정보 입력 수단과, 부호화 스트림의 대상 픽처를 복호 처리하기 위해 필요한 참조 픽처를 나타내는 참조 픽처 정보를 관리하는 참조 픽처 정보 관리 수단과, 부호화 스트림을 복호 처리하여 화상 데이터를 생성하는 복호 수단과, 복호 수단에 의해 생성된 화상 데이터를 기억하는 기억 수단과, 기억 수단에 의해 기억된 화상 데이터의 기억 상태를 관리하는 기억 관리 수단과, 참조 픽처 정보 관리 수단에 의해 관리된 참조 픽처 정보, 및 기억 관리 수단에 의해 관리되는 기억 상태를 참조함으로써, 복호 수단에 의한 복호 처리를 제어하는 복호 제어 수단을 구비하고, 복호 수단은 기억 수단에 의해 기억되어 있는 화상 데이터 중 어느 하나를 참조 픽처로서 부호화 스트림을 복호 처리하고, 복호된 대상 픽처를 기억 수단에 공급하여 기억시킨다.
본 발명의 일측면의 복호 방법은 부호화 스트림의 재생 상태를 나타내는 재생 정보의 입력을 받는 재생 정보 입력 스텝과, 재생 정보 입력 스텝의 처리에 의해 입력된 재생 정보를 기초로, 부호화 스트림의 대상 픽처를 복호 처리하는 데 필요한 참조 픽처를 나타내는 참조 픽처 정보를 취득하는 참조 픽처 정보 취득 스텝과, 참조 픽처 정보 취득 스텝의 처리에 의해 취득된 참조 픽처 정보에 따라, 참조 픽처가 기억 영역에 기억되어 있는지를 판정하는 판정 스텝과, 판정 스텝의 처리에 의해, 참조 픽처가 기억 영역에 기억되어 있지 않다고 판정된 경우, 부호화 스트림으로부터 기억 영역에 기억되어 있지 않은 참조 픽처를 취득하여 복호 처리하고, 기억 영역으로의 기억을 제어하는 참조 픽처 복호 스텝과, 기억 영역에 기억되어 있는 참조 픽처를 이용하여, 부호화 스트림의 대상 픽처를 복호 처리함으로써 화상 데이터를 생성하여, 기억 영역으로의 기록을 제어하는 복호 스텝을 포함한다.
본 발명의 일측면에서는, 부호화 스트림의 재생 상태를 나타내는 재생 정보의 입력을 받고, 재생 정보를 기초로, 대상 픽처의 복호에 필요한 참조 픽처를 나타내는 참조 픽처 정보가 취득되고, 참조 픽처가 소정의 기억 영역에 기억되어 있는지 여부의 판정을 기초로, 필요에 따라, 부호화 스트림으로부터 참조 픽처에 대응하는 부호화된 픽처가 취득되어 복호되고, 생성된 참조 픽처가 소정의 기억 영역에 기억되는 동시에, 소정의 기억 영역에 기억되어 있는 참조 픽처를 기초로, 대상 픽처가 복호되어 소정의 기억 영역에 기록된다.
본 발명의 일측면에 의하면, 스트림 화상 데이터가 복호되고, 특히, 참조 프레임과 복호 후의 재생 출력되는 프레임이 동일한 기억 영역에 기억되므로, 고속으로 스크러브 재생을 행하는 것이 가능하게 된다.
이하에 본 발명의 실시예를 설명하지만, 본 발명의 구성 요건과, 명세서 또는 도면에 기재된 실시예와의 대응 관계를 예시하면, 다음과 같이 된다. 이 기재는 본 발명을 서포트하는 실시예가 명세서 또는 도면에 기재되어 있는 것을 확인하기 위한 것이다. 따라서, 명세서 또는 도면 중에는, 기재되어 있지만, 본 발명의 구성 요건에 대응하는 실시예로서, 여기에는, 기재되어 있지 않은 실시예가 있다고 해도, 그 것은 그 실시예가 그 구성 요건에 대응하는 것이 아닌 것을 의미하는 것은 아니다. 역으로, 실시예가 구성 요건에 대응하는 것으로서 여기에 기재되어 있다고 해도, 그 것은 그 실시예가 그 구성 요건 이외의 구성 요건에는 대응하지 않 는 것인 것을 의미하는 것도 아니다.
본 발명의 일측면의 프로그램 또는 복호 방법은 부호화 스트림의 재생 상태를 나타내는 재생 정보(예를 들면, 재생되는 프레임의 지정이나, 재생 속도 또는 재생 모드)의 입력을 받는 재생 정보 입력 스텝(예를 들면, 도 11의 스텝 S41의 처리)과, 재생 정보 입력 스텝의 처리에 의해 입력된 재생 정보를 기초로, 부호화 스트림의 대상 픽처를 복호 처리하는 데 필요한 참조 픽처를 나타내는 참조 픽처 정보를 취득하는 참조 픽처 정보 취득 스텝(예를 들면, 도 11의 스텝 S46의 처리)과, 참조 픽처 정보 취득 스텝의 처리에 의해 취득된 참조 픽처 정보에 따라, 참조 픽처가 소정의 기억 영역(예를 들면, 도 10의 RAM(223)의 베이스 밴드 화상 데이터용 메모리(223))에 기억되어 있는지를 판정하는 판정 스텝(예를 들면, 도 11의 스텝 S47의 처리)과, 판정 스텝의 처리에 의해, 참조 픽처가 기억 영역에 기억되어 있지 않다고 판정된 경우, 부호화 스트림으로부터 기억 영역에 기억되어 있지 않은 참조 픽처를 취득하여 복호 처리하고, 기억 영역으로의 기억을 제어하는 참조 픽처 복호 스텝(예를 들면, 도 11의 스텝 S48의 처리)과, 기억 영역에 기억되어 있는 참조 픽처를 이용하여, 부호화 스트림의 대상 픽처를 복호 처리함으로써 화상 데이터를 생성하고, 기억 영역으로의 기록을 제어하는 복호 스텝(예를 들면, 도 11의 스텝 S49의 처리)을 포함하는 처리를 컴퓨터에 실행시킨다.
참조 픽처 복호 스텝 및 복호 스텝의 처리에서는, 복수개의 복호 방법으로 복호 처리를 실행할 수 있고, 재생 정보 입력 스텝의 처리에 의해 입력된 재생 정보를 기초로, 부호화 스트림의 복호 순서 및 복호 방법을 결정하는 제1 결정 스텝 (예를 들면, 도 11의 스텝 S44의 처리)을 추가로 포함시킬 수 있고, 참조 픽처 복호 스텝 및 복호 스텝의 처리에서는, 제1 결정 스텝의 처리에 의해 결정된 복호 순서 및 복호 방법에 따라, 복호 처리를 실행할 수 있다.
참조 픽처 복호 스텝 및 복호 스텝의 처리에서는, 제1 결정 스텝의 처리에 의한 결정에 따라, 복수개의 부호화 방식에 대응하는 복호 처리(예를 들면, 소정의 픽처 타입 전용의 복호 처리나 MPEG 이외의 복호 처리) 중 어느 하나가 실행 가능한 것으로 할 수 있다.
부호화 스트림에는, 프레임 내 부호화된 픽처(예를 들면, I 픽처), 및 프레임 간 예측 부호화된 픽처(예를 들면, P 픽처 또는 B 픽처)가 포함되어 있는 것으로 할 수 있고, 복호 스텝의 처리에서는, 부호화 스트림의 대상 픽처가 프레임 간 예측 부호화된 픽처인 경우, 대상 픽처에 대하여 시간적으로 근방에 존재하는 프레임 내 부호화된 픽처를 복호할 수 있다.
참조 픽처 정보에 포함되는 과거 측의 참조 프레임 수(예를 들면, 깊이 정보에 대응하는 값), 및 1 프레임에 대응하는 화상의 표시 내에 복호 처리를 실행하는 것이 가능한 프레임 수(예를 들면, 디코드 가능 프레임 수)를 기초로, 부호화 스트림의 복호 방법을 결정하는 제2 결정 스텝(예를 들면, 도 13의 스텝 S127의 처리, 즉, 도 14에 나타내는 처리)을 추가로 포함시킬 수 있다.
1 프레임에 대응하는 화상의 표시 시간 내에 복호 처리를 실행하는 것이 가능한 프레임 수(예를 들면, 디코드 가능 프레임 수)를 산출하는 산출 스텝(예를 들면, 도 14의 스텝 S164의 처리)을 추가로 포함시킬 수 있다.
참조 픽처 정보에 포함되는 과거 측의 참조 프레임 수(예를 들면, 깊이 정보에 대응하는 값)를 산출하는 산출 스텝(예를 들면, 도 12를 사용하여 설명한 처리)을 추가로 포함시킬 수 있다.
본 발명의 일측면의 복호 장치(예를 들면, 도 4의 재생 장치 또는 도 9의 퍼스널 컴퓨터(201))는 부호화 스트림의 재생 상태를 나타내는 재생 정보(예를 들면, 재생되는 프레임의 지정이나, 재생 속도 또는 재생 모드)의 입력을 받는 재생 정보 입력 수단(예를 들면, 도 4의 조작 입력 취득부(21))과, 부호화 스트림의 대상 픽처를 복호 처리하기 위해 필요한 참조 픽처를 나타내는 참조 픽처 정보를 관리하는 참조 픽처 정보 관리 수단(예를 들면, 도 4의 인덱스 관리부(24))과, 부호화 스트림을 복호 처리하여 화상 데이터를 생성하는 복호 수단(예를 들면, 도 4의 디코드 처리부(76))과, 복호 수단에 의해 생성된 화상 데이터를 기억하는 기억 수단(예를 들면, 도 4의 베이스 밴드 화상 데이터용 메모리(31))과, 기억 수단에 의해 기억된 화상 데이터의 기억 상태를 관리하는 기억 관리 수단(예를 들면, 도 4의 베이스 밴드 메모리 관리부(73))과, 참조 픽처 정보 관리 수단에 의해 관리된 참조 픽처 정보, 및 기억 관리 수단에 의해 관리되는 기억 상태를 참조함으로써, 복호 수단에 의한 복호 처리를 제어하는 복호 제어 수단(예를 들면, 도 4의 디코드 제어부(72))을 구비하고, 복호 수단은 기억 수단에 의해 기억되어 있는 화상 데이터 중 어느 하나를 참조 픽처로서 부호화 스트림을 복호 처리하고, 복호된 대상 픽처를 기억 수단에 공급하여 기억시킨다.
이하, 도면을 참조하여, 본 발명의 실시예에 대하여 설명한다.
도 4는 본 발명을 적용한 재생 장치(61)의 구성예를 나타내는 블록도이다.
그리고, 종래의 경우와 대응하는 부분에는, 동일한 부호를 부여하고 있어, 그 설명은 적당히 생략한다.
즉, 도 4의 재생 장치(61)는 스트림 공급 제어부(23)에 대신하여, 스트림 공급 제어부(74)가 형성되고, 디코더(28)에 대신하여, 디코드 처리부(76)가 형성되고, 베이스 밴드 화상 데이터용 메모리 제어부(30)에 대신하여, 베이스 밴드 화상 데이터용 메모리 제어부(77)가 형성되고, 참조 베이스 밴드 화상용 메모리(29)가 생략되고, 새로이, GUI 표시 제어부(71), 디코드 제어부(72), 베이스 밴드 메모리 관리부(73), 및 참조 화상 지시부(75)가 형성되어 있는 이외는 도 1을 사용하여 설명한 재생 장치(1)와 기본적으로 동일한 구성을 가지고 있다.
GUI 표시 제어부(71)는 사용자에게 조작 입력을 촉구하기 위한 GUI(Graphical User Interface)를 제공하거나, 처리 결과를 표시 출력하기 위한 화면의 표시를 제어하는 것이며, 예를 들면, 도 5에 나타낸 바와 같은 편집 화면의 표시를 제어한다.
도 5에 나타내는 편집 화면(101)은, 예를 들면, 복수개의 스트림 데이터를 랜덤으로 재생시켜 원하는 편집점을 검출하고, 원하는 편집점에서, 상이한 스트림 데이터를 접속시키는 등의 편집 처리를 실행하기 위한, 각종 GUI를 제공하는 것이다.
예를 들면, 사용자에 의해 선택된 스트림 데이터는 디코드 처리부(76)에서 디코드(복호)되어, 베이스 밴드 화상 데이터용 메모리 제어부(77)를 통해, 베이스 밴드 화상 데이터용 메모리(31)에 기억되고, 베이스 밴드 신호 처리부(32)에서 소정의 처리가 행해진 후, GUI 표시 제어부(71)의 처리에 의해, 재생 윈도(111)에서 표시된다. 즉, 베이스 밴드 신호 처리부(32)에서 처리된 재생용 출력 베이스 밴드 화상 데이터가 GUI 표시 제어부(71)에 공급되고, GUI 표시 제어부(71)로부터 표시가 제어되어 있는 편집 화면(101)의 재생 윈도(111)에 표시된다.
스트림 데이터의 재생 위치는 사용자의 조작 입력에 따라, 재생 윈도(111)의 하부에 설치되어 있는 스크러브 바(121)의 포인터(122) 위치가 이동됨으로써 설정된다. 또, 타임 라인 윈도(112)에도, 예를 들면, 비디오 스트림이나 오디오 스트림 중 시간축에서의 재생 위치를 사용자에게 통지하거나, 사용자가 재생 위치를 지령하는 것이 가능하도록 되어 있는 타임 라인(131)이 설치되어 있고, 사용자의 조작 입력에 따라, 타임 라인(131)의 포인터(132) 위치가 이동됨으로써, 재생 위치를 설정할 수 있도록 되어 있다.
조작 입력 취득부(21)는 도 5를 사용하여 설명한 편집 화면(101)을 참조한 사용자에 의한 조작 입력을 취득한다. 조작 입력 취득부(21)는 사용자로부터, 디코드 대상 스트림의 선택과, 재생 개시 위치의 지정, 즉, 스크러브 바(121)의 포인터(122), 또는 타임 라인(131)의 포인터(132) 조작을 받는 동시에, 재생 모드나 재생 속도 등의 지령을 받아 스트림 복호 위치 검출 처리부(22)에 공급한다. 스트림 복호 위치 검출 처리부(22)는 조작 입력 취득부(21)로부터 공급된 디코드 대상 스트림의 선택과, 재생 개시 위치의 지정을 기초로, 재생되는 스트림의 StreamNo.와, 재생 개시 위치의 FrameNo.를 구해, 재생 속도 등의 지령과 함께, 디코드 제어 부(72)에 공급한다.
재생 모드에는, 예를 들면, 소정 재생 위치로부터의 통상 재생, 빨리 감기, 빨리 되감기, 정역 방향의 코마 이송, 정지 화상의 표시 등이 있어, 빨리 감기나 빨리 되감기 등의 스피드나, 코마 이송의 코마 간격 등도 각각 설정 가능하도록 되어 있다.
디코드 제어부(72)는 스트림 복호 위치 검출 처리부(22)로부터 공급된, 재생되는 스트림의 StreamNo.와 재생 개시 위치의 FrameNo., 및 재생 속도나 재생 모드 등의 지령 내용을 기초로, 인덱스 관리부(24)에 기억되어 있는 대응하는 스트림의 디코드에 필요한 각종 정보가 기재되어 있는 인덱스 테이블(도 6)을 취득하고, 또한 베이스 밴드 메모리 관리부(73)에 의해 관리되고 있는, 베이스 밴드 화상 데이터용 메모리(31)에 기억되어 있는 베이스 밴드 화상 데이터의 정보를 취득한다. 그리고, 디코드 제어부(72)는 이들 정보를 기초로, 디코드에 사용하는 디코더와 디코드 순서를 결정한다.
인덱스 관리부(24)에 기억되어 있는 인덱스 테이블의 일례를 도 6에 나타낸다.
도 6에 나타내는 인덱스 테이블에는, 디스플레이 오더(Display Order)에 있어서의 픽처의 배열 순서와, 스트림 오더(Stream Order)에 있어서의 픽처의 배열 순서, 그리고, 디스플레이 오더로부터 스트림 오더에 픽처의 배열을 변환시키기 위한 픽처의 변위량(Temporal Offset)이 기재되어 있다. 또, 인덱스 테이블에는, 스트림 오더에 있어서의 시퀀스 헤더(Sequence Header)의 위치를 나타내는 정보가, 도면 중에는 시퀀스 헤더 있음을 1, 없음을 0으로 하여 기재되고, 전(前)방향 또는 후(後)방향으로의 참조 화상의 유무를 나타내는 정보(Forward/Backward Prediction(Picture Type))가 기재되어 있다.
그리고, 전방향 또는 후방향으로의 참조 화상의 유무를 나타내는 정보는, 이 예에서는, 공급되는 비트 스트림이 OpenGOP 형식인 것으로 하고, 전방향 예측 부호화 프레임(즉, P 픽처)을 「10」, 양방향 예측 부호화 프레임(즉, B 픽처)을 「11」, 그리고, 프레임 내 부호화 프레임(즉, I 픽처)을 「00」으로 하여 기재되는 것으로 한다. 그리고, 공급되는 비트 스트림이 ClosedGOP 형식인 경우, 프레임 내 부호화 데이터(즉, I 픽처)에 계속되는 2매의 B 픽처는 후방향만을 참조하므로, 「01」이 기재되는 것으로 한다.
그리고, 인덱스 테이블에는, 각각의 픽처의 픽처 사이즈(Picture Size)와, 픽처의 스트림 내 또는 기록 영역 내에서의 어드레스(Address)가 기재되어 있다. 또, 인덱스 테이블에는, 그 픽처와 키 프레임이 되는 픽처(여기에서는, 프레임 내 부호화 처리가 행해지고 있는 I 픽처)와의 거리를 나타내는 정보(Key Frame Offset(decimal))나, 디코더의 가상 입력 버퍼의 축적량을 90KHz 클록의 시간으로 나타내는 VbvDelay(VBV: Video buffer verifier)가 기재되어 있다. 또한, 인덱스 테이블에는, 그 픽처를 디코드하기 위해 필요하게 되는 전방향 화상 중, 가장 재생 프레임으로부터 먼 프레임 간의 프레임 수 (깊이)를 나타내는 깊이 정보(Depth of Past Frames for Decoding)가 기재되어 있다.
즉, 디코드 제어부(72)는 인덱스 테이블을 기초로, 지정된 재생 개시 위치의 프레임을 디코드하기 위해 필요한 I 프레임(키 프레임)의 위치와, 스트림용 메모리(26)에 기억되어 있는 스트림의 어드레스나 픽처 사이즈 등을 검색한다. 또, 디코드 제어부(72)는 사용자에 의해 지령된 재생 속도 등의 정보를 기초로, 디코드에 필요한 품질을 결정한다.
구체적으로는, 디코드 제어부(72)는, 예를 들면, 재생 장치(61) 내의 각 부의 처리 속도나, 취급하는 스트림의 데이터 레이트 등에 따라, 최종적으로 출력되는 표시 프레임의 표시 품질이나 표시 코마 수 등을 유지하기 위해, 디코드 순서를 이하의(1) 내지 (3)에 나타내는 어느 하나의 방법으로 제어한다.
(1) 레이턴시(Latency: 대기 시간)이 최단이 되게 재생되도록 지시된 프레임을 차례로 디코드한다. (2) 재생되도록 지시된 프레임의 픽처 타입이 B 픽처의 경우에는, 근방의 I 픽처 또는 P 픽처를 디코드하여 출력한다. (3) 재생되도록 지시된 프레임 근방의 I 픽처만을 디코드 출력한다.
구체적으로는, 디코드 제어부(72)는, 예를 들면, (1)의 방법에 따라, 디코드 순서를 제어할 수 있는 경우에는, (1)에 나타나는 방법을 취하는 것으로 하여, 어느 정도 고속의 빨리 감기 또는 되감기 등이 지령되어 있고, (1)에 나타나는 방법에서는, 최종적으로 출력되는 표시 프레임의 표시 코마 수를 확보할 수 없는 경우, (2)에 나타나는 방법으로, 디코드 순서를 제어하는 것으로 하고, (2)에 나타나는 방법에서도, 최종적으로 출력되는 표시 프레임의 표시 코마 수를 확보할 수 없는 경우, (3)에 나타나는 방법으로, 디코드 순서를 제어하는 것으로 하면 된다.
또, 디코드 제어부(72)는 지령되어 있는 재생 모드나, 재생 장치(61) 내의 각 부의 처리 속도, 및 취급하는 스트림의 데이터 레이트 등에 따라, 최종적으로 출력되는 표시 프레임의 표시 품질이나 표시 코마 수 등을 유지하기 위해, 디코드 처리부(76)에 포함되는 복수개의 디코드 중 가장 적합한 디코더를 디코드 처리를 실행하는 디코더로서 선택할 수 있다.
구체적으로는, 디코드 제어부(72)는, 예를 들면, 전술한 (1)의 방법에 따라, 디코드 순서를 제어하는 경우, 표시 속도가 일정 이상으로 늦어지거나, 정지(靜止) 화상을 표시하게 할 때, 즉, 표시되는 화상의 해상도가 사용자에 의해 충분히 인식 가능한 것 같은 재생 모드일 때는, 고해상도의 디코더를 선택하도록 하거나, (1)의 방법에 따라, 디코드 순서를 제어하는 경우라도, 표시 속도가 일정 이상으로 빠른 경우 등, 표시되는 화상의 해상도가 사용자에 의해 확인되기 어려운 것 같은 재생 모드일 때는, 저해상도의 디코더를 선택하도록 할 수 있다.
또, 디코드 제어부(72)는 동일한 속도로 재생이 지령되어 있는 것으로 해도, 예를 들면, (1)의 방법에 따라, 디코드 순서를 제어하는 경우, 최종적으로 출력되는 표시 프레임의 표시 코마 수를 확보할 수 있도록, 저해상도의 디코더를 선택하도록 하고, 한편, (2)의 방법에 따라, 디코드 순서를 제어하는 경우, 최종적으로 출력되는 표시 프레임의 표시 코마 수는 충분히 확보할 수 있으므로, 고해상도의 디코더를 선택하도록 할 수 있다.
또한, 디코드 제어부(72)는, 예를 들면, (3)의 방법에 따라, 디코드 순서를 제어하는 경우 등, 특정한 픽처 타입 전용의 디코더(여기에서는, I 픽처 전용의 디코더)를 선택하도록 해도 된다.
또, 디코드 제어부(72)는 MPEG 이외의 압축 방법으로 압축된 압축 스트림을 디코드하는 것이 가능한 디코더를 구비하도록 할 수 있고, 예를 들면, MPEG 이외의 압축 방법으로 압축된 압축 스트림이 공급된 경우, 그 압축 스트림을 디코드하는 것이 가능한 디코더를 선택하여, 디코드 처리를 실행시키도록 할 수 있다.
또, 디코드 제어부(72)는 디코드 순서나 디코더의 선택을 스트림 또는 프레임마다 전환하도록 해도 된다.
또, 디코드 제어부(72)는 인덱스 데이터를 기초로, 지정된 프레임을 디코드하기 위해 필요한 참조 프레임을 결정하고, 베이스 밴드 메모리 관리부(73)로부터 취득된, 베이스 밴드 화상 데이터용 메모리(31)에 기억되어 있는 베이스 밴드 화상 데이터의 정보를 기초로, 필요한 참조 프레임은 디코드가 끝난 것인지 여부를 판단한다. 그리고, 디코드 제어부(72)는 그 판단 결과를 기초로, 디코드가 필요한 프레임의 디코드 순서와 디코드를 실시하는 디코더를 결정한다. 그리고, 디코드 제어부(72)는 스트림 공급 제어부(74)에, 디코드되는 스트림의 StreamNo.와 디코드되는 프레임의 FrameNo.를 공급하고, 참조 화상 지시부(75)에, 디코드되는 스트림의 StreamNo.와 참조 화상으로서 베이스 밴드 화상 데이터용 메모리(31)로부터 판독할 필요가 있는 프레임(1개의 재생 프레임에 대하여, 0 내지 2개의 프레임)의 FrameNo.를 공급하고, 디코드 처리부(76)에, 처리에 사용되는 디코더의 선택 결과와, 디코드 처리를 제어하기 위한 제어 신호를 공급한다.
베이스 밴드 메모리 관리부(73)는 베이스 밴드 화상 데이터용 메모리 제어부(77)를 통해, 베이스 밴드 화상 데이터용 메모리(31)에 유지되고 있는 베이스 밴 드 화상 데이터를 감시하여, 베이스 밴드 화상 데이터용 메모리(31)에 유지되고 있는 베이스 밴드 화상 데이터의 프레임 정보를 디코드 제어부(72)에 공급한다.
스트림 공급 제어부(74)는 디코드 제어부(72)로부터 공급된, 재생되는 스트림의 StreamNo.와, 디코드되는 프레임의 FrameNo.를 기초로, 스트림 메모리 제어부(25)에, 디코드에 필요한 스트림 데이터를 요구하여, 스트림 메모리 제어부(25)로부터 공급된 스트림 데이터를 디코드 처리부(76)에 공급한다.
스트림 메모리 제어부(25)는 스트림용 메모리(26)에 의한 스트림 데이터의 기억을 제어하는 것이며, 스트림 공급 제어부(74)로부터 요구된 스트림 데이터를 스트림용 메모리(26)로부터 판독하여, 스트림 공급 제어부(74)에 출력한다.
스트림용 메모리(26)는 각각 스트림 데이터를 기억하는 것이며, 스트림 메모리 제어부(25)의 제어에 따라, 소정의 스트림 데이터를 출력한다.
참조 화상 지시부(75)는 디코드 제어부(72)로부터 공급된, 복호되는 스트림의 StreamNo.와 참조 화상으로서 베이스 밴드 화상 데이터용 메모리(31)로부터 판독할 필요가 있는 프레임의 FrameNo.를 기초로, 베이스 밴드 화상 데이터용 메모리 제어부(77)에 참조 화상으로서 베이스 밴드 화상 데이터용 메모리(31)로부터 판독할 필요가 있는 프레임의 디코드 처리부(76)로의 공급을 요구하여, 참조 화상으로서 사용되는 베이스 밴드 화상 데이터를 디코드 처리부(76)에 공급시킨다.
디코드 처리부(76)는 복수개의 디코더(디코더 0 내지 디코더 n)로 구성되어 있고, 디코드 제어부(72)의 제어에 따라, 스트림 공급 제어부(74)로부터 공급된 스트림 데이터를 적합한 디코더에 의해 디코드하고, 디코드가 끝난 베이스 밴드 화상 데이터를 베이스 밴드 화상 데이터용 메모리 제어부(77)에 공급한다.
구체적으로는, 디코드 처리부(76)는, 예를 들면, 고해상도 디코더, 저해상도 디코더, 특정한 픽처 전용의 디코더, 또는 MPEG 이외의 압축 방법에 의해 압축된 스트림 데이터를 디코드 가능한 디코더 등을 포함하여 구성되며, 디코드 제어부(72)의 제어에 따라 선택된 디코더에 의해, 필요에 따라 베이스 밴드 화상 데이터용 메모리 제어부(77)로부터 공급되는 베이스 밴드 화상 데이터를 참조 화상으로서 참조함으로써, 스트림 공급 제어부(74)로부터 공급된 압축된 스트림 데이터를 디코드한다.
베이스 밴드 화상 데이터용 메모리 제어부(77)는 디코드 처리부(76)로부터 공급된, 디코드가 끝난 베이스 밴드 화상 데이터를 베이스 밴드 화상 데이터용 메모리(31)에 공급하고, 참조 화상 지시부(75)로부터, 참조 화상으로서 베이스 밴드 화상 데이터용 메모리(31)로부터 판독할 필요가 있는 프레임의 공급 요구를 받고, 지정된 참조 화상을 베이스 밴드 화상 데이터용 메모리(31)로부터 판독하여, 디코드 처리부(76)에 공급한다.
또, 베이스 밴드 화상 데이터용 메모리 제어부(77)는 베이스 밴드 신호 처리부(32)로부터 요구된 StreamNo.와 FrameNo.에 의해 나타나는 프레임의 베이스 밴드 화상 데이터를 베이스 밴드 화상 데이터용 메모리(31)로부터 판독하여, 베이스 밴드 신호 처리부(32)에 공급한다. 베이스 밴드 화상 데이터용 메모리 제어부(77)는, 예를 들면, 조그 재생 등의 변속 재생이 지령된 경우에도, 사용자의 조작 입력에 따른 소정의 프레임을 베이스 밴드 화상 데이터용 메모리(31)로부터 판독해서, 베이스 밴드 신호 처리부(32)에 공급하여 재생 출력시키도록 할 수 있다.
베이스 밴드 신호 처리부(32)는 공급된 베이스 밴드 화상 데이터에 대하여, 예를 들면, 색 보정이나 사이즈 보정, 슬로 재생 시에 있어서의 필드 컨트롤 등, 디코드된 화상이 정확하게 재생 출력되도록 각종 보정을 행하여, 생성된 출력 베이스 밴드 화상 데이터를 GUI 표시 제어부(71)에 출력한다.
이상 설명한 바와 같이, 본 발명을 적용한 재생 장치(61)에서는, 디코드 처리부(76) 중 어느 하나의 디코더에 의해 디코드된 베이스 밴드 화상 데이터는 모두 베이스 밴드 화상 데이터용 메모리(31)에 기억되고, 참조 화상도 베이스 밴드 화상 데이터용 메모리(31)로부터 판독되게 된다. 도 1을 사용하여 설명한 재생 장치(1)의 참조 베이스 밴드 화상용 메모리(29)는 디코더(28)의 메모리 제어부(41)에만 제어되어, 디코더(28)만 데이터를 주고 받기하고 있으며, 도 1을 사용하여 설명한 재생 장치(1)의 베이스 밴드 화상 데이터용 메모리(31)는 베이스 밴드 화상 데이터용 메모리 제어부(30)의 제어에 따라, 디코더(28)로부터 공급된 베이스 밴드 화상 데이터를 베이스 밴드 신호 처리부(32)에 공급하는 것이었다. 이에 대하여, 본 발명을 적용한 재생 장치(61)의 베이스 밴드 화상 데이터용 메모리(31)는 베이스 밴드 화상 데이터용 메모리 제어부(77)의 제어에 따라, 디코드 처리부(76)와 참조 화상 데이터의 주고 받기를 행하는 동시에, 종래에 있어서의 경우와 마찬가지로, 베이스 밴드 신호 처리부(32)에 베이스 밴드 화상 데이터를 공급한다.
본 발명을 적용한 재생 장치(61)에서는, 베이스 밴드 화상 데이터용 메모리(31)에 참조 화상 데이터로서 이용 가능한 베이스 밴드 화상 데이터가 기억되어 있을 때, 참조 화상으로서, 베이스 밴드 화상 데이터용 메모리(31)에 기억되어 있는 베이스 밴드 화상 데이터가 사용되므로, 디코드 처리부(76)에는, 참조 화상을 생성하기 위한 프레임이 새로이 공급되지 않는다. 즉, 디코드 처리부(76)에 공급되는 프레임은 통상의 프레임대로의 순번이 아니라도 양호한 경우가 있다.
또는, 본 발명을 적용한 재생 장치(61)에서는, 베이스 밴드 화상 데이터용 메모리(31)에 참조 화상 데이터로서 이용 가능한 베이스 밴드 화상 데이터가 기억되어 있을 때, 참조 화상으로서, 베이스 밴드 화상 데이터용 메모리(31)에 기억되어 있는 베이스 밴드 화상 데이터가 사용되므로, 디코드 처리부(76)는 공급된 시간 순서의 비트 스트림을 그 순번에 따라 디코드하지 않는(참조 화상이 있는 경우에는, 대응하는 프레임을 디코드하지 않고 스킵하는) 경우가 있다.
따라서, 본 발명을 적용한 재생 장치(61)에는, 베이스 밴드 화상 데이터용 메모리(31)에 기억되어 있는 베이스 밴드 화상 데이터를 감시하는 베이스 밴드 메모리 관리부(73)가 형성되고, 베이스 밴드 메모리 상태를 기초로 디코드의 순번과 디코더의 선택을 행하는 디코드 제어부(72)가 형성되고, 참조 화상의 디코드 처리부(76)로의 공급 지시를 베이스 밴드 화상 데이터용 메모리 제어부(77)에 부여하는 참조 화상 지시부(75)가 형성되어 있다.
다음에, 도 7을 사용하여, B13 프레임과 B3 프레임을 차례로 출력하는 경우를 예로 하여, 사용자가 지정한 원하는 프레임을 재생하는 스크러브 재생에 대하여 설명한다.
스트림 복호 위치 검출 처리부(22)는 조작 입력 취득부(21)로부터, 디코드 대상 스트림의 스트림 No.와, 재생 출력하는 프레임으로서 지정된 B13 및 B3의 프레임 No.의 입력을 받는 동시에, 재생 속도나 재생 모드 등의 지령을 받아 디코드 제어부(72)에 공급한다.
디코드 제어부(72)는 스트림 복호 위치 검출 처리부(22)로부터 공급된, 재생되는 스트림의 StreamNo.와 재생 출력하는 프레임으로서 지정된 B13 및 B3의 프레임 No., 및 재생 속도나 재생 모드 등의 지령 내용을 기초로, 인덱스 관리부(24)에 기억되어 있는 도 6을 사용하여 설명한 인덱스 테이블을 취득하여, 대응하는 스트림의 디코드에 필요한 각종 정보를 얻고, 또한 베이스 밴드 메모리 관리부(73)에 의해 관리되고 있는, 베이스 밴드 화상 데이터용 메모리(31)에 기억되어 있는 베이스 밴드 화상 데이터의 정보를 취득한다. 여기에서는, 베이스 밴드 화상 데이터용 메모리(31)에는, 재생 출력하는 프레임으로서 지정된 B13 및 B3을 디코드하기 위해 필요하게 되는 참조 화상에 대응하는 프레임이 유지되고 있지 않은 것으로 하여 설명한다.
디코드 제어부(72)는 이들 정보를 기초로, 디코드에 사용하는 디코더와 디코드 순서를 결정한다. 즉, 디코드 제어부(72)는, 예를 들면, 재생 모드가 이들 2개 프레임의 정지 화상의 연속 재생인 경우, 고해상도의 디코더를 디코드 처리부(76)로부터 선택하여, B13을 디코드하기 위해 참조 화상으로서 필요한 프레임인 I2, P5, P8, P11, 및 P14를 디코드하고, 참조 화상 P11과 P14를 사용하여 B13을 디코드하고, 다음에, B13의 디코드를 위해, 이미 디코드되어 베이스 밴드 화상 데이터용 메모리(31)에 보존되어 있는 I2 및 P5를 사용하여, B3을 디코드하는 것을 결정한 다.
디코드 제어부(72)는 디코드 처리부(76)에 공급할 필요가 있는 프레임의 프레임 No., 즉, 1매째에 출력하는 B13을 디코드하기 위해 참조 화상으로서 필요한 프레임인 I2, P5, P8, P11, 및 P14, 및 재생 출력되는 프레임인 B13 및 B3의 프레임의 프레임 No.를 스트림 No.와 함께, 스트림 공급 제어부(74)에 공급한다.
스트림 공급 제어부(74)는 먼저 1매째에 출력하는 B13을 디코드하기 위해 참조 화상으로서 필요한 프레임인 I2, P5, P8, P11, 및 P14, 및 재생 출력되는 프레임인 B13, 및 B3을 스트림 메모리 제어부(25)에 요구하여, 디코드 처리부(76)에 차례로 공급한다.
디코드 처리부(76) 중, 디코드 제어부(72)에 의해 선택된 디코더는 디코드 제어부(72)의 제어에 따라, 공급된 데이터를 I2 픽처로부터 디코드하고, 디코드하여 생성한 베이스 밴드 화상 데이터를 베이스 밴드 화상 데이터용 메모리 제어부(77)에 공급하여, 베이스 밴드 화상 데이터용 메모리(31)에 보존시키는 동시에, 그 이후, P5, P8, P11, 및 P14의 디코드 시에, 베이스 밴드 화상 데이터용 메모리 제어부(77)를 통해, 베이스 밴드 화상 데이터용 메모리(31)에 보존된 베이스 밴드 화상 데이터 중, 참조 화상에 대응하는 프레임의 베이스 밴드 화상 데이터의 공급을 받고, 그것을 기초로, 디코드를 실행한다.
그리고, 디코드 처리부(76) 중, 디코드 제어부(72)에 의해 선택된 디코더는 디코드 제어부(72)의 제어에 따라, B13을 디코드할 때, P11 및 P14에 대응하는 베이스 밴드 화상 데이터의 공급을 받고, 이들을 참조 화상으로 하여, B13을 디코드 하고, 디코드된 B13에 대응하는 베이스 밴드 화상 데이터를 베이스 밴드 화상 데이터용 메모리 제어부(77)를 통해 베이스 밴드 화상 데이터용 메모리(31)에 보존시킨 후, 베이스 밴드 신호 처리부(32)에 공급한다. 그리고, 베이스 밴드 신호 처리부(32)에서, 각종 보정(베이스 밴드 처리)이 행해져, 출력 베이스 밴드 화상 데이터가 출력된다.
그리고, 디코드 처리부(76) 중, 디코드 제어부(72)에 의해 선택된 디코더는 다음에 B3을 디코드할 때, 디코드 제어부(72)의 제어에 따라, 이미 베이스 밴드 화상 데이터용 메모리(31)에 기억되어 있는 I2 및 P5에 대응하는 베이스 밴드 화상 신호의 공급을 받고, 이들을 참조 화상으로 하여, B3을 디코드하고, 디코드된 B3에 대응하는 베이스 밴드 화상 데이터를 베이스 밴드 화상 데이터용 메모리 제어부(77)를 통해 베이스 밴드 화상 데이터용 메모리(31)에 보존시킨 후, 베이스 밴드 신호 처리부(32)에 공급한다. 그리고, 베이스 밴드 신호 처리부(32)에서, 각종 보정이 행해져(베이스 밴드 처리) 출력 베이스 밴드 화상 데이터가 출력된다.
이와 같이, 디코드가 끝난 베이스 밴드 화상 데이터의 보존과, 참조 화상의 보존을 1개의 메모리로 행하도록 했으므로, 출력 처리를 위한 메모리 카피의 동작이 필요없게 되고, 또, 스크러브 재생에 있어서, 참조 화상을 생성하기 위해, 동일 프레임을 중복하여 디코드할 필요가 없어지기 때문에, 고속으로 재생 프레임을 디코드할 수 있다.
또, 참조 화상의 보존을 행하는 메모리를 디코더로부터 독립시켜, 디코더 이외의 부분으로부터 제어시키도록 했으므로, 디코드 순서의 제어 자유도가 증가하 고, 또, 입력 스트림을 1 프레임마다 전환하거나, 디코더를 1 프레임마다 전환하는 것이 가능하게 되므로, 다양한 디코드 알고리즘에 대응할 수 있다.
도 7을 사용하여 설명한 처리를 행하기 위해, 베이스 밴드 메모리 관리부(73)는 도 8에 나타낸 바와 같은 정보를 관리한다. 즉, 베이스 밴드 메모리 관리부(73)는 각각의 프레임이, 베이스 밴드 화상 데이터용 메모리(31)에 디코드 끝남으로 존재하고 있는지 여부를 나타내는 플래그(Exist: 1이 베이스 밴드 화상 데이터용 메모리(31)에 디코드 끝남으로 존재하고 있는 것을 나타냄) 외에, 이들 디코드가 끝난 프레임이 디코드 처리부(76) 중 어느 디코더에 의해 디코드되었는지를 나타내는 값(Decoder Type: 예를 들면, 도 8에 나타나는 경우, 고해상도 디코더가 1, 저해상도 디코더가 2 등)을 관리한다.
디코드 제어부(72)는 고해상도의 디코더를 사용하여 디코드를 실행하는 경우, 화상의 열화를 방지하기 위해, 참조 화상으로서 사용되는 베이스 밴드 화상 데이터가 저해상도로 디코드되어 베이스 밴드 화상 데이터용 메모리(31)에 유지되고 있어도, 이 참조 화상 데이터를 이용하지 않고, 대응하는 압축 화상 프레임을 고해상도의 디코더로 디코드하여 참조 화상으로서 사용하도록 할 수 있다.
또, 베이스 밴드 메모리 관리부(73)는 프레임마다, Horizontal Size나 Vertical Size, Chroma Format 등도 관리하고 있으며, 베이스 밴드 신호 처리부(32)는 이들 정보를 기초로, 출력 포맷에 따라, 공급된 베이스 밴드 화상 신호를 리사이즈하도록 해도 된다.
전술한 일련의 처리는 하드웨어에 의해 실행시킬 수도 있고, 소프트웨어에 의해 실행시킬 수도 있다. 이 경우, 예를 들면, 재생 장치(61)는 도 9에 나타낸 바와 같은 퍼스널 컴퓨터(201)에 의해 구성된다.
도 9에서, CPU(Central Processing Unit)(221)는 ROM(Read Only Memory)(222)에 기억되어 있는 프로그램, 또는 HDD(226)로부터 RAM(Random Access Memory)(223)에 로드된 프로그램에 따라, 각종의 처리를 실행한다. RAM(223)에는, 또, CPU(221)가 각종의 처리를 실행하는 데 있어서 필요한 데이터 등도 적당히 기억된다.
CPU(221), ROM(222), 및 RAM(223)은 버스(224)를 통해 서로 접속되어 있다. 이 버스(224)에는, 또, 인터페이스(I/F)(225-1 내지 225-3), HDD(hard Disc Drive)(226), 영상 특수 효과 음성 믹싱 처리부(227), 및 신호 처리부(228)도 접속되어 있다.
인터페이스(225-1)에는, 키보드(202), 마우스(203) 등의 입력 디바이스가 접속되어 있다. 인터페이스(225-2)에는, 기억 장치(204)가 접속되어, 정보를 주고 받을 수 있도록 되어 있다. 또, 인터페이스(225-3)에는, 외부 영상 기록 재생 장치(205-1 내지 205-m)가 접속되어, 정보를 주고 받을 수 있도록 되어 있다. HDD(226)는 하드 디스크를 드라이브하여, 각종 정보를 기억할 수 있도록 되어 있다.
영상 특수 효과 음성 믹싱 처리부(227)는 신호 처리부(228), 및 기억 장치(204) 및 영상 기록 재생 장치(205-1 내지 205-m) 모두 접속되고, 기억 장치(204) 및 영상 기록 재생 장치(205-1 내지 205-m) 중 어느 하나로부터 공급된, 또는 버스(224)를 통해 HDD(226)로부터 공급된 영상 신호에 특수 효과를 실행하거나, 음성을 믹싱하는 등 하여, 신호 처리부(228)에 공급시켜 출력시키거나, 기억 장치(204) 및 영상 기록 재생 장치(205-1 내지 205-m) 중 어느 하나에 공급시켜 보존시킨다.
신호 처리부(228)는 디스플레이(229) 및 스피커(230)와도 접속되어, 예를 들면, 영상 특수 효과 음성 믹싱 처리부(227) 등으로부터 공급된 영상 신호를 디스플레이(229)에 공급하여 표시하게 하거나, 음성 신호를 스피커(230)에 공급하여 음성 출력시킨다.
디스플레이(229)는, 예를 들면, CRT(Cathode Ray Tube), LCD(Liquid Crystal display) 등으로 이루어지며, 신호 처리부(228)로부터 공급되는 영상을 표시한다. 스피커는 신호 처리부(228)로부터 공급되는 음성을 재생 출력한다.
버스(224)에는, 또, 필요에 따라, 드라이브(231)가 접속되고, 자기 디스크, 광 디스크, 광자기 디스크, 또는 반도체 메모리 등의 착탈 가능 매체(206)가 적당히 장착되고, 그들로부터 판독된 컴퓨터 프로그램이 필요에 따라 HDD(226)에 인스톨된다.
도 9를 사용하여 설명한 퍼스널 컴퓨터(201)에서, 소프트웨어에 의해, 본 발명을 적용한 처리가 실행되는 경우의 기능의 일례에 대하여 설명하기 위한 기능 블록도를 도 10에 나타낸다.
그리고, 도 4 또는 도 9에서의 경우와 대응하는 부분에는, 동일한 부호를 부여하고 있어, 그 설명은 적당히 생략한다.
CPU(221)가 소정의 프로그램을 실행함으로써, 퍼스널 컴퓨터(201)는 도 4의 조작 입력 취득부(21) 및 GUI 표시 제어부(71)와 기본적으로 동등한 기능을 가지는 GUI 제어부(251), 도 4의 스트림 공급 제어부(74) 및 스트림 메모리 제어부(25)와 기본적으로 동등한 기능을 가지는 스트림 공급 제어부(252), 도 4의 참조 화상 지시부(75) 및 베이스 밴드 화상 데이터용 메모리 제어부(77)와 기본적으로 동등한 기능을 가지는 참조 화상 지시부(253)의 기능을 가지는 동시에, 도 4를 사용하여 설명한, 스트림 복호 위치 검출 처리부(22), 디코드 제어부(72), 디코드 처리부(76), 베이스 밴드 신호 처리부(32)와 동등한 기능을 가진다.
CPU(221)는 마우스(202) 또는 키보드(203) 등의 입력 디바이스에 의해 입력된 사용자의 조작을 기초로, 기억 장치(204), 외부 영상 기록 재생 장치(205), 또는 HDD(226)에 기록되어 있는 인덱스 테이블을 참조하는 동시에, RAM(223) 중 소정의 기억 영역을 베이스 밴드 화상 데이터용 메모리(31)로서 이용하고, 베이스 밴드 화상 데이터용 메모리(31)에 기억되어 있는 베이스 밴드 화상 데이터를 참조하여, 기억 장치(204), 외부 영상 기록 재생 장치(205), 또는 HDD(226)에 기억되어 있는 스트림 데이터 중, 사용자가 지정한 스트림에 포함되는 프레임의 디코드 순번과, 디코드의 방법을 결정한다.
CPU(221)는 RAM(223) 중 소정의 기억 영역을 베이스 밴드 화상 데이터용 메모리(31)로서 이용하므로, 디코드된 베이스 밴드 화상 데이터를 RAM(223)에 공급하여 기억시키는 동시에, RAM(223)에 기억된 베이스 밴드 화상 데이터를 참조 화상으로 하여 디코드에 이용한다. 그리고, CPU(221)는 RAM(223)에 기억된 베이스 밴드 화상 데이터를 판독하여, 예를 들면, 색 보정이나 사이즈 보정, 슬로 재생 시에 있어서의 필드 컨트롤 등, 디코드된 화상이 정확하게 재생 출력되도록 각종 보정을 행하여, 생성된 출력 베이스 밴드 화상 데이터를 디스플레이(229)에 공급하여 표시하게 한다.
즉, CPU(221)는 RAM(223) 중 소정의 기억 영역을 베이스 밴드 화상 데이터용 메모리(31)로서 이용하여, 디코드가 끝난 베이스 밴드 화상 데이터를 참조 화상용과 출력 신호용으로 구별하지 않고 기억시키며, 이들 베이스 밴드 화상 데이터를 참조 화상 및 출력 신호로서 이용한다.
다음에, 도 11의 플로차트를 참조하여, 도 4를 사용하여 설명한 재생 장치(61) 또는 도 9 및 도 10을 사용하여 설명한 퍼스널 컴퓨터(201)에 의해 실행되는 디코드 처리 1에 대하여 설명한다.
스텝 S41에서, 스트림 복호 위치 검출 처리부(22)(CPU(221)의 스트림 복호 위치 검출 처리부(22))는 조작 입력 취득부(21)(CPU(221)의 GUI 제어부(251))로부터, 재생 위치의 지정(스트림 No. 프레임 No.)의 입력을 받아 디코드 제어부(72)(CPU(221)의 디코드 제어부(72))에 공급한다.
스텝 S42에서, 디코드 제어부(72)(CPU(221)의 디코드 제어부(72))는 공급된 스트림 No.에 대응하는 인덱스 테이블을 인덱스 관리부(24)(기억 장치(204), 외부 영상 기록 재생 장치(205), 또는 HDD(226))로부터 취득한다.
스텝 S43에서, 디코드 제어부(72)(CPU(221)의 디코드 제어부(72))는 인덱스 테이블로부터, 디코드에 필요한 정보인, 예를 들면, 픽처 타입, 참조 화상에 관한 정보, 데이터 길이, 또는 메모리 내의 어드레스 등의 정보를 추출한다.
스텝 S44에서, 디코드 제어부(72)(CPU(221)의 디코드 제어부(72))는 사용자로부터의 지령을 기초로, 재생 출력되는 프레임의 디코드 순서와 디코더(디코드의 방법)를 결정한다.
구체적으로는, 예를 들면, 사용자에 의해, 저속의 재생이 지령되어 있는 경우, 디코드 제어부(72)(CPU(221)의 디코드 제어부(72))는 레이턴시가 최단으로 되도록, 재생이 지시된 프레임을 차례로 고해상도의 디코더를 사용하여 디코드시킬 수 있다. 그러나, 어느 정도 고속의 빨리 감기 또는 되감기 등이 지령되어 있는 경우, 디코드 제어부(72)(CPU(221)의 디코드 제어부(72))는 재생되는 프레임을 차례로 고해상도의 디코더를 사용하여 디코드하는 방법에서는, 최종적으로 출력되는 표시 프레임의 표시 코마 수를 확보할 수 없으므로, 재생되도록 지시된 프레임 근방의 I 픽처 또는 P 픽처를 디코드시켜 출력시키거나 저해상도의 디코더를 사용하여 디코드하거나 할 수 있다. 그리고, 또한 고속으로 화질을 요구하지 않는 재생 모드에 있어서는, 재생이 지령된 프레임 근방의 I 픽처만을 I 픽처 전용의 디코더로 디코드시켜 출력시키도록 할 수 있다.
스텝 S45에서, 디코드 제어부(72)(CPU(221)의 디코드 제어부(72))는 인덱스 테이블에 기재된 정보를 참조하여, 디코드에 필요한 전방향 화상 중, 가장 재생 프레임으로부터 먼 프레임 간의 프레임 수 (깊이)(Depth of Past Frames for Decoding)를 검출한다.
스텝 S46에서, 디코드 제어부(72)(CPU(221)의 디코드 제어부(72))는 인덱스 테이블에 기재된 정보를 참조하여, 지정된 프레임 No.의 프레임을 디코드하기 위해 참조 화상으로서 필요한 프레임(디코드하는 프레임으로서 지정되어 있는 프레임이 I 픽처가 아닌 경우에는, 직전의 I 픽처를 포함하는 적어도 1개의 프레임)의 프레임 No.를 취득한다. 디코드 제어부(72)(CPU(221)의 디코드 제어부(72))는, 예를 들면, 도 7을 사용하여 설명한 바와 같이, B13 프레임의 재생 출력이 지령되어 있는 경우, 참조 화상으로서, I2, P5, P8, P11, 및 P14가 필요한 것을 취득하고, B3 프레임의 재생 출력이 지령되어 있는 경우, 참조 화상으로서, I2 및 P5가 필요한 것을 취득한다.
스텝 S47에서, 디코드 제어부(72)(CPU(221)의 디코드 제어부(72))는 베이스 밴드 메모리 관리부(73)에 의해 관리되는 베이스 밴드 화상 데이터용 메모리(31)에 기억되어 있는 베이스 밴드 화상 데이터를 참조하여(RAM(223)의 베이스 밴드 화상 데이터용 메모리(31)로서 이용되고 있는 기억 영역에 기억되어 있는 베이스 밴드 화상 데이터를 참조하여), 베이스 밴드 화상 데이터용 메모리(31)에, 필요한 참조 화상이 필요한 품질로 모두 존재하는지 여부를 판단한다.
스텝 S47에서, 베이스 밴드 화상 데이터용 메모리(31)에, 필요한 참조 화상이 필요한 품질로 모두 존재하고 있지 않다고 판단된 경우, 환언하면, 필요한 참조 화상 중, 베이스 밴드 화상 데이터용 메모리(31)에 필요한 품질로 존재하고 있지 않은 것이 있다고 판단된 경우, 스텝 S48에서, 디코드 제어부(72)(CPU(221)의 디코드 제어부(72))는 베이스 밴드 화상 데이터용 메모리(31)에 존재하지 않는 참조 화상을 대응하는 디코더(디코드 방법)로 디코드한다.
즉, 디코드 제어부(72)(CPU(221)의 디코드 제어부(72))는 스트림 공급 제어부(74)에, 스트림 메모리(25)를 통해 스트림용 메모리(26)로부터, 베이스 밴드 화상 데이터용 메모리(31)에 존재하지 않는 참조 화상에 대응하는 압축 화상 프레임을 판독시키고, 디코드 처리부(76)에 공급시켜 디코드시키고, 베이스 밴드 화상 데이터용 메모리 제어부(77)를 통해 베이스 밴드 화상 데이터용 메모리(31)에 공급시켜 보존시키고(CPU(221)의 스트림 공급 제어부(252)에, 기억 장치(204), 외부 영상 기록 재생 장치(205), 또는 HDD(226)에 기억되어 있는 스트림 데이터를 판독시키고, 디코드 처리부(76)에 공급시켜 디코드시키고, RAM(223)의 베이스 밴드 화상 데이터용 메모리(31)로서 이용되고 있는 기억 영역에 공급시켜, 보존시키고), 처리는 스텝 S47로 복귀하여, 그 이후의 처리가 반복된다.
스텝 S47에서, 베이스 밴드 화상 데이터용 메모리(31)에, 필요한 참조 화상이 필요한 품질로 모두 존재하고 있다고 판단된 경우, 스텝 S49에서, 디코드 처리부(76)(CPU(221)의 디코드 처리부(76))는 디코드 제어부(72)의 제어에 따라, 베이스 밴드 화상 데이터용 메모리(31)(RAM(223)의 베이스 밴드 화상 데이터용 메모리(31)로서 이용되고 있는 기억 영역)에 기억되어 있는 참조 화상을 이용하여, 재생되는 프레임을 대응하는 디코더(디코드 방법)로 디코드하여, 베이스 밴드 화상 데이터용 메모리(31)(RAM(223)의 베이스 밴드 화상 데이터용 메모리(31)로서 이용되고 있는 기억 영역)에 공급한다.
스텝 S50에서, 베이스 밴드 신호 처리부(32)(CPU(221)의 베이스 밴드 신호 처리부(32))는 디코드 제어부(72)에 의해 디코드되어 베이스 밴드 화상 데이터용 메모리(31)(RAM(223)의 베이스 밴드 화상 데이터용 메모리(31)로서 이용되고 있는 기억 영역)에 의해 기억되어 있는 베이스 밴드 화상 데이터를 취득하여, 각종 보정(베이스 밴드 처리)을 실행하고, 생성된 출력 베이스 밴드 화상 데이터 프레임을 출력하여, GUI 표시 제어부(71)의 처리에 의해 표시시키고(CPU(221)의 GUI 제어부(251)의 처리에 의해 디스플레이(229)에 출력하여 표시시키고), 처리가 종료된다.
이와 같은 처리에 의해, 스크러브 재생에 있어서, 참조 화상을 생성하기 위해, 동일 프레임을 중복하여 디코드할 필요가 없어지므로, 고속으로 재생 프레임을 디코드할 수 있다.
즉, 전술한 바와 같이 하여, 디코드 순서를 제어함으로써, 예를 들면, 스크러브 재생(랜덤 재생) 등의 특정 위치로부터의 재생 시나, 이른바 트릭 재생의 레이턴시를 단축하여, 지연 시간 최단으로 원하는 프레임을 재생 출력하는 것이 가능하게 된다.
또한, 참조 화상용의 메모리와 출력 화상용의 메모리를 동일한 것으로 함으로써, 장치 전체의 메모리 수를 감소시킬 수 있고, 또한 디코드된 데이터가 출력되기까지의 메모리 카피 회수를 줄이는 것이 가능하므로, 레이턴시를 짧게 할 수 있다.
또, 참조 화상의 보존을 행하는 메모리를 디코더로부터 독립시켜, 디코더 이외의 부분으로부터 제어시키도록 했으므로, 디코드 순서의 제어 자유도가 증가하고, 또, 입력 스트림을 1 프레임마다 전환하거나, 디코더를 1 프레임마다 전환하는 것이 가능하게 되므로, 다양한 디코드 알고리즘에 대응할 수 있게 된다.
또, 이와 같은 구성을 취함으로써, 장치의 처리 능력과, 재생 속도나 요구되는 화질에 따라, 디코더나 디코드 방법을 선택할 수 있다. 예를 들면, 통상은 고해상도의 디코드를 재생 출력의 순서에 따라 행하도록 해 두고, 이에 대하여, 재생 출력의 속도나, 필요한 화질에 대응하도록, 필요에 따라 저해상도의 디코드를 행하거나, B 픽처의 디코드를 행하지 않고, I 픽처 또는 P 픽처만 디코드를 행하거나, 또한 I 픽처 등 특정한 픽처 타입의 디코드(프레임 내 압축 방식의 디코드)만을 행하도록 할 수 있다.
따라서, 종래의 재생 장치에서는 고속으로 재생 출력을 추종시킬 수 없었던, 스크러브 재생 등의 복잡한 재생 지시에 대해서도, 재생 출력되는 화상의 화질과 디코드 시간과의 밸런스를 고려하여, 최적의 디코드 알고리즘이나 디코더(디코드 방법)를 선택할 수 있어 낭비가 없는 최단 지연의 디코드를 실현할 수 있다.
또한, 이와 같은 구성으로 함으로써, 예를 들면, MPEG 방식에 의해 압축된 스트림을 디코드 가능한 디코더와 그 이외의 방식에서 압축된 스트림을 디코드 가능한 디코더를 각각 구비시키고, 적당히 전환하여 디코드시키는 것도 가능하게 된다.
또, 본 발명이 적용된 경우, 복수개의 디코더 또는 디코드 방법에 의해 디코드된 후의 베이스 밴드 화상 데이터를 참조 화상용과 출력용으로 구별하지 않고 기억하도록 했으므로, 디코드된 후의 베이스 밴드 화상 데이터가 어떠한 디코드 방법에 의해 디코드되었는지의 정보가 관리된다. 어떠한 디코드 방법에 의해 디코드되 었는지의 정보는, 예를 들면, 도 8을 사용하여 설명한 디코더 타입(Decoder Type)의 플래그 정보이다.
예를 들면, 저속 재생이나 정지 화상의 표시 등 고해상도의 디코드가 실행되는 경우, 화상의 열화를 방지하기 위해, 디코드된 후의 베이스 밴드 화상 데이터가 어떠한 디코드 방법에 의해 디코드되었는지의 정보를 참조함으로써, 저해상도로 디코드된 베이스 밴드 화상 데이터를 참조 화상 데이터로서 사용하지 않고, 고해상도로 디코드된 베이스 밴드 화상 데이터만을 참조 화상으로서 사용하도록 할 수 있다.
그리고, 여기에서는, 주로, I 픽처, P 픽처, 및 B 픽처로 이루어지는 MPEG2 LongGOP에 있어서의 경우에 대하여 설명했지만, 본 발명은 프레임 간 참조에 의해 디코드된 압축 부호화 데이터를 재생하는 경우에 적용 가능하다.
이와 같이, 예를 들면, 스크러브 재생 시 등에 있어서는, 재생 출력의 속도나, 필요한 화질에 대응하도록, 필요에 따라, 저해상도의 디코드를 행하거나, B 픽처의 디코드를 행하지 않고, I 픽처 또는 P 픽처만 디코드를 행하거나, 또한 I 픽처 등 특정한 픽처 타입의 디코드(프레임 내 압축 방식의 디코드)만을 행하도록 되어 있는 등, 재생 출력되는 화상의 화질과 디코드 시간과의 밸런스를 고려하여, 최적의 디코드 알고리즘이나 디코더(디코드 방법)를 선택할 수 있어, 낭비가 없는 최단 지연의 디코드를 실현할 수 있도록 되어 있다.
또한 도 6을 사용하여 설명한 인덱스 테이블의 디코드 깊이 정보(Depth of Past Frames for Decoding)를 이용함으로써, 가능한 한 화상의 품질이 더욱 양호 한, 최단 지연의 디코드 처리가 가능하게 된다.
다음에, 도 4 또는 도 10의 디코드 제어부(72)에서 실행되는 디코드 처리의 제어에 있어서, 인덱스 테이블의 디코드 깊이 정보(Depth of Past Frames for Decoding)를 이용하는 방법에 대하여, 구체적으로 설명한다.
도 6을 사용하여 설명한 인덱스 테이블의 디코드 깊이 정보(Depth of Past Frames for Decoding)는 전술한 바와 같이 과거 측의 참조 프레임을 얻기 위해 필요한 디코드의 회수를 나타낸 것이다. 미래 측의 프레임을 참조하는 것은 B 픽처만이지만, B 픽처의 미래 측 참조 프레임 수는 1 프레임이다. 즉, B 픽처의 모든 참조 프레임을 얻기 위해 필요한 디코드의 회수를 얻으려면, 「과거 측의 디코드 회수+1」로 하면 된다. 따라서, 인덱스 테이블로서는, 과거의 디코드 깊이만을 소지하고 있으면 충분하다.
즉, GOP 선두의 I 픽처를 디코드하기 위해서는, 과거 측의 참조 프레임을 필요로 하지 않기 때문에, 깊이의 값은 0이 된다. 그리고, 각각의 P 픽처의 깊이의 값은 GOP의 선두로부터 세어, P 픽처가 올 때마다 1 인크리먼트한 값이 되고, 그리고, 스트림의 선두, 또는 Closed GOP 선두의 2매의 B 픽처를 디코드하기 위해서는, 과거 측의 참조 프레임을 필요로 하지 않기 때문에, 깊이의 값은 0이 되어 Open GOP이며, 또한 스트림의 선두가 아닌 I 픽처 직후의 2매의 B 픽처의 깊이의 값은 I 픽처 직전의 P 픽처의 깊이의 값에 1을 가한 것이 되고, 그 이외의 B 픽처의 깊이의 값은 직전의 P 픽처의 깊이의 값과 동일하다.
도 4 또는 도 10의 디코드 제어부(72)에서는, 도 6을 사용하여 설명한 인덱 스 테이블의 디코드 깊이 정보(Depth of Past Frames for Decoding)를 이용하여, 디코드 처리의 제어를 행할 수 있다.
도 12의 플로차트를 참조하여, 스트림을 선두로부터 퍼스하여, 깊이 정보를 작성하는 깊이 정보 산출 처리에 대하여 설명한다.
그리고, 예를 들면, 도 4를 사용하여 설명한 재생 장치(61)에서 재생 처리가 실행되는 경우, 깊이 정보 산출 처리는 인덱스 테이블을 기억하는 인덱스 관리부(24)에서 실행되어도 되고, 재생 장치(61) 이외의 장치(예를 들면, 일반적인 퍼스널 컴퓨터, 구체적으로는, 도 10을 사용하여 설명한 기능 블록도에 나타나는 기능을 갖지 않은 것을 포함하는 퍼스널 컴퓨터(201) 등)에서 실행되고, 생성된 인덱스 테이블이 재생 장치(61)에 공급되어, 인덱스 관리부(24)에 기억되는 것으로 해도 된다.
또, 도 9 및 도 10을 사용하여 설명한 퍼스널 컴퓨터(201)에서 재생 처리가 실행되는 경우, 깊이 정보 산출 처리는 CPU(221)(단, 도 10을 사용하여 설명한 기능 블록도에 나타나지 않은 기능을 사용하여 처리가 실행되는)에서 실행되어도 되고, 퍼스널 컴퓨터(201) 이외의 장치(예를 들면, 일반적인 퍼스널 컴퓨터, 구체적으로는, 도 10을 사용하여 설명한 기능 블록도에 나타나는 기능을 갖지 않은 것을 포함하는 퍼스널 컴퓨터 등)에서 실행되고, 생성된 인덱스 테이블이 퍼스널 컴퓨터(201)에 공급되어, HDD(226)에 기억되어도 되고, 생성된 인덱스 테이블이 기억 장치(204) 또는 외부 영상 기록 재생 장치(205)에 기억되어, 퍼스널 컴퓨터(201)에 공급되는 것으로 해도 된다.
도 12의 플로차트에서는, 깊이 정보 산출 처리는 퍼스널 컴퓨터(201)의 CPU(221)(단, 도 10을 사용하여 설명한 기능 블록도에 나타나지 않은 기능을 사용하여 처리가 실행되는)에서 실행되는 것으로 하여 설명하지만, 전술한 바와 같이, 퍼스널 컴퓨터(201)의 CPU(221) 이외에서 실행되는 것으로 해도 된다.
스텝 S81에서, 퍼스널 컴퓨터(201)의 CPU(221)는 인덱스 테이블을 생성하는 스트림의 Stream Order 입력을 받는다.
스텝 S82에서, CPU(221)는 다음 픽처의 픽처 타입이 I인지 여부를 판단한다. 스텝 S82에서, 다음 픽처의 픽처 타입이 I가 아니라고 판단된 경우, 처리는 후술하는 스텝 S85로 진행한다.
스텝 S82에서, 다음 픽처의 픽처 타입이 I라고 판단된 경우, 스텝 S83에서, CPU(221)는 디코드 깊이를 산출하기 위한 제1 카운터인 depth의 값을 depth=depth+1로 하고, 또한 디코드 깊이를 산출하기 위한 제2 카운터인 prev_depth의 값을 prev_depth=depth로 한다.
여기에서, 디코드 깊이를 산출하기 위한 제1 카운터인 depth는 GOP 내의 P 픽처, 및 GOP 선두의 2매의 B 픽처 이외의 B 픽처의 디코드 깊이를 산출하기 위해 사용되는 카운터이며, 디코드 깊이를 산출하기 위한 제2 카운터인 prev_depth는 GOP 선두의 2매의 B 픽처의 디코드 깊이를 산출하기 위해 사용되는 카운터이다.
스텝 S84에서, CPU(221)는 제1 카운터인 depth의 값을 depth=0으로 하고, 처리는 후술하는 스텝 S89로 진행한다.
스텝 S82에서, 다음 픽처의 픽처 타입이 I가 아니라고 판단된 경우, 스텝 S85에서, CPU(221)는 다음 픽처의 픽처 타입이 P인지 여부를 판단한다. 스텝 S85에서, 다음 픽처의 픽처 타입이 P가 아니라고 판단된 경우, 처리는 후술하는 스텝 S88로 진행한다.
스텝 S85에서, 다음 픽처의 픽처 타입이 P라고 판단된 경우, 스텝 S86에서, CPU(221)는 디코드 깊이를 산출하기 위한 제2 카운터인 prev_depth의 값을 리셋하여, Prev_depth=0으로 한다
스텝 S87에서, CPU(221)는 디코드 깊이를 산출하기 위한 제1 카운터인 depth의 값을 depth=depth+1로 하고, 처리는 후술하는 스텝 S89로 진행한다.
스텝 S85에서, 다음 픽처의 픽처 타입이 P가 아닌, 즉, B 픽처라고 판단된 경우, 스텝 S88에서, CPU(221)는 depth=0인지 여부, 환언하면, GOP 선두 2매의 B 픽처인지 여부를 판단한다.
스텝 S84, 또는 스텝 S87의 처리 종료 후, 또는 스텝 S88에서, depth=0이 아니라고 판단된 경우, 스텝 S89에서, CPU(221)는 디코드 깊이 depth of Past Frames for Decoding의 값을 depth of Past Frames for Decoding=depth로 하고, 처리는 후술하는 스텝 S93으로 진행한다.
구체적으로는, 픽처 타입이 I인 경우, 스텝 S84에서, 디코드 깊이를 산출하기 위한 제1 카운터인 depth의 값은 depth=0으로 되어 있으므로, I 픽처의 디코드 깊이 depth of Past Frames for Decoding의 값은 0이 되고, 픽처 타입이 P인 경우, 스텝 S87에서, 디코드 깊이를 산출하기 위한 제1 카운터인 depth의 값은 하나씩 인크리먼트되므로, P 픽처의 디코드 깊이 depth of Past Frames for Decoding의 값은 각각 GOP의 선두(I 픽처)로부터 세어, P 픽처가 올 때마다 1 인크리먼트한 값이 되고, 픽처 타입이 B이며, 또한 GOP 선두 2매의 B 픽처 이외의 B 픽처인 경우, 디코드 깊이 depth of Past Frames for Decoding의 값은 직전의 P 픽처와 동일한 것이 된다.
스텝 S88에서, depth=0인, 즉, GOP 선두 2매의 B 픽처라고 판단된 경우, 스텝 S90에서, CPU(221)는 이 B 픽처에 대하여, 과거 참조 화상이 존재하지 않는지 여부, 환언하면, 이 B 픽처는 스트림의 선두, 또는 Closed GOP 선두의 2매의 B 픽처 중 어느 하나인지 여부를 판단한다.
스텝 S90에서, 과거 참조 화상이 존재하지 않는, 즉, 이 B 픽처는 스트림의 선두, 또는 Closed GOP 선두의 2매의 B 픽처 중 어느 하나라고 판단된 경우, 스텝 S91에서, CPU(221)는 디코드 깊이 depth of Past Frames for Decoding의 값을 depth of Past Frames for Decoding=0으로 하고, 처리는 후술하는 스텝 S93으로 진행한다.
스텝 S90에서, 과거 참조 화상이 존재한다고 판단된 경우, 즉, 이 B 픽처는 스트림의 선두, 또는 Closed GOP의 어느 것과도 상이한 GOP 선두의 2매의 B 픽처 중 어느 하나인 경우, 스텝 S92에서, CPU(221)는 디코드 깊이 depth of Past Frames for Decoding의 값을 depth of Past Frames for Decoding=prev_depth로 하고, 처리는 후술하는 스텝 S93으로 진행한다.
구체적으로는, 스텝 S86, 즉, P 픽처가 왔을 때 prev_depth의 값은 리셋되고 스텝 S83, 즉, I 픽처가 왔을 때 prev_depth의 값은 depth+1로 되어 있으므로, GOP 선두이며, 또한 스트림의 선두, 또는 Closed GOP가 아닌 GOP의 B 픽처는 그 직전의 P 픽처의 depth of Past Frames for Decoding의 값에 1을 더한 값으로 된다.
스텝 S89, 스텝 S91, 또는 스텝 S92의 처리 종료 후, 스텝 S93에서, CPU(221)는 스트림이 종료되었는지 여부를 판단한다. 스텝 S93에서, 스트림이 종료되어 있지 않다고 판단된 경우, 처리는 스텝 S82으로 복귀하여, 그 이후의 처리가 반복된다. 스텝 S93에서, 스트림이 종료되었다고 판단된 경우, 처리가 종료된다.
이와 같은 처리에 의해, 도 6을 사용하여 설명한 인덱스 테이블의 depth of Past Frames for Decoding의 값이 산출되어, 디코드 처리의 제어에 사용된다.
다음에, 도 13의 플로차트를 참조하여, 도 12의 깊이 정보 산출 처리에 의해 산출된 depth of Past Frames for Decoding의 값을 사용하여, 도 4를 사용하여 설명한 재생 장치(61) 또는 도 9 및 도 10을 사용하여 설명한 퍼스널 컴퓨터(201)에 의해 실행되는 디코드 처리 2에 대하여 설명한다.
스텝 S121 내지 스텝 S126에서, 도 11의 스텝 S41 내지 스텝 S46과 기본적으로 동일한 처리가 실행된다.
즉, 스트림 복호 위치 검출 처리부(22)(CPU(221)의 스트림 복호 위치 검출 처리부(22))는 조작 입력 취득부(21)(CPU(221)의 GUI 제어부(251))로부터, 재생 위치의 지정(스트림 No. 프레임 No.) 입력을 받아, 디코드 제어부(72)(CPU(221)의 디코드 제어부(72))에 공급한다. 디코드 제어부(72)(CPU(221)의 디코드 제어부(72))는 공급된 스트림 No.에 대응하는 인덱스 테이블을 인덱스 관리부(24)(기억 장 치(204), 외부 영상 기록 재생 장치(205), 또는 HDD(226))로부터 취득한다.
디코드 제어부(72)(CPU(221)의 디코드 제어부(72))는 인덱스 테이블로부터, 디코드에 필요한 정보인, 예를 들면, 픽처 타입, 참조 화상에 관한 정보, 데이터 길이, 또는 메모리 내의 어드레스 등의 정보를 추출하고, 사용자로부터의 지령을 기초로, 재생 출력되는 프레임의 디코드 순서와 디코더(디코드의 방법)를 결정한다.
그리고, 디코드 제어부(72)(CPU(221)의 디코드 제어부(72))는 인덱스 테이블에 기재된 정보를 참조하여, 디코드에 필요한 전방향 화상 중, 가장 재생 프레임으로부터 먼 프레임 간의 프레임 수 (깊이)(Depth of Past Frames for Decoding)를 검출하고, 인덱스 테이블에 기재된 정보를 참조하여, 지정된 프레임 No.의 프레임을 디코드하기 위해 참조 화상으로서 필요한 프레임(디코드하는 프레임으로서 지정되어 있는 프레임이 I 픽처가 아닌 경우에는, 직전의 I 픽처를 포함하는 적어도 1개의 프레임)의 프레임 No.를 취득한다.
그리고, 스텝 S127에서, 도 14를 사용하여 후술하는 디코드 전환 결정 처리가 실행된다.
즉, 통상 재생 모드의 경우나, 스크러브 재생이라도 이미 베이스 밴드 화상 데이터용 메모리(31)에 참조 프레임이 존재하고 있는 경우에는, 이 후의 디코드 처리가 짧다고 예측할 수 있으므로, 깊이 정보를 사용한 처리는 행하지 않고, 통상의 디코드 처리(스텝 S130내지 스텝 S133의 처리)가 행해진다. 한편, 스크러브 모드에서 과거 참조 화상도 없는 경우, 즉, 랜덤으로 재생 중에 주위의 프레임이 디코 드되어 있지 않은 경우, 인덱스 테이블에 기재되어 있는 깊이 정보를 이용하여, 통상 디코드를 행해도 처리가 충분한지 여부를 판단하고, 디코드 처리를 통상 디코드 처리(스텝 S130 내지 스텝 S133의 처리)로 하는지, 대체 처리(스텝 S129의 처리)로 하는지가 결정된다.
스텝 S128에서, 디코드 제어부(72)(CPU(221)의 디코드 제어부(72))는 스텝 S127에서 실행된 디코드 전환 결정 처리에서, 대체 표시를 실행한다고 결정되었는지 여부를 판단한다.
스텝 S128에서, 대체 표시를 실행하는 것으로 결정되었다고 판단된 경우, 스텝 S129에서, 디코드 제어부(72)(CPU(221)의 디코드 제어부(72))는 저해상도 화상 또는 근방 화상을 사용한 대체 표시를 실행시켜, 처리가 종료된다.
구체적으로는, 대체 방법으로서는, 예를 들면, B 픽처의 디코드를 행하지 않고, I 픽처 또는 P 픽처만 디코드를 행하거나, I 픽처 등 특정한 픽처 타입의 디코드(프레임 내 압축 방식의 디코드)만을 행하거나, 디코드 자체를 고속으로 처리하는 것을 목적으로 하여 저해상도의 디코드를 행하는 등, 필요에 따라 재생 출력되는 화상의 화질과 디코드 시간과의 밸런스를 고려하여, 최적의 디코드 알고리즘이나 디코더(디코드 방법)가 선택되도록 되어 있다.
또한, 대체의 방법으로서, 예를 들면, 프록시 파일로서 P 픽처 및 B 픽처, 또는 P 픽처 중 적어도 어느 하나 1 프레임을 일단 디코드하여 I 픽처로 재인코드한 것을 별도 준비하고, 이 I 픽처를 사용하여 화상을 표시하도록 해도 된다. 프록시 파일의 상세에 대해서는 후술한다.
스텝 S128에서, 대체 표시를 실행하지 않는 것으로 결정되었다고 판단된 경우, 스텝 S130 내지 스텝 S133에서, 도 11의 스텝 S47 내지 스텝 S50과 동일한 처리가 실행되어, 처리가 종료된다.
즉, 디코드 제어부(72)(CPU(221)의 디코드 제어부(72))는 베이스 밴드 메모리 관리부(73)에 의해 관리되는 베이스 밴드 화상 데이터용 메모리(31)에 기억되어 있는 베이스 밴드 화상 데이터를 참조하여(RAM(223)의 베이스 밴드 화상 데이터용 메모리(31)로서 이용되고 있는 기억 영역에 기억되어 있는 베이스 밴드 화상 데이터를 참조하여), 베이스 밴드 화상 데이터용 메모리(31)에, 필요한 참조 화상이 필요한 품질로 모두 존재하는지 여부를 판단한다.
베이스 밴드 화상 데이터용 메모리(31)에, 필요한 참조 화상이 필요한 품질로 모두 존재하고 있지 않다고 판단된 경우, 환언하면, 필요한 참조 화상 중, 베이스 밴드 화상 데이터용 메모리(31)에, 필요한 품질로 존재하고 있지 않은 것이 있다고 판단된 경우, 베이스 밴드 화상 데이터용 메모리(31)에 존재하지 않는 참조 화상이, 대응하는 디코더(디코드 방법)로 디코드되고, 처리는 스텝 S130으로 복귀하여, 그 이후의 처리가 반복된다.
그리고, 베이스 밴드 화상 데이터용 메모리(31)에, 필요한 참조 화상이 필요한 품질로 모두 존재하고 있다고 판단된 경우, 디코드 제어부(72)의 제어에 따라, 베이스 밴드 화상 데이터용 메모리(31)(RAM(223)의 베이스 밴드 화상 데이터용 메모리(31)로서 이용되고 있는 기억 영역)에 기억되어 있는 참조 화상을 이용하여, 재생되는 프레임이, 대응하는 디코더(디코드 방법)로 디코드되어, 베이스 밴드 화 상 데이터용 메모리(31)(RAM(223)의 베이스 밴드 화상 데이터용 메모리(31)로서 이용되고 있는 기억 영역)에 공급된다.
그리고, 베이스 밴드 신호 처리부(32)(CPU(221)의 베이스 밴드 신호 처리부(32))는 디코드 제어부(72)에 의해 디코드되고, 베이스 밴드 화상 데이터용 메모리(31)(RAM(223)의 베이스 밴드 화상 데이터용 메모리(31)로서 이용되고 있는 기억 영역)에 의해 기억되어 있는 베이스 밴드 화상 데이터를 취득하여, 각종 보정(베이스 밴드 처리)을 실행하고, 생성된 출력 베이스 밴드 화상 데이터 프레임을 출력하여, GUI 표시 제어부(71)의 처리에 의해 표시시키고(CPU(221)의 GUI 제어부(251)의 처리에 의해 디스플레이(229)에 출력하여 표시시키고), 처리가 종료된다.
이와 같은 처리에 의해, 스크러브 재생에 있어서, 참조 화상을 생성하기 위해, 동일 프레임을 중복하여 디코드할 필요가 없어지기 때문에, 고속으로 재생 프레임을 디코드할 수 있는 동시에, 후술하는 디코드 전환 처리에 의해, 예를 들면, 스크러브 모드에서 과거 참조 화상도 없는 경우, 즉, 랜덤으로 재생 중에 주위의 프레임이 디코드되어 있지 않은 경우 등에 있어서, 인덱스 테이블에 기재되어 있는 깊이 정보가 이용되어, 통상 디코드를 행해도 처리가 충분한지 여부가 판단되고, 디코드를 전환하여 대체 표시를 행할 것인지 여부가 판단되어, 필요에 따라, 대체 표시가 행해진다.
즉, 전술한 바와 같이 하여, 디코드 순서를 제어함으로써, 예를 들면, 스크러브 재생(랜덤 재생) 등의 특정 위치로부터의 재생 시나, 이른바 트릭 재생의 레이턴시을 단축하여, 지연 시간 최단으로 원하는 프레임을 재생 출력하는 것이 가능 해질 뿐만 아니라, 통상 디코드를 행하면 처리가 충분하지 않은 경우에는, 디코드를 전환하여 대체 표시가 실행된다.
다음에, 도 14의 플로차트를 참조하여, 도 13의 스텝 S127에서 실행되는 디코드 전환 결정 처리에 대하여 설명한다.
스텝 S161에서, 디코드 제어부(72)(CPU(221)의 디코드 제어부(72))는 현재의 재생 모드가 스크러브 모드인지 여부를 판단한다. 스텝 S161에서, 스크러브 모드가 아니라고 판단된 경우, 처리는 후술하는 스텝 S170으로 진행한다.
스텝 S161에서, 스크러브 모드라고 판단된 경우, 스텝 S162에서, 디코드 제어부(72)(CPU(221)의 디코드 제어부(72))는 베이스 밴드 화상 데이터용 메모리(31)에, 과거 참조 프레임이 존재하는지 여부를 판단한다. 스텝 S162에서, 과거 참조 프레임이 존재한다고 판단된 경우, 처리는 후술하는 스텝 S170으로 진행한다.
스텝 S162에서, 과거 참조 프레임이 존재하지 않는다고 판단된 경우, 스텝 S163에서, 디코드 제어부(72)(CPU(221)의 디코드 제어부(72))는 디코드 가능 프레임 수가 미리 결정되어 있는지, 또는 상위 애플리케이션으로부터 지정되는지 등의 조건 설정을 기초로, 디코드 가능 프레임 수의 산출 필요가 있는지 여부를 판단한다.
구체적으로는, 디코드 가능 프레임 수는, 예를 들면, 미리 설정되어(프레임 수가 직접 지정되어) 있어도 되고, 상위 애플리케이션에 의해 지정되도록 되어 있어도 된다. 예를 들면, 디코드 가능 프레임 수는 디코드 처리에 사용되는 디코더나 CPU의 수나 클록 주파수에 의해, 설정되도록 해도 된다. 이와 같은 경우에는, 디코드 가능 프레임 수의 산출 필요는 없고, 지정되는 디코드 가능 프레임 수를 취득하도록 하면 된다.
이에 대하여, 예를 들면, 상위 애플리케이션으로부터 디코드 처리에 부여할 수 있는 시간 배분 T(예를 들면, 20ms)만이 지정된 경우에는, 디코드 가능 프레임 수의 산출 필요가 있다.
스텝 S163에서, 디코드 가능 프레임 수의 산출 필요가 있다고 판단된 경우, 스텝 S164에서, 도 15를 사용하여 후술하는 디코드 가능 프레임 수 산출 처리가 실행된다.
스텝 S163에서, 디코드 가능 프레임 수의 산출 필요가 없다고 판단된 경우, 스텝 S165에서, 디코드 제어부(72)(CPU(221)의 디코드 제어부(72))는 상위 애플리케이션에 의해 지정된, 또는 미리 설정되어 있는 디코드 가능 프레임 수를 취득한다.
스텝 S164, 또는 스텝 S165의 처리 종료 후, 스텝 S166에서, 디코드 제어부(72)(CPU(221)의 디코드 제어부(72))는 처리하는 프레임이 B 픽처인지 여부를 판단한다.
스텝 S166에서 B 픽처라고 판단된 경우, 스텝 S167에서, 디코드 제어부(72)(CPU(221)의 디코드 제어부(72))는 인덱스 테이블의 깊이 정보(depth of Past Frames for Decoding의 값)를 참조하고, 과거 참조 프레임 수 (깊이)+2>디코드 가능 프레임 수인지 여부를 판단한다.
여기에서, 과거 참조 프레임 수 (깊이)+2는 참조 화상 프레임이 전혀 존재하 지 않는 경우에, 대응하는 B 픽처를 디코드하기 위해 필요한 디코드 회수이다. 구체적으로는, 대응하는 B 픽처를 디코드하기 위해 필요한 디코드 회수는 과거의 참조 화상의 프레임 수(depth of Past Frames for Decoding의 값)와, 미래 측(시간적으로 후의 프레임)의 참조 프레임 수 1과, 자기 자신의 디코드를 위한 1회와의 합계로 된다.
스텝 S167에서, 과거 참조 프레임 수 (깊이)+2>디코드 가능 프레임 수라고 판단된 경우, 처리는 후술하는 스텝 S169로 진행하고, 과거 참조 프레임 수 (깊이)+2>디코드 가능 프레임 수가 아니라고 판단된 경우, 처리는 후술하는 스텝 S170으로 진행한다.
스텝 S166에서 B 픽처가 아니라고 판단된 경우, 스텝 S168에서, 디코드 제어부(72)(CPU(221)의 디코드 제어부(72))는 인덱스 테이블의 깊이 정보(depth of Past Frames for Decoding의 값)를 참조하여, 과거 참조 프레임 수 (깊이)+1>디코드 가능 프레임 수인지 여부를 판단한다.
여기에서, 과거 참조 프레임 수 (깊이)+1은 참조 화상 프레임이 전혀 존재하지 않는 경우에, 대응하는 P 픽처 또는 I 픽처를 디코드하기 위해 필요한 디코드 회수이다. 구체적으로는, 대응하는 P 픽처 또는 I 픽처를 디코드하기 위해 필요한 디코드 회수는 과거의 참조 화상의 프레임 수(depth of Past Frames for Decoding의 값)에, 자기 자신의 디코드를 위한 1회를 더한 회수로 된다. I 픽처의 과거 참조 프레임 수 (깊이)는 0이므로, I 픽처를 디코드하기 위해 필요한 디코드 회수는 1회로 되는 것은 물론이다.
스텝 S168에서, 과거 참조 프레임 수 (깊이)+1>디코드 가능 프레임 수라고 판단된 경우, 처리는 후술하는 스텝 S169로 진행하고, 과거 참조 프레임 수 (깊이)+1>디코드 가능 프레임 수가 아니라고 판단된 경우, 처리는 후술하는 스텝 S170으로 진행한다.
스텝 S167에서, 과거 참조 프레임 수 (깊이)+2>디코드 가능 프레임 수라고 판단된 경우, 또는 스텝 S168에서, 과거 참조 프레임 수 (깊이)+1>디코드 가능 프레임 수라고 판단된 경우, 스텝 S169에서, 디코드 제어부(72)(CPU(221)의 디코드 제어부(72))는 대체 표시를 행하는 것으로 결정하고, 처리는 도 13의 스텝 S127로 복귀하여, 스텝 S128로 진행한다.
여기에서, 대체 표시란, 구체적으로는, 예를 들면, 전술한 바와 같이, B 픽처의 디코드를 행하지 않고, I 픽처 또는 P 픽처만 디코드를 행하거나, I 픽처 등 특정한 픽처 타입의 디코드(프레임 내 압축 방식의 디코드)만을 행하거나, 디코드 자체를 고속으로 처리하는 것을 목적으로 하여 저해상도의 디코드를 행하는 등 외에, 프록시 파일로서 P 픽처 및 B 픽처, 또는 P 픽처 중 적어도 어느 하나 1 프레임을 일단 디코드하여 I 픽처로 재인코드한 것을 별도 준비하고, 이 I 픽처를 사용하여 화상을 표시함으로써, 대체 표시를 행하지 않은 경우와 비교하여, 고속으로 원하는 화상을 표시할 수 있도록 하는 것이다. 프록시 파일의 상세에 대해서는 후술한다. 대체 표시로서는, 이들 표시 방법 이외라도, 필요에 따라, 재생 출력되는 화상의 화질과 디코드 시간과의 밸런스를 고려하여, 최적의 디코드 알고리즘이나 디코더(디코드 방법)가 선택되도록 하면 된다.
스텝 S167에서, 과거 참조 프레임 수 (깊이)+2>디코드 가능 프레임 수가 아니라고 판단된 경우, 또는 스텝 S168에서, 과거 참조 프레임 수 (깊이)+1>디코드 가능 프레임 수가 아니라고 판단된 경우, 스텝 S170에서, 디코드 제어부(72)(CPU(221)의 디코드 제어부(72))는 대체 표시를 행하지 않는 것으로 결정하고, 처리는 도 13의 스텝 S127로 복귀하여, 스텝 S128로 진행한다.
이와 같은 처리에 의해, 인덱스 테이블에 기재되어 있는 깊이 정보가 이용되어, 통상 디코드를 행해도 처리가 충분한지 여부가 판단되고, 디코드를 전환하여 대체 표시를 행할 것인지 여부가 판단되어, 필요에 따라, 대체 표시가 행해진다.
다음에, 도 15의 플로차트를 참조하여, 도 14의 스텝 S164에서 실행되는 디코드 가능 프레임 수 산출 처리에 대하여 설명한다.
스텝 S201에서, 디코드 제어부(72)(CPU(221)의 디코드 제어부(72))는, 예를 들면, 1초간 30 프레임이나 1초간 15 프레임 등 단위 시간 당의 표시 프레임 수를 설정한다.
스텝 S202에서, 디코드 제어부(72)(CPU(221)의 디코드 제어부(72))는 1 프레임 표시 사이클 중, 다른 처리에 사용하는 시간을 당겨, 1 프레임의 표시에 대하여 디코드 처리에 주어지는 시간 T를 설정한다.
구체적으로는, 예를 들면, 디코드 이외의 처리에 1 프레임당 13ms 사용된다고 하면, 1초 30 프레임 표시의 경우, 1/30=33ms, 33-13=20ms로 되어, 20ms가 1 프레임의 표시에 대하여 디코드 처리에 주어지는 시간 T로 설정되고, 1초 15 프레임 표시의 경우, 1/15=66ms, 66-13=53ms로 되어, 53ms가 1 프레임의 표시에 대하여 디 코드 처리에 주어지는 시간 T로 설정된다.
스텝 S203에서, 디코드 제어부(72)(CPU(221)의 디코드 제어부(72))는 디코드 대상 스트림을 1GOP 이상 디코드하여, 평균 1 프레임 디코드 시간 A를 계측한다.
그리고, 스텝 S204에서, 디코드 제어부(72)(CPU(221)의 디코드 제어부(72))는 T÷A를 연산하여, T÷A 이하 정수(整數)의 최대값을 디코드 가능 프레임 수 X로 하고, 처리는 도 14의 스텝 S164로 복귀하여, 스텝 S166으로 진행한다.
이와 같은 처리에 의해, 디코드 가능 프레임 수 X가 산출되고, 인덱스 테이블에 기재되어 있는 깊이 정보와의 비교가 행해짐으로써, 통상 디코드를 행해도 처리가 충분한지 여부가 판단되고, 디코드를 전환하여 대체 표시를 행할 것인지 여부가 판단되어, 필요에 따라, 대체 표시를 한다.
이와 같이 하여, 본 발명이 적용됨으로써, 깊이 정보를 사용하여, 디코드 전환을 행할 것인지 여부를 결정하는 것이 가능하게 된다. 즉, 통상 재생 모드의 경우나, 스크러브 재생 모드라도 디코드가 끝난 참조 프레임이 존재하고 있는 경우에는, 이 후의 디코드 처리가 짧다고 예측 가능하므로, 깊이 정보를 사용한 처리는 행하지 않고, 통상의 디코드 처리를 행한다. 한편, 스크러브 모드이며, 또한 과거 참조 화상도 없는 경우, 즉, 랜덤으로 재생 중에 주위의 프레임이 디코드되어 있지 않은 경우, 통상 디코드를 행하면 처리가 충분하지 않게 되어 표시할 수 없게 된다고 예측되는지 여부를 판단하기 위해, 디코드 가능 프레임 수 X가 산출 또는 취득되어, 인덱스 테이블에 기재되어 있는 깊이 정보와의 비교가 행해짐으로써, 디코드 전환을 행할 것인지 여부가 결정된다.
디코드 가능 프레임 수는 프레임 수가 지정되어 있어도 되고, 디코드 시간 최대값이 지정되고, 이것을 기초로 산출되도록 해도 된다. 프레임 수가 지정되는 경우, 예를 들면, 상위 애플리케이션에서 직접 최대 디코드 프레임 수가 지정되는 것으로 해도 되고, CPU 등의 처리 능력(수나 처리 클록 속도 등 처리의 속도를 추측할 수 있는 정보)으로부터, 몇 개의 요소 파라미터를 조합하여 결정되는(예를 들면, DualCoreCPU의 3.6GHz이면 디코드 가능 프레임 수는 5 프레임이지만, SingleCoreCPU의 2GHz이면 디코드 가능 프레임 수는 2 프레임이라고 하는 바와 같이) 것으로 해도 된다. 한편, 시간이 지정된 경우, 애플리케이션이 디코드 처리에 부여할 수 있는 시간 T와 1 프레임의 평균 디코드 시간 A로부터 T/A의 값이 구해져, 디코드 가능 프레임 수가 산출된다.
또, 디코드 가능 프레임 수는, 예를 들면, 대체 표시에 있어서, 근방의 I 픽처 및 P 픽처를 사용하고, 또는 I 픽처만을 사용하여 디코드 처리가 실행되는 것과 같은 경우에도 유효하게 이용할 수 있다. 즉, 디코드 처리를 행하는 근방 화상 프레임을 선택하는 경우의 대체 대상의 제한에 사용할 수 있다. 예를 들면, 디코드 가능 프레임 수가 4 프레임이며, 1GOP15 프레임(디스플레이 오더에 있어서, B0, B1, I2, B3, B4, P5, B6, B7, P8, B9 … P14)의 경우 I2, P5, P8, P11은 디코드하고, P14는 P 픽처라도 디코드 대상에서 누락됨으로서, 스크러브 재생 등에 있어서의 고속 디코드 처리가 가능하게 된다.
이와 같이, 본 발명이 적용된 경우, 스크러브 재생 등의 특수 재생에 있어서도, 디코드의 어려움에 따라, 복호 방법을 자동적으로 전환함으로써, GOP 후반의 프레임까지도 쾌적하게 표시하는 것이 가능하게 된다. 또, 디코더의 능력에 따라, 유연하게 디코드 방식을 전환할 수 있어, 능력이 낮은 디코더 사용 시에도, 높은 스크러브 표시 성능을 유지할 수 있다.
또, 대체 표시가 실행되는 경우에는, 예를 들면, 전술한 바와 같이, B 픽처의 디코드를 행하지 않고, I 픽처 또는 P 픽처만 디코드를 행하거나, I 픽처 등 특정한 픽처 타입의 디코드(프레임 내 압축 방식의 디코드)만을 행하거나, 디코드 자체를 고속으로 처리하는 것을 목적으로 하여 저해상도의 디코드를 행하는 등 외에, 프록시 파일로서 P 픽처 및 B 픽처, 또는 P 픽처 중 적어도 어느 하나 1 프레임을 일단 디코드하여 I 픽처로 재인코드한 것을 별도 준비하고, 이 I 픽처를 사용하여 화상을 표시하는 등, 필요에 따라 재생 출력되는 화상의 화질과 디코드 시간과의 밸런스를 고려하여, 최적의 디코드 알고리즘이나 디코더(디코드 방법)가 선택된다.
다음에, 대체 표시의 일례로서 전술한 프록시 파일에 대하여 설명한다.
프록시 파일은 재생 장치(61) 또는 퍼스널 컴퓨터(201)에 의해 생성되어도 되지만, 이들 장치와는 독립적으로 구성되어 있는 변환 장치(311)에 의해 생성되어도 된다.
변환 장치(311)는, 예를 들면, MPEG2 LongGOP 스트림 등의 프레임 간 참조 부호화에 의해 부호화된 비트 스트림(I 픽처(프레임 내 부호화 프레임), P 픽처(전방향 예측 부호화 프레임), 및 B 픽처(양방향 예측 부호화 프레임)에 의해 구성되어 있는 비트 스트림)의 공급을 받고, 공급된 비트 스트림 중 P 픽처를 인코드(부호화)하여 I 픽처로 변환함으로써, 도 13의 스텝 S129에서 대체 표시가 실행되는 경우에 이용되는 프록시 파일을 생성할 수 있다.
도 16은 변환 장치(311)의 구성예를 나타내는 블록도이다.
비트 스트림 취득부(331)는 I 픽처, P 픽처, 및 B 픽처가 포함되어 있는 비트 스트림의 공급을 받아, 비트 스트림 해석부(332)에 공급한다.
비트 스트림 해석부(332)는 I 픽처, P 픽처, 및 B 픽처가 포함되어 있는 비트 스트림의 공급을 받고, 이 중, I 픽처 및 P 픽처를 디코더(334)에 공급한다. 또, 비트 스트림 해석부(332)는 디코더(334), 인코더(336), 및 프록시 파일 기억부(337)를 제어한다.
또, 비트 스트림 해석부(332)는 공급된 비트 스트림을 해석하는 동시에, 인코더(336)에 의해 실행되는 처리 결과를 해석하고, 도 6을 사용하여 설명한 인덱스 파일을 생성하고, 인덱스 파일 기억부(333)에 공급할 수 있는 것으로 해도 된다.
또한, 인덱스 파일에는, 후술하는 프록시 인덱스 기억부(338)에 의해 기억되는 정보를 기초로, 도 6을 사용하여 설명한 정보 이외에도, 예를 들면, 도 17에 나타낸 바와 같이, 프록시 파일에 포함되어 있는 오리지널 스트림에서의 P 픽처에 대응하는 프레임이며 인코더(336)에 의해 인코드된 I 픽처에 관한 부호화 정보로서, 픽처 사이즈(Proxy File Picture Size)와, 그들 프레임의 어드레스(Proxy File Address)가 기재되는 것으로 하면 바람직하다. 이들 정보는 인코더(336)에 의해 후술하는 프록시 인덱스 기억부(338)에 기억된다.
인덱스 파일 기억부(333)는 비트 스트림 해석부(332)로부터 공급되는, 도 17을 사용하여 설명한 인덱스 파일을 기억한다.
디코더(334)는 비트 스트림 해석부(332)로부터 공급된 I 픽처 및 P 픽처를 디코드하여, 비압축 베이스 밴드 화상을 생성하고, P 픽처에 대응하는 비압축 베이스 밴드 화상 데이터를 인코더(336)에 공급한다. 이 때, 디코더(334)는 생성된 비압축 베이스 밴드 화상이 그 후 디코드되는 프레임의 참조 화상으로서 필요하게 되는 경우, 생성된 비압축 베이스 밴드 화상을 참조 화상용 메모리(335)에도 공급하여 기억시키고, P 픽처를 디코드하는 경우, 참조 화상용 메모리(335)에 기억되어 있는 참조용 화상을 적당히 참조한다.
인코더(336)는 공급된 P 픽처에 대응하는 비압축 베이스 밴드 화상 데이터를 프레임 내 부호화에 의해 I 픽처로서 인코드하여, 생성된 I 픽처를 프록시 파일 기억부(337)에 공급한다. 또, 인코더(336)는 압축 처리 시(I 픽처 생성 시)의 파라미터로서, 예를 들면, 압축 레이트 등을 설정할 수 있다.
도 18을 참조하여, 인코더(336)로부터 출력되는 I 픽처의 비트 레이트를 고정으로 하는 경우에 대하여 설명한다.
인코더(336)는 출력되는 I 픽처의 비트 레이트를 고정으로 하는 경우, 예를 들면, 프록시 파일 기억부(337)의 기억 용량 등에 따른 소정의 비트 레이트로 되도록, I 픽처를 생성한다. 일반적으로, I 픽처보다 전방 참조를 사용한 P 픽처 쪽이 정보량이 적기 때문에, P 픽처를 재압축하여 I 픽처로 인코드하는 경우의 비트 레이트는 변환 전(P 픽처)의 비트 레이트보다 큰 비트 레이트로 하는 쪽이, 화질이 유지되기 쉬어 바람직하다. 또, 이 비트 레이트를 사용자에 의해 설정 가능하도록 해도 된다.
다음에, 도 19를 참조하여, 인코더(336)로부터 출력되는 I 픽처의 비트 레이트를 변동으로 하는 경우에 대하여 설명한다.
인코더(336)는 비트 스트림 해석부(332), 또는 디코더(334)로부터, 오리지널 비트 스트림의 I 픽처(GOP 단위로 선두의 I 픽처)의 레이트를 취득하고, 그 값에 따른 비트 레이트로 되도록, I 픽처를 생성한다. 일반적으로, 오리지널 압축 스트림의 I 픽처의 비트 레이트는 그 GOP에 있어서의 영상의 복잡함을 반영하고 있다. 따라서, P 픽처로부터 변환되어 생성되는 I 픽처의 비트 레이트도, GOP에 있어서의 영상의 복잡함을 반영하고 있는 선두의 I 픽처의 비트 레이트에 따라, 변동시킴으로써, 화질의 열화를 방지하는 것이 가능하게 된다.
그리고, 프록시 파일 기억부(337)는 인코더(336)로부터 공급된, 도 18 또는 도 19를 사용하여 설명한 바와 같이 하여 생성되고, 인코더(336)로부터 공급된 I 픽처의 데이터를 기초로, 프록시 파일(proxy, 즉, 대리 데이터 파일)을 생성하여 기억한다.
프록시 인덱스 기억부(338)는 인코더(336)로부터, 공급된 P 픽처에 대응하는 비압축 베이스 밴드 화상 데이터가 프레임 내 부호화에 의해 I 픽처로서 인코드되어 I 픽처가 생성될 때마다, 생성된 I 픽처에 관한 부호화 정보로서, 픽처 사이즈(Proxy File Picture Size)와, 그들의 프레임의 어드레스(Proxy File Address)를 프록시 인덱스로서 취득하여 기억하고, 비트 스트림 해석부(332)에 공급한다.
다음에, 도 20을 참조하여, 오리지널 비트 스트림에서 P 픽처를 디코드하는 경우에 대하여 설명한다.
예를 들면, MPEG2 LongGOP의 비트 스트림에서, P11 프레임을 재생 출력하는 경우, 종래에 있어서는, 도 20 (A)에 나타낸 바와 같이, P11을 포함하는 GOP 선두의 I 픽처인 I2 프레임을 디코드하고, 이어서, P5, P8 프레임을 디코드하여 참조 프레임 화상 데이터를 생성한 후, 목적이 되는 P11 프레임을 디코드할 수 있도록 되어 있었다.
이에 대하여, 프록시 파일을 이용하여 P11 프레임을 재생 출력하는 경우, 도 20 (B)에 나타낸 바와 같이, P11 프레임에 대응하는 프레임 내 압축된 I 픽처인 I11 프레임을 프록시 파일로부터 추출하여 디코드하고, 재생 출력하면 된다.
따라서, 프록시 파일을 이용하여 P11 프레임을 재생 출력하는 경우, 종래의 디코드 회수 4회와 비교하여, 디코드 회수는 1회만으로 되어, 고속으로 지정된 프레임을 재생 출력할 수 있다.
다음에, 도 21을 참조하여, 오리지널 비트 스트림에서의 B 픽처를 디코드하는 경우에 대하여 설명한다.
예를 들면, MPEG2 LongGOP의 비트 스트림에서, B12 프레임을 재생 출력하는 경우, 종래에 있어서는 도 21 (A)에 나타낸 바와 같이, B12를 포함하는 GOP 선두의 I 픽처인 I2 프레임을 디코드하고, 이어서, P5, P8, P11, P14 프레임을 디코드하여 참조 프레임 화상 데이터를 생성한 후, 목적이 되는 B12 프레임을 디코드할 수 있도록 되어 있었다.
이에 대하여, 프록시 파일을 이용하여 B12 프레임을 재생 출력하는 경우, 도 21 (B)에 나타낸 바와 같이, B12 프레임의 참조 화상으로서 필요한 P11 프레임 및 P14 프레임에 대응하는 프레임 내 압축된 I 픽처인 I11 프레임 및 I14 프레임을 디코드하고, 이들을 참조 화상으로 하여 목적이 되는 B12 프레임을 디코드하고 재생 출력하면 된다.
따라서, 프록시 파일을 이용하여 B12 프레임을 재생 출력하는 경우, 종래의 디코드 회수 6회와 비교하여, 디코드 회수는 3회로 되어, 고속으로 지정된 프레임을 재생 출력할 수 있다.
전술한 일련의 처리는 하드웨어에 의해 실행시킬 수도 있고, 소프트웨어에 의해 실행시킬 수도 있다. 이 경우, 예를 들면, 변환 장치(311)와 동일한 기능을 도 9를 사용하여 설명한 퍼스널 컴퓨터(201)에 의해 실현시킬 수 있다.
도 9를 사용하여 설명한 퍼스널 컴퓨터(201)에서, 소프트웨어에 의해, 변환 장치(311)와 동일한 기능이 실현되는 경우의 기능의 일례에 대하여 설명하기 위한 기능 블록도를 도 22에 나타낸다.
그리고, 도 16, 또는 도 9에서의 경우와 대응하는 부분에는, 동일한 부호를 부여하고 있어, 그 설명은 적당히 생략한다.
CPU(221)가 소정의 프로그램을 실행함으로써, 퍼스널 컴퓨터(201)는 도 16의 비트 스트림 해석부(332), 디코더(334), 및 인코더(336)와 동등한 기능을 가진다.
CPU(221)는 마우스(202) 또는 키보드(203) 등의 입력 디바이스에 의해 입력된 사용자의 조작을 기초로, 기억 장치(204), 외부 영상 기록 재생 장치(205), 또는 HDD(226) 중 어느 하나의 영역에 대응하는 비트 스트림 기억부(281)에 기록되어 있는 비트 스트림 중 I 픽처 및 P 픽처를 참조 화상용 메모리(335)에 대응하는 RAM(223)의 영역을 이용하여 디코드하고, P 픽처만을 I 픽처로서 인코드함으로써, 프록시 파일을 생성하여, 기억 장치(204), 외부 영상 기록 재생 장치(205), 또는 HDD(226) 중 어느 하나의 영역에 대응하는 프록시 파일 기억부(337)에 기억시킨다.
또한, CPU(221)는 P 픽처에 대응하는 비압축 베이스 밴드 화상 데이터가 프레임 내 부호화에 의해 I 픽처로서 인코드되어 I 픽처가 생성될 때마다, 생성된 I 픽처에 관한 부호화 정보로서, 픽처 사이즈(Proxy File Picture Size)와, 그들 프레임의 어드레스(Proxy File Address)를 프록시 인덱스로서 프록시 인덱스 기억부(338)에 대응하는 RAM(223)의 영역에 보존시키는 동시에, 비트 스트림을 해석하고, 프록시 인덱스 기억부(338)에 보존되어 있던 프록시 인덱스를 취득하여 인덱스 파일을 생성하고, 기억 장치(204), 외부 영상 기록 재생 장치(205), 또는 HDD(226) 중 어느 하나의 영역에 대응하는 인덱스 파일 기억부(333)에 기억시킨다.
재생 장치(61)의 디코드 제어부(72)는 기억 장치(204), 외부 영상 기록 재생 장치(205), 또는 HDD(226) 중 어느 하나의 영역에 대응하는 인덱스 파일 기억부(333)에 기록되어 있는 인덱스 파일을 소정의 전송 매체를 통해 취득한다. 또, 디코드 제어부(72) 또는 디코드 처리부(76)는 도 13의 스텝 S129에서 프록시 파일을 이용하여 대체 표시를 실행하는 경우, 기억 장치(204), 외부 영상 기록 재생 장치(205), 또는 HDD(226) 중 어느 하나의 영역에 대응하는 프록시 파일 기억부(337)에 기억되어 있는 프록시 파일을 소정의 전송 매체를 통해 취득하여, 디코드 처리를 실행한다.
그리고, 예를 들면, 도 9를 사용하여 설명한 퍼스널 컴퓨터(201)가 도 22에 나타내는 기능에 더하여 도 10을 사용하여 설명한 디코드 처리를 실행하는 기능을 가지고 있는 경우, 도 10의 퍼스널 컴퓨터(201)의 디코드 제어부(72)는 기억 장치(204), 외부 영상 기록 재생 장치(205), 또는 HDD(226) 중 어느 하나의 영역에 대응하는 인덱스 파일 기억부(333)로부터 인덱스 파일을 취득한다. 또, 디코드 제어부(72) 또는 디코드 처리부(76)는 도 13의 스텝 S129에서 프록시 파일을 이용하여 대체 표시를 실행하는 경우, 기억 장치(204), 외부 영상 기록 재생 장치(205), 또는 HDD(226) 중 어느 하나의 영역에 대응하는 프록시 파일 기억부(337)로부터 프록시 파일을 취득하여, 디코드 처리를 실행한다.
다음에, 도 23의 플로차트를 참조하여, 도 16을 사용하여 설명한 변환 장치(311), 또는 도 9 및 도 22를 사용하여 설명한 퍼스널 컴퓨터의 CPU(221)에서 실행되는 프록시 파일 생성 처리 1에 대하여 설명한다.
스텝 S221에서, 비트 스트림 취득부(331)(CPU(221))는 오리지널 비트 스트림을 취득하여, 비트 스트림 해석부(332)(CPU(221))의 비트 스트림 해석부(332)에 공급한다.
스텝 S222에서, 비트 스트림 해석부(332)(CPU(221)의 비트 스트림 해석부(332))는 공급된 오리지널 비트 스트림 중 1 픽처를 판독한다.
스텝 S223에서, 비트 스트림 해석부(332)(CPU(221)의 비트 스트림 해석부(332))는 판독한 픽처를 해석한다. 즉, 비트 스트림 해석부(332)는 도 17을 사용하여 설명한 인덱스 파일 중 대응하는 픽처의 정보를 취득한다.
스텝 S224에서, 비트 스트림 해석부(332)(CPU(221)의 비트 스트림 해석 부(332))는 판독한 픽처가 I 픽처 또는 P 픽처인지 여부를 판단한다. 스텝 S224에서, I 픽처 또는 P 픽처가 아닌, 즉, B 픽처라고 판단된 경우, 처리는 후술하는 스텝 S230으로 진행한다.
스텝 S224에서, I 픽처 또는 P 픽처라고 판단된 경우, 스텝 S225에서, 비트 스트림 해석부(332)(CPU(221)의 비트 스트림 해석부(332))는 판독한 I 픽처 또는 P 픽처를 디코더(334)에 공급한다. 디코더(334)는 공급된 I 픽처 또는 P 픽처를 디코드하여, 참조 화상용 메모리(335)에 저장한다.
스텝 S226에서, 디코더(334)(CPU(221)의 디코더(334))는 디코드된 픽처가 P 픽처인지 여부를 판단한다. 스텝 S226에서, 디코드된 픽처가 P 픽처가 아닌, 즉, I 픽처라고 판단된 경우, 처리는 후술하는 스텝 S230으로 진행한다.
스텝 S226에서, 디코드된 픽처가 P 픽처라고 판단된 경우, 스텝 S227에서, 디코더(334)(CPU(221)의 디코더(334))는 디코드한 P 픽처에 대응하는 비압축 화상 프레임을 인코더(336)(CPU(221)의 인코더(336))에 공급한다. 인코더(336)는 공급된 비압축 화상 프레임을 I 픽처로서 인코드하고, 프록시 파일 기억부(337)(기억 장치(204), 외부 영상 기록 재생 장치(205), 또는 HDD(226) 중 어느 하나의 영역에 대응하는 프록시 파일 기억부(337))에 공급한다.
스텝 S228에서, 프록시 파일 기억부(337)(기억 장치(204), 외부 영상 기록 재생 장치(205), 또는 HDD(226) 중 어느 하나의 영역에 대응하는 프록시 파일 기억부(337))는 인코드되어 생성된 I 픽처에 의해 구성되는 프록시 파일을 기억한다.
스텝 S229에서, 인코더(336)는 생성된 I 픽처에 관한 부호화 정보로서, 픽처 사이즈(Proxy File Picture Size)와, 그들 프레임의 어드레스(Proxy File Address)와의 인덱스 정보, 즉, 프록시 인덱스를 프록시 인덱스 기억부(338)에 공급한다. 프록시 인덱스 기억부(338)는 해당하는 픽처의 프록시 인덱스를 기억한다.
스텝 S224에서, 판독한 픽처는 I 픽처 또는 P 픽처가 아닌, 즉, B 픽처라고 판단된 경우, 스텝 S226에서, 디코드된 픽처가 P 픽처가 아닌, 즉, I 픽처라고 판단된 경우, 또는 스텝 S229의 처리 종료 후, 스텝 S230에서, 비트 스트림 해석부(332)(CPU(221))는 모든 픽처의 처리가 종료되었는지 여부를 판단한다. 스텝 S230에서, 모든 픽처의 처리가 종료되어 있지 않다고 판단된 경우, 처리는 스텝 S222로 복귀하여, 그 이후의 처리가 반복된다.
스텝 S230에서, 모든 픽처의 처리가 종료되었다고 판단된 경우, 스텝 S231에서, 비트 스트림 해석부(332)(CPU(221)의 비트 스트림 해석부(332))는 각각의 픽처의 해석 결과와, 프록시 인덱스 기억부(338)에 기억되어 있는, 인코더(336)에 의해 I 픽처로서 인코드된 프레임, 즉, P 픽처로부터 I 픽처로 변환된 프레임의 픽처 사이즈(Proxy File Picture Size)와 어드레스(Proxy File Address)를 기초로, 도 17을 사용하여 설명한 인덱스 파일을 생성하고, 인덱스 파일 기억부(333)(기억 장치(204), 외부 영상 기록 재생 장치(205), 또는 HDD(226) 중 어느 하나의 영역에 대응하는 인덱스 파일 기억부(333))에 공급하여 기억시키고, 처리가 종료된다.
이와 같은 처리에 의해, 오리지널 비트 스트림에서의 P 픽처가 디코드된 후, I 픽처로서 인코드됨으로서 생성된 I 픽처에 의한 프록시 파일과, 오리지널 비트 스트림 및 프록시 파일에 포함되는 I 픽처(오리지널 비트 스트림에서는, P 픽처)에 관한 정보가 기재된 인덱스 파일이 생성된다.
이와 같이, 변환 장치(311)는 압축된 비트 스트림의 공급을 받고, 이것을 해석하여 인덱스 파일을 생성하는 동시에, P 픽처를 I 픽처로 변환하여 프록시 파일을 생성한다.
또, 본 발명을 적용한 퍼스널 컴퓨터(201)는 소정의 프로그램을 실행함으로써, 변환 장치(311)와 동일한 기능을 가질 수 있다.
변환 장치(311)에서는, 공급된 오리지널 비트 스트림으로부터, I 픽처와 P 픽처만이 디코드되고, P 픽처에 대응하는 프레임만이, 재차, I 픽처로서 인코드됨으로써, 프록시 파일이 생성된다.
그 때, 생성되는 프록시 파일의 I 픽처의 데이터 레이트는 고정 레이트라도 되고, 오리지널 비트 스트림이 대응하는 GOP 선두의 I 픽처의 프레임 레이트에 따라 변동시켜도(가변 레이트로 해도) 된다.
그리고, 변환 장치(311)에서 생성되는 인덱스 파일에는, 오리지널 비트 스트림의 디코드에 필요한 정보뿐만 아니라, 프록시 파일에 포함되는 I 픽처, 즉, 오리지널 비트 스트림에서 P 픽처인 프레임이, I 픽처로서 인코드된 프레임에 관한 픽처 사이즈나 어드레스 등의 정보가 포함된다.
프록시 파일이 스트림의 디코드에 이용됨으로써, 랜덤 생성에 있어서의 디코드 시간을 단축하는 것이 가능하게 된다.
또, 전술한 바와 같이, P 픽처를 I 픽처로 변환하는 PI 변환을 행하여, 변환 전의 스트림과 변환된 부분을 전환하면서 디코드 처리에 사용하도록 함으로써, 디 코드 시간을 단축하여 랜덤 액세스 성능을 향상시킬 수 있다. 그러나, 편집이나 재생을 행하기 전에, 원래의 스트림 중 P 픽처의 부분을 I 픽처로 변환하는 처리를 위해 시간이 걸려 버린다. 예를 들면, 1GOP가 15 프레임의 스트림 중 P 픽처가 5 프레임 있다고 하면, 그 5 프레임분을 모두 디코드하여, I 픽처로 변환하기(디코드한 후 재인코드하기) 위한 시간이 걸려 버린다.
그래서, 도 16의 비트 스트림 해석부(332)는 PI 변환을 행할 때, 모든 P 픽처를 I 픽처로 변환하는 것이 아니라, 필요에 따라, 일부의 P 픽처만을 I 픽처로 변환하여 프록시 파일을 생성해서 기억하도록, 디코더(334), 인코더(336), 프록시 파일 기억부(337)를 제어하도록 해도 된다.
PI 변환을 행하는 처리 시간은 I 픽처로 변환하는(디코드 한 후 재인코드하는) P 픽처의 개수에 의존하기 때문에, 변환하는 픽처의 매수를 줄일 수가 있으면, 처리 시간(프록시 파일의 생성 시간)을 단축할 수 있다. 비트 스트림 해석부(332)는 변환 후의 스트림을 디코드하는 데 필요한 최장 프레임 수가 디코더의 능력을 넘지 않는 것을, 변환하는 픽처의 매수를 결정하기 위한 판단 기준으로 하면 바람직하다. 변환 후의 스트림을 디코드하는 데 필요한 최장 프레임 수(이하, 디코드 가능 프레임 수라고도 함)는, 예를 들면, 재생 모드가 스크러브 재생인지, 통상 재생인지에 따라서도 상이하다.
구체적으로는, 디코드 가능 프레임 수는, 예를 들면, 미리 설정되어(프레임 수가 직접 지정되어) 있어도 되고, 상위 애플리케이션에 의해 지정되도록 되어 있어도 된다. 예를 들면, 디코드 가능 프레임 수는 디코드 처리에 사용되는 디코더 나 CPU 수나 클록 주파수에 의해, 설정되도록 해도 된다. 이와 같은 경우, 비트 스트림 해석부(332)는 디코드 가능 프레임 수를 산출할 필요는 없고, 지정되는 디코드 가능 프레임 수를 취득하도록 하면 된다.
이에 대하여, 예를 들면, 상위 애플리케이션으로부터 디코드 처리에 부여할 수 있는 시간 배분 T(예를 들면, 20ms)만이 지정된 경우에는, 비트 스트림 해석부(332)는 디코드 가능 프레임 수를 산출할 필요가 있다.
또, 이 때, 비트 스트림 해석부(332)는 변환하는 P 픽처가 가능한 한 연속하지 않게 I 픽처로 변환되는 P 픽처를 선택하도록 하면, 디코드 가능 프레임 수에 대한 I 픽처로 변환되는 P 픽처의 수가 적어지기 때문에 바람직하다.
도 24를 참조하여, 1GOP15 프레임, P 픽처의 수 N=4의 경우 (IBBPBBPBBPBBPBB)에 있어서의 PI 변환의 변동에 대하여 설명한다.
예를 들면, PI 변환을 행하지 않은 경우, 유효한 시퀀스(B 픽처를 제외한 I 픽처 및 P 픽처의 5 프레임의 픽처 타입)는 IPPPP로 되고, 최장 디코드 시간은 Open GOP이며, 또한 스트림 선두의 GOP가 아닌 경우의 스트림 오더에 있어서 I 픽처에 계속되는 2매의 B 픽처(예를 들면, 도 20이나 도 21에서의 B0B1)를 디코드하는 경우의 7 프레임분의 디코드에 걸리는 시간이 된다.
그리고, 전술한 바와 같이, 4매의 P 픽처를 모두 PI 변환한 경우, 유효한 시퀀스는 IIIII로 되고, 최장 디코드 시간은 어느 하나의 B 픽처를 디코드하는 경우의 3 프레임분의 디코드에 걸리는 시간이 된다.
이에 대하여, 변환하는 대상의 P 픽처를 모두 변환하지 않고, 일정 수로 줄 임으로써, 랜덤 디코드의 최장 디코드 시간이 도 24에 나타낸 바와 같이 변동한다. 즉, 4매의 P 픽처 중 1매만을 PI 변환한 경우, 변환하는 P 픽처가 가능한 한 연속하지 않도록 I 픽처로 변환되는 P 픽처를 선택함으로써, 유효한 시퀀스는 IPIPP 또는 IPPIP로 되고, 최장 디코드 시간은 5 프레임분의 디코드에 걸리는 시간이 된다. 또, 4매의 P 픽처 중 2매만을 PI 변환한 경우, 변환하는 P 픽처가 가능한 한 연속하지 않도록 I 픽처로 변환되는 P 픽처를 선택함으로써, 유효한 시퀀스는 IPIIP, IIPIP, 또는 IPIPI로 되고, 최장 디코드 시간은 4 프레임분의 디코드에 걸리는 시간이 된다.
그리고, 4매의 P 픽처 중 1매만을 PI 변환한 경우, 및 4매의 P 픽처 중 2매만을 PI 변환한 경우에 있어서, 최장 디코드 시간이 짧아지는 것은 변환하는 P 픽처가 가능한 한 연속하지 않도록 I 픽처로 변환되는 P 픽처를 선택한 경우, 즉, 도 24에 나타내는 유효한 시퀀스에 있어서의 경우만이며, 예를 들면 2 픽처를 PI 변환하는 경우이면, 변환 후의 시퀀스에 있어서 P 픽처가 2 프레임 연속하지 않도록 변환되는 P 픽처를 선택한 경우이며, 1 픽처를 PI 변환하는 경우이면, 변환 후의 시퀀스에 있어서 P 픽처가 3 프레임 연속하지 않도록 변환되는 P 픽처를 선택한 경우이다.
다음에, 도 25 내지 도 29를 참조하여, 변환하는 대상의 P 픽처를 모두 변환하지 않고, 일정 수로 줄인 경우의 구체적인 디코드 처리에 대하여 설명한다.
도 25를 참조하여, 4매의 P 픽처 중 1매만을 PI 변환하고, 유효 시퀀스를 IPIPP으로 한 경우의 디코드 처리에 대하여 설명한다.
도 25 (A)에 나타낸 바와 같이, 디스플레이 오더에 있어서, B0, B1, I2, B3, B4, P5, B6, B7, P8, B9 … 로 나란히 하고 있는 15개의 프레임에 포함되는 4매의 P 픽처 중 P8 픽처를 I 픽처로 변환하고, 프록시 파일로서 I8 픽처를 준비한 경우, 디코드 시간이 최장이 되는 것은 B0 또는 B1을 디코드하는 경우이며, 그 때 디코드할 필요가 있는 것은 도 25 (B)에 나타낸 바와 같이, 참조 화상인 I8, P11, P14, I2에 더하여, B0 또는 B1(도 25 (B)에서는, B0으로 도시되어 있음)의 5 픽처분이다.
다음에, 도 26을 참조하여, 동일하게 4매의 P 픽처 중 1매만을 PI 변환하고, 유효 시퀀스를 IPPIP로 한 경우의 디코드 처리에 대하여 설명한다.
도 26 (A)에 나타낸 바와 같이, 디스플레이 오더에 있어서, B0, B1, I2, B3, B4, P5, B6, B7, P8, B9 … 로 나란히 하고 있는 15개의 프레임에 포함되는 4매의 P 픽처 중 P11 픽처를 I 픽처로 변환하고, 프록시 파일로서 I11 픽처를 준비한 경우, 디코드 시간이 최장이 되는 것은 B9 또는 B10를 디코드하는 경우이며, 그 때 디코드할 필요가 있는 것은 도 26 (B)에 나타낸 바와 같이, 참조 화상인 I2, P5, P8, I11에 더하여, B9 또는 B10(도 26 (B)에서는, B9로 도시되어 있음)의 5 픽처분이다.
그리고, 4매의 P 픽처 중 1매만을 PI 변환한 모든 경우에 있어서 최장 디코드 시간이 5 픽처분이 되는 것은 아니다. 즉, 최장 디코드 시간이 5 픽처분이 되는 것은 도 25 및 도 26에 나타낸 바와 같이, 변환 후의 P 픽처가 3매 연속하지 않도록 한 경우만이다. 그 이외의 경우, 예를 들면, 변환 후의 시퀀스가 IIPPP로 된 경우나 IPPPI로 된 경우 등은 최장 디코드 시간이 6 픽처분 필요한 케이스가 발생하여 버려, PI 변환의 효과가 감소되어 버린다.
다음에, 도 27을 참조하여, 4매의 P 픽처 중 2매를 PI 변환하고, 유효 시퀀스를 IPIIP로 한 경우의 디코드 처리에 대하여 설명한다.
도 27 (A)에 나타낸 바와 같이, 디스플레이 오더에 있어서, B0, B1, I2, B3, B4, P5, B6, B7, P8, B9 … 로 나란히 하고 있는 15개의 프레임에 포함되는 4매의 P 픽처 중 P8 픽처 및 P11 픽처를 I 픽처로 변환하고, 프록시 파일로서 I8 픽처 및 I11 픽처를 준비한 경우, 디코드 시간이 최장이 되는 것은 B6 또는 B7, 또는 B0 또는 B1을 디코드하는 경우이며, 그 때 디코드할 필요가 있는 것은 도 27 (B)에 나타낸 바와 같이, 참조 화상인 I2, P5, I8에 더하여, B6 또는 B7(도 27 (B)에서는, B6으로 도시되어 있음)의 4 픽처분으로 되거나, 참조 화상인 I11, P14, I2에 더하여, B0 또는 B1(도 27 (B)에서는, B0으로 도시되어 있음)의 4 픽처분으로 된다.
마찬가지로, 도 28은 4매의 P 픽처 중 2매를 PI 변환하고, 유효 시퀀스를 IIPIP로 한 경우의 디코드 처리에 대하여 설명하기 위한 도면이며, 도 29는 4매의 P 픽처 중 2매를 PI 변환하고, 유효 시퀀스를 IPIPI로 한 경우의 디코드 처리에 대하여 설명하기 위한 도면이다.
도 28 (A)에 나타낸 바와 같이, 디스플레이 오더에 있어서, B0, B1, I2, B3, B4, P5, B6, B7, P8, B9 … 로 나란히 하고 있는 15개의 프레임에 포함되는 4매의 P 픽처 중 P5 픽처 및 P11 픽처를 I 픽처로 변환하고, 프록시 파일로서 I5 픽처 및 I11 픽처를 준비한 경우, 디코드 시간이 최장이 되는 것은 B9 또는 B10, 또는 B0 또는 B1을 디코드하는 경우이며, 그 때 디코드할 필요가 있는 것은 도 28 (B)에 나타낸 바와 같이, 참조 화상인 I5, P8, I11에 더하여, B9 또는 B10(도 28 (B)에서는, B9로 도시되어 있음)의 4 픽처분으로 되거나, 참조 화상인 I11, P14, I2에 더하여, B0 또는 B1(도 28 (B)에서는, B0으로 도시되어 있음)의 4 픽처분으로 된다.
또, 도 29 (A)에 나타낸 바와 같이, 디스플레이 오더에 있어서, B0, B1, I2, B3, B4, P5, B6, B7, P8, B9 … 로 나란히 하고 있는 15개의 프레임에 포함되는 4매의 P 픽처 중 P8 픽처 및 P14 픽처를 I 픽처로 변환하고, 프록시 파일로서 I8 픽처 및 I14 픽처를 준비한 경우, 디코드 시간이 최장이 되는 것은 B6 또는 B7, 또는 B12 또는 B13을 디코드하는 경우이며, 그 때 디코드할 필요가 있는 것은 도 29 (B)에 나타낸 바와 같이, 참조 화상인 I2, P5, I8에 더하여, B6 또는 B7(도 29 (B)에서는, B6으로 도시되어 있음)의 4 픽처분으로 되거나, 참조 화상인 I8, P11, I14에 더하여, B12 또는 B13(도 29 (B)에서는, B12로 도시되어 있음)의 4 픽처분으로 된다.
그리고, 이 경우에도 마찬가지로, 4매의 P 픽처 중 2매를 PI 변환한 모든 경우에 있어서 최장 디코드 시간이 4 픽처분이 되는 것이 아니다. 즉, 최장 디코드 시간이 4 픽처분이 되는 것은 도 27 내지 도 29에 나타낸 바와 같이, 변환 후의 P 픽처가 2매 연속하지 않도록 한 경우만이다. 그 이외의 경우, 예를 들면, 변환 후의 시퀀스가 IIPPI로 된 경우나 IPPII로 된 경우 등은 PI 변환의 효과가 감소되어 버린다.
또, 도 25 내지 도 29에서는, I 픽처 또는 P 픽처 사이의 B 픽처의 수가 각 각 2인 경우에 대하여 설명했지만, I 픽처 또는 P 픽처 사이의 B 픽처의 수가 2 이상의 어떠한 수라도, 연속하는 B 픽처의 디코드를 위해 필요하게 되는 참조 화상의 매수는 동일하므로, 각각의 경우에 있어서의 최장 디코드 시간이 동일하다는 것은 물론이다.
다음에, 도 30의 플로차트를 참조하여, 변환하는 P 픽처의 설정 처리에 대하여 설명한다.
스텝 S281에서, 도 15를 사용하여 설명한 경우와 동일한 디코드 가능 프레임 수 산출 처리가 실행되어, 디코드 가능 프레임 수가 구해진다.
그리고, 변환 장치(311)의 비트 스트림 해석부(332)는, 예를 들면, 디코드 가능 프레임 수가 미리 정해져 있거나, 상위 애플리케이션으로부터 지정되도록 되어 있는 경우, 스텝 S281에서 디코드 가능 프레임 수 산출 처리를 실행하지 않고, 미리 정해져 있는, 또는, 상위 애플리케이션으로부터 지정되는 디코드 가능 프레임 수를 취득하도록 하면 된다.
스텝 S282에서, 변환 장치(311)의 비트 스트림 해석부(332)는 비트 스트림 취득부(331)에 의해 취득되는 비트 스트림의 1GOP 중 P 픽처의 수를 N, 디코드 가능 프레임 수를 X로 하고, N+3>X인지 여부를 판단한다.
스텝 S282에서, N+3>X가 아니라고 판단된 경우, 스텝 S283에서, 비트 스트림 해석부(332)는 PI 변환을 행하지 않는 것으로 하고, 처리가 종료된다.
N+3≤X인 경우, PI 변환을 행하지 않은 비트 스트림에서 가장 디코드 시간이 걸려 버릴 프레임의 디코드 처리를 위해 필요하게 되는 시간은 디코드 가능 프레임 수 X를 디코드하기 위해 필요하게 되는 시간보다 짧다. 즉, 이와 같은 경우에는, PI 변환을 행할 필요가 없다.
스텝 S282에서, N+3>X라고 판단된 경우, 환언하면, PI 변환을 행하지 않은 비트 스트림에서 가장 디코드 시간이 걸려 버릴 프레임의 디코드 처리를 위해 필요하게 되는 시간은 디코드 가능 프레임 수 X를 디코드하기 위해 필요하게 되는 시간보다 길다고 판단된 경우, 스텝 S284에서, 비트 스트림 해석부(332)는 PI 변환 후의 시퀀스에서 디코드 처리가 충분한 P 픽처의 최대 연속 수인 PI 스킵 수 S를 임시로 X-3으로 한다.
스텝 S285에서, 비트 스트림 해석부(332)는 S=X-3인 경우에 있어서, N/S>1인지 여부를 판단한다.
스텝 S285에서, N/S>1이라고 판단된 경우, 스텝 S286에서, 비트 스트림 해석부(332)는 PI 스킵 수 S를 X-3으로 한다.
스텝 S285에서, N/S>1이 아니라고 판단된 경우, 스텝 S287에서, 비트 스트림 해석부(332)는 PI 스킵 수 S를 N/2(단, 정수가 아닌 경우에는, 가까운 값의 정수)로 한다.
스텝 S286 또는 스텝 S287의 처리 종료 후, 스텝 S288에서, 비트 스트림 해석부(332)는 PI 스킵 수 S를 기초로, 변환하는 P 픽처를 설정하고, 처리가 종료된다.
이와 같은 처리에 의해, 디코드 가능 프레임 수와 1GOP 중 P 픽처의 수를 기초로, PI 변환 후의 시퀀스에서 디코드 처리가 충분한 P 픽처의 최대 연속수인 PI 스킵 수가 구해지고, 이것을 기초로, I 픽처로 변환되는 P 픽처가 설정된다. 이와 같이 하여, PI 변환되는 P 픽처의 수를 가능한 한 감소시킨 경우, 모든 P 픽처를 I 픽처에 반환하는 경우와 비교하여, 프록시 파일을 생성하기 위한 시간을 삭감하는 것이 가능하게 된다.
도 31을 사용하여, I 픽처로 변환되는 P 픽처의 구체적인 설정의 예, 즉, 1GOP에 포함되는 P 픽처의 수 N이 N=11인 경우에 있어서의 디코드 가능 프레임 수 X와, PI 스킵 수 S와의 관계, 및 I 픽처로 변환되는 P 픽처의 설정에 대하여 설명한다.
예를 들면, X=4, S=1의 경우, PI 변환 후의 P 픽처는 연속하여 존재해서는 안 되기 때문에, PI 변환 후의 시퀀스는 IPIPIPIPIPIP로 된다. 또, 예를 들면, X=5, S=2의 경우, PI 변환 후의 P 픽처는 2매만 연속시킬 수 있기 때문에, PI 변환 후의 시퀀스는 IPPIPPIPPIPP로 된다. 또, 예를 들면, X=6, S=3의 경우, PI 변환 후의 P 픽처는 3개까지만 연속시킬 수 있기 때문에, PI 변환 후의 시퀀스는 IPPPIPPPIPPP로 된다.
또, 예를 들면, X=7, S=4의 경우, PI 변환 후의 P 픽처는 4매까지 연속시킬 수 있기 때문에, PI 변환 후의 시퀀스는, 단순하게는, IPPPPIPPPPIP로 해도 되고, P 픽처의 연속 수가 4매 이하이며, 또한 I 픽처로의 변환 수가 2매 이하이면, 이 이외의 시퀀스(예를 들면, IPPPPIPPPIPP 등)로 해도 된다. 단, 연속하는 P 픽처의 수는 가능한 한 적은 쪽이 바람직하기 때문에, X=7, S=4에서의 경우에는, X=6, S=3에서의 경우와 동일하게 하여, 유효 시퀀스를 IPPPIPPPIPPP로 한 쪽이, PI 변환되 는 픽처 수가 동일하여 최장의 디코드 시간을 보다 단축할 수 있어, 바람직하다.
또, 예를 들면, X=8, S=5의 경우, PI 변환 후의 P 픽처는 5매까지 연속시킬 수 있기 때문에, PI 변환 후의 시퀀스는 IPPPPPIPPPPP로 된다. 또한, 예를 들면, X=9, S=5의 경우, 전술한 스텝 S285에서, N/S>1이라고 판단되므로, 비트 스트림 해석부(332)는 PI 스킵 수 S를 N/2(단, 정수가 아닌 경우에는, 가까운 값의 정수)로부터 S=5로 한다. 그리고, 14(=N+3)>X≥10의 경우에도, 전술한 스텝 S285에서 N/S>1이라고 판단되므로, 비트 스트림 해석부(332)는 PI 스킵 수 S를 S=5로 한다. 이 때, PI 변환 후의 시퀀스는 IPPPPPIPPPPP로 된다.
또, X≥14(=N+3)인 경우, PI 변환의 필요는 없다고 판단된다.
다음에, 도 32의 플로차트를 참조하여, 도 16을 사용하여 설명한 변환 장치(311), 또는 도 9 및 도 22를 사용하여 설명한 퍼스널 컴퓨터의 CPU(221)에서 실행되는 프록시 파일 생성 처리 2에 대하여 설명한다.
스텝 S331 내지 스텝 S336에서, 도 23을 사용하여 설명한 스텝 S221 내지 스텝 S226과 동일한 처리가 실행된다.
즉, 비트 스트림 취득부(331)(CPU(221))는 오리지널 비트 스트림을 취득하여, 비트 스트림 해석부(332)(CPU(221)의 비트 스트림 해석부(332))에 공급한다. 비트 스트림 해석부(332)(CPU(221)의 비트 스트림 해석부(332))는 공급된 오리지널 비트 스트림 중 1 픽처를 판독하여 해석한다. 즉, 비트 스트림 해석부(332)는 도 17을 사용하여 설명한 인덱스 파일 중 대응하는 픽처의 정보를 취득한다.
그리고, 비트 스트림 해석부(332)(CPU(221)의 비트 스트림 해석부(332))는, 판독한 픽처가 I 픽처 또는 P 픽처인지 여부를 판단한다. I 픽처 또는 P 픽처가 아닌, 즉, B 픽처라고 판단된 경우, 처리는 후술하는 스텝 S341로 진행한다.
I 픽처 또는 P 픽처라고 판단된 경우, 비트 스트림 해석부(332)(CPU(221)의 비트 스트림 해석부(332))는 판독한 I 픽처 또는 P 픽처를 디코더(334)에 공급한다. 디코더(334)는 공급된 I 픽처 또는 P 픽처를 디코드하여, 참조 화상용 메모리(335)에 저장한다.
그리고, 디코더(334)(CPU(221)의 디코더(334))는 디코드된 픽처가 P 픽처인지 여부를 판단한다. 디코드된 픽처가 P 픽처가 아닌, 즉, I 픽처라고 판단된 경우, 처리는 후술하는 스텝 S341로 진행한다.
스텝 S336에서, 디코드된 픽처가 P 픽처라고 판단된 경우, 스텝 S337에서, 디코더(334)(CPU(221)의 디코더(334))는 비트 스트림 해석부(332)의 제어에 따라, 그 P 픽처는 전술한, 변환하는 P 픽처의 설정 처리에서 I 픽처로 변환되면 설정된, 변환이 필요한 P 픽처인지 여부를 판단한다. 스텝 S337에서, 변환이 필요한 P 픽처가 아니라고 판단된 경우, 처리는 후술하는 스텝 S341으로 진행한다.
스텝 S337에서, 변환이 필요한 P 픽처라고 판단된 경우, 스텝 S338에서, 디코더(334)(CPU(221)의 디코더(334))는 디코드한 P 픽처에 대응하는 비압축 화상 프레임을 인코더(336)(CPU(221)의 인코더(336))에 공급한다. 인코더(336)는 공급된 비압축 화상 프레임을 I 픽처로서 인코드하여, 프록시 파일 기억부(337)(기억 장치(204), 외부 영상 기록 재생 장치(205), 또는 HDD(226) 중 어느 하나의 영역에 대응하는 프록시 파일 기억부(337))에 공급한다.
스텝 S339에서, 프록시 파일 기억부(337)(기억 장치(204), 외부 영상 기록 재생 장치(205), 또는 HDD(226) 중 어느 하나의 영역에 대응하는 프록시 파일 기억부(337))는 인코드되어 생성된 I 픽처에 의해 구성되는 프록시 파일을 기억한다.
스텝 S340에서, 인코더(336)는 생성된 I 픽처에 관한 부호화 정보로서, 픽처 사이즈(Proxy File Picture Size)와, 그들 프레임의 어드레스(Proxy File Address)와의 인덱스 정보, 즉, 프록시 인덱스를 프록시 인덱스 기억부(338)에 공급한다. 프록시 인덱스 기억부(338)는 해당하는 픽처의 프록시 인덱스를 기억한다.
스텝 S334에서, 판독한 픽처는 I 픽처 또는 P 픽처가 아닌, 즉, B 픽처라고 판단된 경우, 스텝 S336에서, 디코드된 픽처가 P 픽처가 아닌, 즉, I 픽처라고 판단된 경우, 스텝 S337에서, 변환이 필요한 P 픽처가 아니라고 판단된 경우, 또는 스텝 S340의 처리 종료 후, 스텝 S341에서, 비트 스트림 해석부(332)(CPU(221))는 모든 픽처의 처리가 종료되었는지 여부를 판단한다. 스텝 S341에서, 모든 픽처의 처리가 종료되어 있지 않다고 판단된 경우, 처리는 스텝 S332로 복귀하여, 그 이후의 처리가 반복된다.
스텝 S341에서, 모든 픽처의 처리가 종료되었다고 판단된 경우, 스텝 S342에서, 비트 스트림 해석부(332)(CPU(221)의 비트 스트림 해석부(332))는 각각의 픽처의 해석 결과와, 프록시 인덱스 기억부(338)에 기억되어 있는, 인코더(336)에 의해 I 픽처로서 인코드된 프레임, 즉, P 픽처로부터 I 픽처로 변환된 프레임의 픽처 사이즈(Proxy File Picture Size)와 어드레스(Proxy File Address)를 기초로, 도 17을 사용하여 설명한 인덱스 파일을 생성하고, 인덱스 파일 기억부(333)(기억 장 치(204), 외부 영상 기록 재생 장치(205), 또는 HDD(226) 중 어느 하나의 영역에 대응하는 인덱스 파일 기억부(333))에 공급하여 기억시키고, 처리가 종료된다.
이와 같은 처리에 의해, 오리지널 비트 스트림에서의 P 픽처 중, I 픽처로 변환된다고 설정된 P 픽처가 디코드된 후, I 픽처로서 인코드됨으로써 생성된 I 픽처에 의한 프록시 파일과, 오리지널 비트 스트림 및 프록시 파일에 포함되는 I 픽처(오리지널 비트 스트림에서는 P 픽처)에 관한 정보가 기재된 인덱스 파일이 생성된다.
그리고, 여기에서는, 프록시 파일은 도 13의 스텝 S129의 처리에서 대체 표시가 실행되는 경우에 이용 가능한 것으로 하여 설명했지만, 예를 들면, 도 11의 스텝 S44 또는 도 13의 스텝 S124의 처리에서, 근방의 I 픽처 및 P 픽처를 사용하고, 또는 I 픽처만을 사용하여 디코드 처리가 실행된다고 결정된 경우에도, 프록시 파일은 이용 가능한 것이 물론이다. 또한, 대체 표시가 실행되지 않고, 참조 화상의 디코드가 실행되어, 원하는 프레임이 재생 출력되는 것과 같은 경우에도, 적당히, 프록시 파일을 이용함으로써, 디코드에 걸리는 시간이 단축되어, 스크러브 재생 등에 있어서의 고속 디코드 처리가 가능하게 된다.
그리고, 여기에서는, 주로, I 픽처, P 픽처, 및 B 픽처로 이루어지는 MPEG2 LongGOP에 있어서의 경우에 대하여 설명했지만, 본 발명은 프레임 간 참조에 의해 디코드된 압축 부호화 데이터를 재생하는 경우에 적용 가능하다.
전술한 일련의 처리는 전술한 바와 같이, 하드웨어에 의해 실행시킬 수도 있고, 소프트웨어에 의해 실행시킬 수도 있다.
일련의 처리를 소프트웨어에 의해 실행시키는 경우에는, 그 소프트웨어를 구성하는 프로그램이, 전용의 하드웨어에 내장되어 있는 경우 컴퓨터, 또는 각종의 프로그램을 인스톨함으로써, 각종의 기능을 실행하는 것이 가능한, 예를 들면, 범용의 퍼스널 컴퓨터 등에 네트워크나 기록 매체로부터 인스톨된다.
이 기록 매체는 도 9에 나타낸 바와 같이, 장치 본체와는 별도로, 사용자에게 프로그램을 제공하기 위해 배포되는, 프로그램이 기록되어 있는 자기 디스크(플로피 디스크를 포함함), 광 디스크(CD-ROM(Compact Disk-Read Only Memory), DVD(Digital Versatile Disk)를 포함함), 광자기 디스크(MD(Mini-Disk)를 포함함), 또는 반도체 메모리 등으로 이루어지는 착탈 가능 매체(206)에 의해 구성될 뿐만 아니라, 장치 본체에 미리 내장된 상태로 사용자에게 제공되는, 프로그램이 기록되어 있는 ROM(222)이나, HDD(226)에 포함되는 하드 디스크 등으로 구성된다.
그리고, 본 명세서에서, 기록 매체에 기록되는 프로그램을 기술하는 스텝은 기재된 순서에 따라, 시계열적으로 행해지는 처리는 물론, 반드시 시계열적으로 처리되지 않아도, 병렬적 또는 개별적으로 실행되는 처리도 포함하는 것이다.
그리고, 본 명세서에서, 시스템이란 복수개의 장치에 의해 구성되는 장치 전체를 나타내는 것이다.
그리고, 본 발명의 실시예는 전술한 실시예에 한정되지 않고, 본 발명의 요지를 벗어나지 않는 범위에서 여러 가지의 변경이 가능하다.
본 발명의 일측면에 의하면, 스트림 화상 데이터가 복호되어, 특히, 참조 프 레임과 복호 후의 재생 출력되는 프레임이 동일한 기억 영역에 기억되므로, 고속으로 스크러브 재생을 행하는 것이 가능하게 된다.

Claims (13)

  1. 부호화 스트림의 재생 상태를 나타내는 재생 정보의 입력을 받는 재생 정보 입력 스텝과,
    상기 재생 정보 입력 스텝의 처리에 의해 입력된 상기 재생 정보를 기초로, 상기 부호화 스트림의 대상 픽처를 복호 처리하는 데 필요한 참조 픽처를 나타내는 참조 픽처 정보를 취득하는 참조 픽처 정보 취득 스텝과,
    상기 참조 픽처 정보 취득 스텝의 처리에 의해 취득된 상기 참조 픽처 정보에 따라, 상기 참조 픽처가 소정의 기억 영역에 기억되어 있는지를 판정하는 판정 스텝과,
    상기 판정 스텝의 처리에 의해, 상기 참조 픽처가 상기 기억 영역에 기억되어 있지 않다고 판정된 경우, 상기 부호화 스트림으로부터 상기 기억 영역에 기억되어 있지 않은 상기 참조 픽처를 취득하여 복호 처리하고, 상기 기억 영역으로의 기억을 제어하는 참조 픽처 복호 스텝과,
    상기 기억 영역에 기억되어 있는 상기 참조 픽처를 이용하여, 상기 부호화 스트림의 대상 픽처를 복호 처리함으로써 화상 데이터를 생성하고, 상기 기억 영역으로의 기록을 제어하는 복호 스텝
    을 포함하고,
    상기 참조 픽처 복호 스텝 및 상기 복호 스텝의 처리에서는, 복수개의 복호 방법으로 복호 처리를 실행하고,
    상기 재생 정보 입력 스텝의 처리에 의해 입력된 상기 재생 정보를 기초로, 상기 부호화 스트림의 복호 순서 및 복호 방법을 결정하는 제1 결정 스텝을 추가로 포함하고,
    상기 참조 픽처 복호 스텝 및 상기 복호 스텝의 처리는 상기 제1 결정 스텝의 처리에 의해 결정된 상기 복호 순서 및 상기 복호 방법에 따라 실행되고,
    상기 참조 픽처 복호 스텝 및 상기 복호 스텝의 처리에서는, 상기 제1 결정 스텝의 처리에 의한 결정에 따라, 해상도가 상이한 복수개의 복호 처리 중 어느 하나가 실행될 수 있는 것을 특징으로 하는 방법을 컴퓨터에 실행시키는 프로그램이 기록된, 컴퓨터로 판독 가능한 기록 매체.
  2. 제1항에 있어서,
    상기 판정 스텝의 처리에서는, 상기 제1 결정 스텝의 처리에 의해 결정된 상기 복호 방법에서 복호된 상기 참조 픽처가 상기 기억 영역에 기억되어 있는지 여부가 판정되는 것을 특징으로 하는 컴퓨터로 판독 가능한 기록 매체.
  3. 제1항에 있어서,
    상기 참조 픽처 복호 스텝 및 상기 복호 스텝의 처리에서는, 상기 제1 결정 스텝의 처리에 의한 결정에 따라, 복수개의 부호화 방식에 대응하는 복호 처리 중 어느 하나가 실행 가능한 것을 특징으로 하는 컴퓨터로 판독 가능한 기록 매체.
  4. 제1항에 있어서,
    상기 부호화 스트림에는, I 픽처, P 픽처, 및 B 픽처가 포함되어 있고,
    상기 복호 스텝의 처리에서는, 상기 부호화 스트림의 대상 픽처가 B 픽처인 경우, 상기 대상 픽처에 대하여 시간적으로 근방에 존재하는 I 픽처, 또는 P 픽처를 복호하는 것을 특징으로 하는 컴퓨터로 판독 가능한 기록 매체.
  5. 제1항에 있어서,
    상기 부호화 스트림에는, 프레임 내 부호화된 픽처, 및 프레임 간 예측 부호화된 픽처가 포함되어 있고,
    상기 복호 스텝의 처리에서는, 상기 부호화 스트림의 대상 픽처가 프레임 간 예측 부호화된 픽처인 경우, 상기 대상 픽처에 대하여 시간적으로 근방에 존재하는 프레임 내 부호화된 픽처를 복호하는 것을 특징으로 하는 컴퓨터로 판독 가능한 기록 매체.
  6. 제1항에 있어서,
    상기 방법이, 상기 참조 픽처 정보에 포함되는 과거 측의 참조 프레임 수, 및 1 프레임에 대응하는 화상의 표시 내에 복호 처리를 실행하는 것이 가능한 프레임 수를 기초로, 상기 부호화 스트림의 복호 방법을 결정하는 제2 결정 스텝을 추가로 포함하는 것을 특징으로 하는 컴퓨터로 판독 가능한 기록 매체.
  7. 제6항에 있어서,
    상기 방법이, 1 프레임에 대응하는 화상의 표시 시간 내에 복호 처리를 실행하는 것이 가능한 프레임 수를 산출하는 산출 스텝을 추가로 포함하는 것을 특징으로 하는 컴퓨터로 판독 가능한 기록 매체.
  8. 제6항에 있어서,
    상기 방법이, 상기 참조 픽처 정보에 포함되는 과거 측의 참조 프레임 수를 산출하는 산출 스텝을 추가로 포함하는 것을 특징으로 하는 것을 특징으로 하는 컴퓨터로 판독 가능한 기록 매체.
  9. 부호화 스트림을 복호 처리하는 복호 장치에 있어서,
    상기 부호화 스트림의 재생 상태를 나타내는 재생 정보의 입력을 받는 재생 정보 입력 수단과,
    상기 부호화 스트림의 대상 픽처를 복호 처리하기 위해 필요한 참조 픽처를 나타내는 참조 픽처 정보를 관리하는 참조 픽처 정보 관리 수단과,
    상기 부호화 스트림을 복호 처리하여 화상 데이터를 생성하는 복호 수단과,
    상기 복호 수단에 의해 생성된 상기 화상 데이터를 기억하는 기억 수단과,
    상기 기억 수단에 의해 기억된 상기 화상 데이터의 기억 상태를 관리하는 기억 관리 수단과,
    상기 참조 픽처 정보 관리 수단에 의해 관리된 상기 참조 픽처 정보, 및 상기 기억 관리 수단에 의해 관리되는 상기 기억 상태를 참조함으로써, 상기 복호 수단에 의한 복호 처리를 제어하는 복호 제어 수단
    을 구비하고,
    상기 복호 수단은, 상기 기억 수단에 의해 기억되어 있는 상기 화상 데이터 중 어느 하나를 참조 픽처로 하여 상기 부호화 스트림을 복호 처리하고, 복호된 상기 대상 픽처를 상기 기억 수단에 공급하여 기억시키고, 복수개의 복호 방법으로 복호 처리를 실행하며,
    상기 재생 정보 입력 수단의 처리에 의해 입력된 상기 재생 정보를 기초로, 상기 부호화 스트림의 복호 순서 및 복호 방법을 결정하는 제1 결정 수단을 추가로 포함하고,
    상기 복호 수단에 의한 복호 처리는 상기 제1 결정 수단의 처리에 의해 결정된 상기 복호 순서 및 상기 복호 방법에 따라 실행되며,
    상기 복호 수단에 의한 복호 처리에서는, 상기 제1 결정 수단의 처리에 의한 결정에 따라, 해상도가 상이한 복수개의 복호 처리 중 어느 하나가 실행될 수 있는,
    복호 장치.
  10. 소정의 기억 영역에 화상 데이터가 기억되도록 행해지고, 상기 기억 영역을 이용하여, 부호화 스트림을 복호하는 복호 장치의 복호 방법에 있어서,
    상기 부호화 스트림의 재생 상태를 나타내는 재생 정보의 입력을 받는 재생 정보 입력 스텝과,
    상기 재생 정보 입력 스텝의 처리에 의해 입력된 상기 재생 정보를 기초로, 상기 부호화 스트림의 대상 픽처를 복호 처리하는 데 필요한 참조 픽처를 나타내는 참조 픽처 정보를 취득하는 참조 픽처 정보 취득 스텝과,
    상기 참조 픽처 정보 취득 스텝의 처리에 의해 취득된 상기 참조 픽처 정보에 따라, 상기 참조 픽처가 상기 기억 영역에 기억되어 있는지를 판정하는 판정 스텝과,
    상기 판정 스텝의 처리에 의해, 상기 참조 픽처가 상기 기억 영역에 기억되어 있지 않다고 판정된 경우, 상기 부호화 스트림으로부터 상기 기억 영역에 기억되어 있지 않은 상기 참조 픽처를 취득하여 복호 처리하고, 상기 기억 영역으로의 기억을 제어하는 참조 픽처 복호 스텝과,
    상기 기억 영역에 기억되어 있는 상기 참조 픽처를 이용하여, 상기 부호화 스트림의 대상 픽처를 복호 처리함으로써 화상 데이터를 생성하고, 상기 기억 영역으로의 기록을 제어하는 복호 스텝
    을 포함하고,
    상기 참조 픽처 복호 스텝 및 상기 복호 스텝의 처리에서는, 복수개의 복호 방법으로 복호 처리를 실행하고,
    상기 재생 정보 입력 스텝의 처리에 의해 입력된 상기 재생 정보를 기초로, 상기 부호화 스트림의 복호 순서 및 복호 방법을 결정하는 제1 결정 스텝을 추가로 포함하고,
    상기 참조 픽처 복호 스텝 및 상기 복호 스텝의 처리는 상기 제1 결정 스텝의 처리에 의해 결정된 상기 복호 순서 및 상기 복호 방법에 따라 실행되고,
    상기 참조 픽처 복호 스텝 및 상기 복호 스텝의 처리에서는, 상기 제1 결정 스텝의 처리에 의한 결정에 따라, 해상도가 상이한 복수개의 복호 처리 중 어느 하나가 실행될 수 있는, 복호 방법.
  11. 삭제
  12. 삭제
  13. 삭제
KR1020060033992A 2005-04-15 2006-04-14 프로그램, 복호 장치, 복호 방법, 및 기록 매체 KR101242447B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2005119047 2005-04-15
JPJP-P-2005-00119047 2005-04-15
JP2005119046 2005-04-15
JPJP-P-2005-00119046 2005-04-15

Publications (2)

Publication Number Publication Date
KR20060109339A KR20060109339A (ko) 2006-10-19
KR101242447B1 true KR101242447B1 (ko) 2013-03-12

Family

ID=36685610

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060033992A KR101242447B1 (ko) 2005-04-15 2006-04-14 프로그램, 복호 장치, 복호 방법, 및 기록 매체

Country Status (4)

Country Link
US (1) US8437408B2 (ko)
EP (1) EP1713283A2 (ko)
KR (1) KR101242447B1 (ko)
TW (1) TW200708116A (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8270492B2 (en) * 2006-05-12 2012-09-18 Panasonic Corporation Moving picture decoding device
TWI415466B (zh) * 2007-05-14 2013-11-11 Sandisk Il Ltd 雙解碼器可攜式媒體裝置
US9317176B2 (en) * 2007-09-24 2016-04-19 Adobe Systems Incorporated Rendering of content in a defined region of a graphical user interface
US8699808B2 (en) * 2007-10-15 2014-04-15 Chih-Ta Star Sung Method and apparatus of temporary image frame compression
JP5369425B2 (ja) * 2007-10-31 2013-12-18 富士通株式会社 画像復元装置、画像復元プログラム、画像復元方法
JP5332773B2 (ja) * 2009-03-18 2013-11-06 ソニー株式会社 画像処理装置および方法
JP2012100162A (ja) * 2010-11-04 2012-05-24 Toshiba Corp 画像デコード装置及びデコードプログラム
US8744249B2 (en) * 2011-06-17 2014-06-03 Apple Inc. Picture selection for video skimming
JP5979483B2 (ja) * 2012-06-25 2016-08-24 パナソニックIpマネジメント株式会社 コンテンツ再生装置、コンテンツ再生システム、及びコンテンツ再生方法
US9584803B2 (en) * 2012-07-08 2017-02-28 Cisco Technology, Inc. Picture output management in video applications with fixed picture rate
CA2909566C (en) * 2013-04-17 2018-07-03 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
GB2531271A (en) 2014-10-14 2016-04-20 Nokia Technologies Oy An apparatus, a method and a computer program for image sequence coding and decoding
KR101868203B1 (ko) * 2015-01-28 2018-07-20 한국전자통신연구원 스트림 처리 방법 및 장치
US10469909B1 (en) * 2016-07-14 2019-11-05 Gopro, Inc. Systems and methods for providing access to still images derived from a video
US10846779B2 (en) 2016-11-23 2020-11-24 Sony Interactive Entertainment LLC Custom product categorization of digital media content
US10860987B2 (en) 2016-12-19 2020-12-08 Sony Interactive Entertainment LLC Personalized calendar for digital media content-related events
US10931991B2 (en) * 2018-01-04 2021-02-23 Sony Interactive Entertainment LLC Methods and systems for selectively skipping through media content

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002158969A (ja) 2000-11-22 2002-05-31 Nec Corp 動画像符号化データ変換装置及びその方法
KR20030090688A (ko) * 2002-01-18 2003-11-28 가부시끼가이샤 도시바 화상부호화방법 및 장치와 화상복호화방법 및 장치
JP2004104361A (ja) 2002-09-06 2004-04-02 Sony Corp データ編集装置、データ編集方法、及びプログラム
KR20040106823A (ko) * 2003-06-11 2004-12-18 삼성전자주식회사 디지털 비디오 스트림의 역재생을 위한 동적인 버퍼 제어장치 및 그 방법

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0778453A (ja) 1993-09-10 1995-03-20 Matsushita Electric Ind Co Ltd 光ディスクおよびその記録装置およびその再生装置
JP3321332B2 (ja) 1995-04-07 2002-09-03 シャープ株式会社 画像蓄積通信装置
JP3034173B2 (ja) 1994-10-31 2000-04-17 株式会社グラフィックス・コミュニケーション・ラボラトリーズ 画像信号処理装置
JP3093724B2 (ja) 1998-04-27 2000-10-03 日本電気アイシーマイコンシステム株式会社 動画像データ再生装置及び動画像データの逆再生方法
JPH11341437A (ja) 1998-05-25 1999-12-10 Sony Corp 符号化装置、符号化方法、復号装置及び復号方法
US6654539B1 (en) * 1998-10-26 2003-11-25 Sony Corporation Trick playback of digital video data
US7020382B2 (en) * 2001-07-12 2006-03-28 Thomson Licensing Modifying video by inserting shadow intra pictures
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
US7974523B2 (en) * 2004-07-06 2011-07-05 Magnum Semiconductor, Inc. Optimal buffering and scheduling strategy for smooth reverse in a DVD player or the like

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002158969A (ja) 2000-11-22 2002-05-31 Nec Corp 動画像符号化データ変換装置及びその方法
KR20030090688A (ko) * 2002-01-18 2003-11-28 가부시끼가이샤 도시바 화상부호화방법 및 장치와 화상복호화방법 및 장치
JP2004104361A (ja) 2002-09-06 2004-04-02 Sony Corp データ編集装置、データ編集方法、及びプログラム
KR20040106823A (ko) * 2003-06-11 2004-12-18 삼성전자주식회사 디지털 비디오 스트림의 역재생을 위한 동적인 버퍼 제어장치 및 그 방법

Also Published As

Publication number Publication date
US20060245504A1 (en) 2006-11-02
TW200708116A (en) 2007-02-16
US8437408B2 (en) 2013-05-07
TWI322619B (ko) 2010-03-21
KR20060109339A (ko) 2006-10-19
EP1713283A2 (en) 2006-10-18

Similar Documents

Publication Publication Date Title
KR101242447B1 (ko) 프로그램, 복호 장치, 복호 방법, 및 기록 매체
US5991502A (en) Optical recording device which calculates distances between I-frames and records I-frame addresses in a sector
WO2006013781A1 (ja) 記録装置および記録方法
JP2005538575A (ja) インタレースのダミー双方向予測ピクチャを使用したトリックモード
JP4244051B2 (ja) プログラム、復号装置、復号方法、並びに、記録媒体
JP4284370B2 (ja) ビデオサーバ及びビデオ編集システム
JP5120981B2 (ja) 特殊再生用のビデオデータの生成方法
KR20060109317A (ko) 프로그램, 정보 처리 장치, 정보 처리 방법, 및 기록 매체
JPWO2004102561A1 (ja) コンテンツ記録再生装置および方法
JPH10336679A (ja) 可変レート符号化装置
JP4399744B2 (ja) プログラム、情報処理装置、情報処理方法、並びに、記録媒体
JPH1198514A (ja) 画像符号化装置および方法
JP5110791B2 (ja) 映像処理装置及びコンピュータプログラム
JP4582683B2 (ja) データ処理装置およびデータ処理方法、並びにプログラム
JP3920561B2 (ja) 記録媒体再生装置、および情報記録媒体
KR20060017769A (ko) 특수 화상 그룹을 이용하는 비-순차 비디오 상의 순방향트릭 모드
JPH07193785A (ja) 情報記録再生装置及び記録再生方法
JP4487196B2 (ja) 記録装置及びその制御方法
JP3384563B2 (ja) 光ディスク、再生装置および再生方法
JPH0998382A (ja) 動画像情報の再生装置及び再生方法
JP3370660B1 (ja) 記録装置および記録方法
JP4497019B2 (ja) 映像処理装置
JP3384562B2 (ja) 記録装置および記録方法
JP3370659B1 (ja) 再生装置および再生方法
JP2006121415A (ja) 動画符号化装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee