KR20070056077A - 정보 처리 장치 및 정보 처리 방법, 기록 매체, 및,프로그램 - Google Patents

정보 처리 장치 및 정보 처리 방법, 기록 매체, 및,프로그램 Download PDF

Info

Publication number
KR20070056077A
KR20070056077A KR20077004398A KR20077004398A KR20070056077A KR 20070056077 A KR20070056077 A KR 20070056077A KR 20077004398 A KR20077004398 A KR 20077004398A KR 20077004398 A KR20077004398 A KR 20077004398A KR 20070056077 A KR20070056077 A KR 20070056077A
Authority
KR
South Korea
Prior art keywords
encoding
picture
compressed
data
editing
Prior art date
Application number
KR20077004398A
Other languages
English (en)
Other versions
KR101194967B1 (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 KR20070056077A publication Critical patent/KR20070056077A/ko
Application granted granted Critical
Publication of KR101194967B1 publication Critical patent/KR101194967B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • H04N19/194Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive involving only two passes
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Television Signal Processing For Recording (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은, 압축 영상 신호의 편집을, 버퍼의 제약을 지키면서, 최적의 발생 부호량을 할당하여 실행함으로써, 화질의 저하를 방지할 수 있도록 하는, 정보 처리 장치 및 정보 처리 방법, 기록 매체, 및, 프로그램에 관한 것이다. 재인코드 Duration은 연장된 재인코드 구간 전체이며, No Editing 재인코드 Duration은, Editing Duration 이외의 부분이며, No Editing 재인코드 GOP Duration은, Editing GOP Duration 이외의 부분이다. 이펙트 등에 의해 부호화 난이도가 높아질 가능성이 높은 편집점 범위의 픽쳐에는, No Editing 재인코드 GOP Duration의 픽쳐로부터, 부호의 발생량이 할당되므로, 보다 많은 부호 발생량을 이용할 수 있다. 본 발명은, 편집 장치에 적용할 수 있다.
압축 영상 데이터, 재인코드 구간, 이펙트, 부호화, 편집점, 픽쳐, 버퍼, 발생 부호량

Description

정보 처리 장치 및 정보 처리 방법, 기록 매체, 및, 프로그램{INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD, RECORDING MEDIUM, AND PROGRAM}
본 발명은, 정보 처리 장치 및 정보 처리 방법, 기록 매체, 및, 프로그램에 관한 것으로, 특히, 쌍방향의 프레임간 예측을 이용하여 압축한 영상 데이터를 편집하는 경우에 이용하기에 적합한, 정보 처리 장치 및 정보 처리 방법, 기록 매체, 및, 프로그램에 관한 것이다.
MPEG(Moving Picture Coding Experts Group/Moving Picture Experts Group) 등으로 대표되는 화상 압축 방식에서는, 프레임간 예측을 이용하여 영상 신호를 압축 부호화함으로써, 높은 압축 효율을 실현하고 있다. 그러나, 영상을 편집하는 것을 생각한 경우, 프레임간 예측을 이용한 압축 화상은, 프레임간에 예측에 의한 압축 신호의 관련이 있기 때문에, 압축된 그대로의 영상 신호로, 영상 소재를 서로 연결시킬 수는 없다. 이 때문에, 영상 소재를 편집하는 것이 미리 고려된 시스템에서는, 일반적으로, 프레임간 예측을 이용하지 않고, 프레임 내에서의 압축만을 이용하여 부호화가 행해지고 있다.
그러나, 예를 들면, HD(High Definition) 신호와 같이, 고정세로 정보량이 많은 영상 신호가 취급되는 경우, 프레임 내 압축만으로 부호화를 행하면, 낮은 압축 효율밖에 얻어지지 않기 때문에, 다량의 데이터를 전송하거나, 축적하기 위해서는, 전송 속도가 빠르거나, 기억 용량이 크거나, 또는, 처리 속도가 빠른 등의, 고가의 시스템이 필요로 되게 된다. 즉, 고정세로 정보량이 많은 영상 신호를 염가의 시스템에서 취급하기 위해서는, 프레임간 예측을 이용하여 압축 효율을 높이는 것이 필요해진다.
MPEG에서, I 픽쳐(I-Picture), P 픽쳐(P-Picture), 및, B 픽쳐(B-Picture)로 구성되는, 쌍방향의 프레임간 예측을 이용한 압축 부호화 방식은, Long GOP(Group of Picture) 방식의 압축이라고 불린다.
I 픽쳐란, 프레임 내(Intra) 부호화 화상으로, 다른 화면과는 독립적으로 부호화되는 픽쳐이며, 이 정보만으로 화상을 복호할 수 있는 것이다. P 픽쳐란, 프레임간(inter) 순방향 예측 부호화 화상으로, 시간적으로 전(순방향)의 프레임으로부터의 차분에 의해 표현되는 전 방향 예측 부호화 픽쳐이다. B 픽쳐란, 쌍방향 예측 부호화 화상으로, 시간적으로 전(순방향), 또는 후(역방향), 또는 전후(쌍방향)의 픽쳐를 이용하여 움직임 보상 프레임간 예측에 의해 부호화되는 픽쳐이다.
P 픽쳐나 B 픽쳐는, 데이터량이 I 픽쳐에 비하여 작기 때문에, GOP를 길게 하면(즉, Long GOP를 구성하는 픽쳐 수를 증가시키면), 영상의 압축율을 높게 할 수 있으므로, 디지털 방송이나 DVD(Digital Versatile Disk) 비디오에서의 이용에 적합하다. 그러나, GOP가 지나치게 길면, 프레임 정밀도에서의 편집 컨트롤이 곤란해지고, 특히, 업무용 용도로의 편집에서는, 운용상의 문제가 발생한다.
Long GOP 방식으로 압축된 2개의 영상 데이터를 소정의 편집점에서 접속함으로써 편집하는 처리에 대해서, 도 1을 이용하여 설명한다.
우선, 편집 대상 압축 영상 데이터 1 및 편집 대상 압축 영상 데이터 2의 각각에서, 편집점 근방의 부분적인 디코드가 행해져, 부분적인 비압축의 영상 신호 1 및 영상 신호 2가 얻어진다. 그리고, 비압축의 영상 신호 1 및 영상 신호 2가 편집점에서 접속되고, 필요에 따라서 편집점 부근에 이펙트(Effect)가 실시되어, 재인코드가 행해진다. 그리고, 재인코드된 압축 영상 데이터가, 디코드 및 재인코드되어 있지 않은(부분적인 디코드가 행해진 편집점 근방 이외의) 압축 영상 데이터와 결합된다.
도 1을 이용하여 설명한 방법은, 압축된 편집 소재의 영상 데이터를 모두 디코드하고 나서, 영상 신호를 편집점에서 연결하고, 재차 모든 영상 신호를 재인코드하여 편집한 압축 영상 데이터를 얻는 방법과 비교하여, 재인코드에 의한 화질 열화를 국소적으로 억제할 수 있음과 함께, 편집 처리 시간을 대폭 단축할 수 있다는 등의 이점이 있다.
그러나, 도 1을 이용하여 설명한 바와 같은 방법으로 편집과 재인코드를 행하면, 재인코드를 행한 부분과 행하지 않은 부분의 이음매에서, 화상을 참조할 수 없다고 하는 문제가 발생한다.
이 문제에 대해서, 프레임간에서 예측 부호화가 행해지고 있는(Long GOP) 방식으로 압축하는 경우, 편집을 비교적 간단하게 실현하는 방법으로서, 프레임간 예측에 제한을 가하여, GOP 내에서만 화상을 참조하고, GOP를 걸쳐서 화상을 참조하 지 않는 Closed GOP 구조를 취하도록, 프레임간 예측에 제한을 가하는 방법이 알려져 있다.
프레임간 예측에 제한을 가하는 경우에 대해서, 도 2를 이용하여 설명한다. 도 2에서는, 프레임간 예측과 편집의 관계를 도시하기 위해서, 편집 대상인 압축 소재 영상 1의 데이터 및 압축 소재 영상 2의 데이터, 부분 재인코드된 편집 후의 편집점 부근의 압축 영상의 데이터, 및, 재인코드하지 않는 부분의 압축 영상의 데이터에 대해서, 각각, display order(디스플레이 오더)로의 픽쳐의 배열을 나타내고 있다. 도면 내의 화살표는, 화상의 참조 방향을 나타내고 있다(이하, 마찬가지임). 도 2에서는, 디스플레이 오더의 BBIBBPBBPBBPBBP의 15의 픽쳐가 1GOP로 되고, 화상의 참조는, GOP 내만으로 되어 있다. 이 방법은, GOP를 걸치는 예측을 금지함으로써, GOP간에 예측에 의한 압축 데이터의 관련을 없애, GOP 단위로의 압축 데이터의 재연결(재인코드를 행하는 범위의 결정)을 가능하게 한다.
즉, 편집 대상인 압축 소재 영상 1의 데이터 및 압축 소재 영상 2의 데이터는, 각각, 편집점을 포함하는 1GOP 단위로, 재인코드 범위가 결정되고, 1GOP 단위로 결정된 재인코드 범위의 편집 대상인 압축 소재 영상 1의 데이터 및 압축 소재 영상 2의 데이터가 디코드되어, 비압축의 소재 영상 1의 신호 및 소재 영상 2의 신호가 생성된다. 그리고, 비압축의 소재 영상 1의 신호와 소재 영상 2의 신호가 컷트(Cut) 편집점에서 접속되고, 접속된 소재 영상 1 및 소재 영상 2가 부분 재인코드되어, 압축 영상 데이터가 생성되고, 재인코드하지 않는 부분의 압축 영상 데이터와 접속되어, 압축 부호화된 편집 영상 데이터가 생성된다.
실제로 부호화된 데이터는, 도 3에 도시된 바와 같이, Coding order(코딩 오더)로 배열되어 있어, 압축 영상 데이터의 결합은 코딩 오더로 행해진다. 접속된 소재 영상 1 및 소재 영상 2가 부분 재인코드되어 생성된 압축 영상 데이터와, 재인코드하지 않는 부분의 압축 영상 데이터는, 재인코드하지 않는 부분의 압축 소재 영상 1의 데이터에서, 코딩 오더에서 최후의 픽쳐이고, 디스플레이 오더 14번째의 픽쳐인 B13 픽쳐와, 재인코드되어 생성된 압축 영상 데이터에서, 코딩 오더에서 최초의 픽쳐이고, 디스플레이 오더 3번째의 픽쳐인 I2 픽쳐가 접속된다. 그리고, 재인코드되어 생성된 압축 영상 데이터에서, 코딩 오더에서 최후의 픽쳐이고, 디스플레이 오더 13번째의 픽쳐인 B12 픽쳐와, 재인코드하지 않는 부분의 압축 소재 영상 2의 데이터에서, 코딩 오더에서 최초의 픽쳐이고, 디스플레이 오더 3번째의 픽쳐인 I2 픽쳐가 접속된다. 즉, 접속된 소재 영상 1 및 소재 영상 2가 부분 재인코드되어 생성된 압축 영상 데이터와, 재인코드하지 않는 부분의 압축 영상 데이터는, GOP의 절환 부분에서 접속되어, 압축된 편집 영상 데이터가 생성된다.
이에 대해서, Closed GOP 구조가 아닌 GOP 구조, 즉, GOP를 걸쳐서 화상을 참조하는 경우의 Long GOP 구조를, 이하, Open GOP라고 한다.
또한, Open GOP의 2개의 비트 스트림을 편집하는 경우, 구체적으로는, 비트 스트림 X에, 비트 스트림 Y를 삽입하는 경우에서, 비트 스트림 Y의 최초의 GOP를 구성하는 I 픽쳐 전 B 픽쳐(I 픽쳐가 표시될 때까지 출현하는 B 픽쳐)가 삭제되고, 또한, 그 GOP를 구성하는 나머지 화상의 템포럴 레퍼런스(Temporal Reference)가 변경됨으로써, 비트 스트림 X의 최후의 GOP를 구성하는 화상을 이용하여 예측되는 I 픽쳐 전 B 픽쳐를 표시시키지 않도록 하고, Open GOP에서 MPEG 부호화된 화상의 비트 스트림끼리를 접속하였을 때의 이음매 부분에서의 화질의 열화를 방지할 수 있도록 한 기술이 있다(예를 들면, 특허 문헌1).
특허 문헌1 : 일본 특허 공개 평성 10-66085호 공보
<발명의 개시>
<발명이 해결하고자 하는 과제>
그러나, 도 2 및 도 3을 이용하여 설명한 바와 같이, GOP를 걸치는 예측을 금지하는 Closed GOP 구조를 이용하는 편집 방법에서는, GOP의 개시부 및 종료부에서 예측 방향에 제한을 가하게 되어, 통상 이용되는 압축 방식인 Open GOP와 비교하여, 영상 신호의 압축 효율이 저하된다.
또한, 특허 문헌1에 기재된 기술에서는, 이음매 부근의 B 픽쳐가 표시되지 않기 때문에, 그만큼의 화상이 누락되게 된다고 하는 문제가 있다.
또한, 높은 압축 효율이 얻어지는 Long GOP의 Open GOP 방식으로 압축된, 쌍방향의 프레임간 예측을 이용한 압축 영상 신호의 편집을 행하는 경우에는, VBV Buffer의 제약을 지켜, 버퍼가 파탄되는 것을 방지해야만 한다. 그러나, VBV Buffer의 제약을 지키기 위해서, 화질이 열화되어서는 안 된다.
본 발명은 이러한 상황을 감안하여 이루어진 것으로, 높은 압축 효율이 얻어지는 Long GOP의 Open GOP 방식으로 압축된, 쌍방향의 프레임간 예측을 이용한 압축 영상 신호의 편집을, VBV Buffer의 제약을 지키면서, 최적의 발생 부호량을 할당하여 실행함으로써, 화질의 저하를 방지할 수 있도록 하는 것이다.
<발명의 효과>
본 발명의 제1 측면에 따르면, 압축 부호화된 데이터를 편집할 수 있고, 특히, 기준으로 되는 인코드 범위에 공급된 발생 부호량에 기초하여, 재인코드의 범위를 연장시킬 수 있으므로, 버퍼를 파탄시키지 않고, 편집점 부근의 화상의 열화를 방지하도록 할 수 있다.
본 발명의 제2 측면에 따르면, 압축 부호화된 데이터를 접속하여 재부호화할 수 있고, 특히, 기준으로 되는 인코드 범위에 공급된 발생 부호량에 기초하여, 재인코드의 범위를 연장시킬 수 있으므로, 버퍼를 파탄시키지 않고, 편집점 부근의 화상의 열화를 방지하도록 할 수 있다.
<과제를 해결하기 위한 수단>
본 발명의 제1 측면의 정보 처리 장치는, 제1 압축 영상 데이터와 제2 압축 영상 데이터를 접속하여 편집하는 처리를 실행하는 정보 처리 장치로서, 상기 제1 압축 영상 데이터에 설정된 제1 편집점을 포함하는 제1 디코드 구간을 복호 처리하여 제1 비압축 영상 신호를 생성함과 함께, 상기 제2 압축 영상 데이터에 설정된 제2 편집점을 포함하는 제2 디코드 구간을 복호 처리하여 제2 비압축 영상 신호를 생성하는 복호 수단과, 상기 제1 비압축 영상 신호 및 상기 제2 비압축 영상 신호가, 상기 제1 편집점 및 상기 제2 편집점에서 접속된 제3 비압축 영상 신호의 소정의 재인코드 구간을 재부호화 처리하여 제3 압축 영상 데이터를 생성하는 재부호화 수단과, 상기 재부호화 수단에 의한 재부호화 처리 시의 발생 부호량에 기초하여, 기본으로 되는 인코드 구간으로부터 연장된 상기 재인코드 구간을 설정하여, 상기 재부호화 수단에 의한 재부호화 처리를 제어하는 제어 수단과, 상기 제1 압축 영상 데이터와 상기 제2 압축 영상 데이터 중, 재인코드를 하지 않는 구간의 압축 영상 데이터와, 상기 재부호화 수단에 의해 재부호화되어 생성된 상기 제3 압축 영상 데이터를 절환하여 출력함으로써, 편집된 편집 압축 영상 데이터를 생성하는 편집 수단을 구비한다.
상기 제어 수단에는, 상기 재부호화 수단에 의한 상기 재인코드 구간의 재부호화 처리에서의 발생 부호량의 할당을 제어시킴과 함께, 상기 재인코드 구간 중, 상기 기본으로 되는 인코드 구간에 할당되는 발생 부호량이 소정량보다도 적은 경우, 상기 기본으로 되는 인코드 구간으로부터 연장된 상기 재인코드 구간을 설정하여, 상기 재부호화 수단에 의한 재부호화 처리를 제어시킬 수 있다.
상기 제어 수단에는, 상기 기본으로 되는 인코드 구간에 할당되는 발생 부호량이 상기 소정량보다도 증가하도록, 상기 재부호화 수단에 의한 상기 재인코드 구간의 재부호화 처리에서의 발생 부호량의 할당을 제어시킬 수 있다.
상기 제어 수단에는, 상기 재인코드 구간의 개시점 및 종료점에서의 어큐펀시의 차분치에 기초하여, 상기 기준으로 되는 인코드 구간에 할당되는 부호량이 증가되도록, 상기 재인코드 구간에서의 발생 부호량의 할당을 제어시킬 수 있다.
상기 제어 수단에는, 상기 기준으로 되는 인코드 구간의 픽쳐의 수에 비례하고, 상기 재인코드 구간의 픽쳐 수에 대략 반비례하는 값에 기초하여, 상기 기준으로 되는 인코드 범위에 할당되는 부호량이 증가되도록, 상기 재인코드 구간에서의 발생 부호량의 할당을 제어시킬 수 있다.
상기 제어 수단에는, 상기 재인코드 구간 중, 상기 기준으로 되는 인코드 구간 이외의 구간에 할당하는 발생 부호량을 감소시키도록, 상기 재인코드 구간에서의 발생 부호량의 할당을 제어시킬 수 있다.
상기 제어 수단에는, 상기 기준으로 되는 인코드 범위에 이펙트가 실시되는 경우, 상기 기준으로 되는 인코드 범위에 실시되는 상기 이펙트의 종류에 따라서, 상기 기본으로 되는 인코드 구간으로부터 연장된 상기 재인코드 구간을 설정하여, 상기 재부호화 수단에 의한 재부호화 처리를 제어시킬 수 있다.
상기 제어 수단에는, 상기 기준으로 되는 인코드 범위의 부호화 난이도의 상승율에 기초하여, 상기 기본으로 되는 인코드 구간으로부터 연장된 상기 재인코드 구간을 설정하여, 상기 재부호화 수단에 의한 재부호화 처리를 제어시킬 수 있다.
상기 제어 수단에는, 상기 기준으로 되는 인코드 범위에 이펙트가 실시되는 경우, 상기 기준으로 되는 인코드 범위에 실시되는 상기 이펙트의 종류에 따라서, 상기 기준으로 되는 인코드 범위에서의 상기 발생 부호량이 증가하도록, 상기 재부호화 수단에 의한 상기 재인코드 구간의 재부호화 처리에서의 발생 부호량의 할당을 제어시킬 수 있다.
상기 제어 수단에는, 상기 기준으로 되는 인코드 범위의 부호화 난이도의 상승율에 기초하여, 상기 기준으로 되는 인코드 범위에서의 상기 발생 부호량이 증가하도록, 상기 재부호화 수단에 의한 상기 재인코드 구간의 재부호화 처리에서의 발생 부호량의 할당을 제어시킬 수 있다.
상기 제어 수단에는, 상기 제1 압축 영상 데이터와 상기 제2 압축 영상 데이 터의 어큐펀시에 관한 정보를 취득하고, 상기 어큐펀시에 관한 정보에 기초하여, 상기 재부호화 수단에 의한 상기 재인코드 구간의 재부호화 처리에서의 발생 부호량의 할당을 제어시킬 수 있다.
상기 어큐펀시에 관한 정보는, 상기 재인코드 구간의 선두 및 종료 위치에 대응하는 픽쳐의 어큐펀시에 관한 정보인 것으로 할 수 있다.
상기 어큐펀시에 관한 정보는, 상기 제1 압축 영상 데이터 및 상기 제2 압축 영상 데이터의 유저 데이터 영역에 다중화되어 있는 것으로 할 수 있고, 상기 제어 수단에는, 상기 제1 압축 영상 데이터와 상기 제2 압축 영상 데이터의 유저 데이터 영역에 다중화되어 있는 상기 어큐펀시에 관한 정보를 취득시킬 수 있다.
상기 제어 수단에는, 상기 제1 압축 영상 데이터와 상기 제2 압축 영상 데이터 중, 상기 재인코드 구간의 선두 및 종료 위치에 대응하는 픽쳐를 과거에 인코드한 장치를 특정 가능한 정보를 취득시키고, 취득된 상기 장치를 특정 가능한 정보를 이용하여, 상기 어큐펀시에 관한 정보가 기재되어 있는 위치를 검출시킬 수 있다.
상기 제어 수단에는, 상기 제1 압축 영상 데이터와 상기 제2 압축 영상 데이터 중, 상기 재인코드 구간의 선두 및 종료 위치에 대응하는 픽쳐의 픽쳐 타입을 나타내는 정보를 취득시키고, 취득된 상기 픽쳐 타입을 나타내는 정보를 이용하여, 상기 어큐펀시에 관한 정보가 기재되어 있는 위치를 검출시킬 수 있다.
상기 제어 수단에는, 상기 제1 압축 영상 데이터 및 상기 제2 압축 영상 데이터가 포맷 변환되었는지를 판정시키고, 포맷 변환되었다고 판정된 경우, 상기 재 인코드 구간의 선두 및 종료 위치에 대응하는 픽쳐의 픽쳐 타입을 나타내는 정보를 취득하고, 취득된 상기 픽쳐 타입을 나타내는 정보를 이용하여, 상기 어큐펀시에 관한 정보가 기재되어 있는 위치를 검출시킬 수 있다.
상기 어큐펀시에 관한 정보는, 소정의 기록 매체에, 상기 제1 압축 영상 데이터 및 상기 제2 압축 영상 데이터와 관련지어져 기록되어 있는 것으로 할 수 있고, 상기 제어 수단에는, 상기 기록 매체로부터, 상기 어큐펀시에 관한 정보를 취득시킬 수 있다.
상기 재인코드 범위의 개시점 근방의 상기 제1 압축 영상 데이터, 및, 상기 제1 범위의 종료점 근방의 상기 제2 압축 영상 데이터의 부호량을 취득하는 취득 수단과, 상기 취득 수단에 의해 취득된 상기 부호량에 기초하여, 상기 개시점 근방의 상기 제1 압축 영상 데이터를 재부호화 처리하였을 때에, 상기 개시점에서의 가상 버퍼의 점유량이 하한치로 되는 상태를 상정한 경우의 가상 버퍼 점유량의 제1 궤적을 해석함과 함께, 상기 종료점 근방의 상기 제2 압축 영상 데이터를 재부호화 처리하였을 때에, 상기 종료점의 다음 픽쳐에서의 가상 버퍼의 점유량이 상한치로 되는 상태를 상정한 경우의 가상 버퍼 점유량의 제2 궤적을 해석하는 해석 수단과, 상기 해석 수단에 의해 해석된 상기 제1 궤적 및 상기 제2 궤적에 기초하여, 상기 제1 범위를 재인코드하였을 때의 상기 개시점의 가상 버퍼의 점유량의 상한치, 및, 상기 종료점에서의 가상 버퍼의 점유량의 하한치를 결정하는 결정 수단을 더 구비시킬 수 있다.
상기 결정 수단에는, 상기 제1 궤적 중, 상기 재인코드 범위에 포함되지 않 는 영역에서 가장 큰 언더플로우의 부호량분, 상기 제1 궤적을 상기 가상 버퍼의 점유량이 증가하는 방향으로 수정하여 구해지는 제3 궤적에서의 상기 개시점의 가상 버퍼의 점유량을, 상기 재인코드 범위를 재부호화 처리하였을 때의 상기 개시점의 가상 버퍼의 점유량의 상한치로 결정시킬 수 있다.
상기 결정 수단에는, 상기 제2 궤적 중, 상기 재인코드 범위에 포함되지 않는 영역에서 가상 버퍼 점유량이 최대치로 되는 시간과 최고 비트 레이트의 적산치에 의해 구해지는 부호량분, 상기 제2 궤적을 상기 가상 버퍼의 점유량이 감소하는 방향으로 수정하여 구해지는 제3 궤적에서의 상기 종료점의 가상 버퍼의 점유량을, 상기 재인코드 범위를 재부호화 처리하였을 때의 상기 종료점의 가상 버퍼의 점유량의 하한치로 결정시킬 수 있다.
본 발명의 제1 측면의 정보 처리 방법 및 프로그램은, 재부호화 처리 시의 발생 부호량에 기초하여, 기본으로 되는 인코드 구간으로부터 연장된 재인코드 구간을 설정하는 재인코드 구간 설정 스텝과, 상기 제1 압축 영상 데이터에 설정된 제1 편집점을 포함하는 제1 디코드 구간을 복호 처리하여 제1 비압축 영상 신호를 생성함과 함께, 상기 제2 압축 영상 데이터에 설정된 제2 편집점을 포함하는 제2 디코드 구간을 복호 처리하여 제2 비압축 영상 신호를 생성하는 복호 스텝과, 상기 제1 비압축 영상 신호 및 상기 제2 비압축 영상 신호가, 상기 제1 편집점 및 상기 제2 편집점에서 접속된 제3 비압축 영상 신호에서, 상기 재인코드 구간 설정 스텝의 처리에 의해 설정된 상기 재인코드 구간을 재부호화 처리하여 제3 압축 영상 데이터를 생성하는 재부호화 스텝과, 상기 제1 압축 영상 데이터와 상기 제2 압축 영 상 데이터 중, 재인코드를 하지 않는 구간의 압축 영상 데이터와, 상기 재부호화 처리 스텝의 처리에 의해 재부호화되어 생성된 상기 제3 압축 영상 데이터를 절환하여 출력함으로써, 편집된 편집 압축 영상 데이터를 생성하는 편집 스텝을 포함한다.
본 발명의 제1 측면에서는, 재부호화 처리 시의 발생 부호량에 기초하여, 기본으로 되는 인코드 구간으로부터 연장된 재인코드 구간이 설정되고, 상기 제1 압축 영상 데이터에 설정된 제1 편집점을 포함하는 제1 디코드 구간이 복호 처리되어 제1 비압축 영상 신호가 생성되고, 상기 제2 압축 영상 데이터에 설정된 제2 편집점을 포함하는 제2 디코드 구간이 복호 처리되어 제2 비압축 영상 신호가 생성되고, 상기 제1 비압축 영상 신호 및 상기 제2 비압축 영상 신호가, 상기 제1 편집점 및 상기 제2 편집점에서 접속된 제3 비압축 영상 신호에서, 설정된 상기 재인코드 구간이 재부호화되어 제3 압축 영상 데이터가 생성되고, 상기 제1 압축 영상 데이터와 상기 제2 압축 영상 데이터 중, 재인코드를 하지 않는 구간의 압축 영상 데이터와, 재부호화되어 생성된 상기 제3 압축 영상 데이터가 절환되어 출력됨으로써, 편집된 편집 압축 영상 데이터가 생성된다.
본 발명의 제2 측면의 정보 처리 장치는, 제1 압축 영상 데이터와 제2 압축 영상 데이터를 접속하여 재부호화 처리하는 처리를 실행하는 정보 처리 장치로서, 상기 제1 압축 영상 데이터에 설정된 제1 편집점을 포함하는 제1 디코드 구간을 복호 처리하여 제1 비압축 영상 신호를 생성함과 함께, 상기 제2 압축 영상 데이터에 설정된 제2 편집점을 포함하는 제2 디코드 구간을 복호 처리하여 제2 비압축 영상 신호를 생성하는 복호 수단과, 상기 제1 비압축 영상 신호 및 상기 제2 비압축 영상 신호가, 상기 제1 편집점 및 상기 제2 편집점에서 접속된 제3 비압축 영상 신호의 소정의 재인코드 구간을 재부호화 처리하여 제3 압축 영상 데이터를 생성하는 재부호화 수단과, 상기 재부호화 수단에 의한 재부호화 처리 시의 발생 부호량에 기초하여, 기본으로 되는 인코드 구간으로부터 연장된 상기 재인코드 구간을 설정하여, 상기 재부호화 수단에 의한 재부호화 처리를 제어하는 제어 수단을 구비한다.
본 발명의 제2 측면의 정보 처리 방법 및 프로그램은, 재부호화 처리 시의 발생 부호량에 기초하여, 기본으로 되는 인코드 구간으로부터 연장된 재인코드 구간을 설정하는 재인코드 구간 설정 스텝과, 상기 제1 압축 영상 데이터에 설정된 제1 편집점을 포함하는 제1 디코드 구간을 복호 처리하여 제1 비압축 영상 신호를 생성함과 함께, 상기 제2 압축 영상 데이터에 설정된 제2 편집점을 포함하는 제2 디코드 구간을 복호 처리하여 제2 비압축 영상 신호를 생성하는 복호 스텝과, 상기 제1 비압축 영상 신호 및 상기 제2 비압축 영상 신호가, 상기 제1 편집점 및 상기 제2 편집점에서 접속된 제3 비압축 영상 신호에서, 상기 재인코드 구간 설정 스텝의 처리에 의해 설정된 상기 재인코드 구간을 재부호화 처리하여 제3 압축 영상 데이터를 생성하는 재부호화 스텝을 포함한다.
본 발명의 제2 측면에서는, 재부호화 처리 시의 발생 부호량에 기초하여, 기본으로 되는 인코드 구간으로부터 연장된 재인코드 구간이 설정되고, 상기 제1 압축 영상 데이터에 설정된 제1 편집점을 포함하는 제1 디코드 구간이 복호 처리되어 제1 비압축 영상 신호가 생성되고, 상기 제2 압축 영상 데이터에 설정된 제2 편집점을 포함하는 제2 디코드 구간이 복호 처리되어 제2 비압축 영상 신호가 생성되고, 상기 제1 비압축 영상 신호 및 상기 제2 비압축 영상 신호가, 상기 제1 편집점 및 상기 제2 편집점에서 접속된 제3 비압축 영상 신호에서, 설정된 상기 재인코드 구간이 재부호화되어 제3 압축 영상 데이터가 생성된다.
도 1은 편집과 부분 재인코드에 대해서 설명하기 위한 도면.
도 2는 Closed GOP에서의 편집과 부분 재인코드에 대해서 설명하기 위한 도면.
도 3은 Closed GOP에서의 편집과 부분 재인코드에 대해서, 디스플레이 오더에서의 픽쳐의 배열을 설명하기 위한 도면.
도 4는 본 발명을 적용한 편집 장치(1)의 구성을 도시하는 블록도.
도 5는 도 4의 편집 장치(1)에서 실행 가능한 부분 재인코드 및 편집 처리에 대해서 설명하기 위한 도면.
도 6은 도 5의 부분 재인코드 및 편집 처리에 대해서, 디스플레이 오더에서의 픽쳐의 배열을 설명하기 위한 도면.
도 7은 도 5의 부분 재인코드 및 편집 처리를 실행한 경우의 VBV 버퍼에 대해서 설명하기 위한 도면.
도 8은 도 5의 부분 재인코드 및 편집 처리를 실행한 경우에, VBV 버퍼가 파탄되는 경우에 대해서 설명하기 위한 도면.
도 9는 VBV 버퍼를 고려한 부분 재인코드 및 편집 처리에 대해서 설명하기 위한 도면.
도 10은 도 9의 부분 재인코드 및 편집 처리에 대해서, 디스플레이 오더에서의 픽쳐의 배열을 설명하기 위한 도면.
도 11은 도 9의 부분 재인코드 및 편집 처리를 실행한 경우의 VBV 버퍼에 대해서 설명하기 위한 도면.
도 12는 인코더의 구성을 도시하는 블록도.
도 13은 재인코드 범위의 연장에 대해서 설명하기 위한 도면.
도 14는 재인코드 범위를 연장하였을 때의 부호 배당량에 대해서 설명하기 위한 도면.
도 15는 부호 배당량의 최대치에 대해서 설명하기 위한 도면.
도 16은 재인코드 범위를 연장하였을 때의 부호 배당량에 대해서 설명하기 위한 도면.
도 17은 부호 배당량의 최대치에 대해서 설명하기 위한 도면.
도 18은 편집 처리 1에 대해서 설명하기 위한 플로우차트.
도 19는 디코드 범위 결정 처리 1에 대해서 설명하기 위한 플로우차트.
도 20은 재인코드 및 접속 처리 1에 대해서 설명하기 위한 플로우차트.
도 21은 디코드 범위 결정 처리 2에 대해서 설명하기 위한 플로우차트.
도 22는 재인코드 및 접속 처리 2에 대해서 설명하기 위한 플로우차트.
도 23은 부분 재인코드 및 편집 처리를 실행한 경우의 VBV 버퍼에 대해서 설 명하기 위한 도면.
도 24는 본 발명을 적용한 편집 장치의 제2 구성을 도시하는 블록도.
도 25는 MPEG_ES_editing_information에 대해서 설명하기 위한 도면.
도 26은 Occupancy를 기재하기 위한 신택스에 대해서 설명하기 위한 도면.
도 27은 도 5의 부분 재인코드 및 편집 처리에 대해서, 디스플레이 오더에서의 픽쳐의 배열을 설명하기 위한 도면.
도 28은 ES가 MXF에 랩되어 있는 경우의 MPEG_ES_editing_information에 대해서 설명하기 위한 도면.
도 29는 데이터 생성 처리에 대해서 설명하기 위한 플로우차트.
도 30은 편집 처리 2에 대해서 설명하기 위한 플로우차트.
도 31은 Occupancy 추출 처리에 대해서 설명하기 위한 플로우차트.
도 32는 Occupancy 기록 위치 검출 처리에 대해서 설명하기 위한 플로우차트.
도 33은 도 2의 CPU(11)가 실행 가능한 기능에 대해서 설명하기 위한 기능 블록도.
도 34는 재인코드 구간과 버퍼 점유량을 나타내는 궤적에 대해서 설명하는 도면.
도 35는 재인코드 구간의 최후의 버퍼 점유량의 결정에 대해서 설명하는 도면.
도 36은 재인코드 구간의 최초의 버퍼 점유량의 결정에 대해서 설명하는 도 면.
도 37은 편집 처리 3에 대해서 설명하기 위한 플로우차트.
도 38은 재인코드 및 버퍼 점유량 결정 처리에 대해서 설명하는 도면.
도 39는 퍼스널 컴퓨터의 구성을 도시하는 블록도.
도 40은 본 발명을 적용 가능한 다른 장치의 구성에 대해서 설명하기 위한 도면.
< 부호의 설명>
1: 편집 장치
11: CPU
16: HDD
20: CPU
22 내지 24: 디코더
25: 스트림 스플라이서
26: 이펙트/스위치
27: 인코더
175 : 양자화부
183: 양자화 제어부
191: 인트라 AC 산출부
192: 발생 부호량 산출부
193: GC 산출부
194: 목표 부호량 산출부
195: ME 잔차 산출부
401: 편집 장치
427: 인코더
428: 입력 단자
451: MPEG_ES_editing_information
461: MXF Header
462: Elementary Stream Header
551: 발생 부호량 검출부
552: 버퍼 점유량 해석부
553: 버퍼 점유량 결정부
554: 커맨드 및 제어 정보 생성부
<발명을 실시하기 위한 최량의 형태>
이하, 도면을 참조하여, 본 발명의 실시 형태에 대해서 설명한다.
도 4는 본 발명을 적용한 편집 장치(1)의 하드웨어 구성을 도시하는 블록도이다.
CPU(Central Processing Unit)(11)는, 노스 브릿지(12)에 접속되고, 예를 들면, HDD(Hard disk Drive)(16)에 기억되어 있는 데이터의 판독 등의 처리를 제어하거나, CPU(20)가 실행하는 편집 처리를 제어하기 위한 커맨드를 생성하여, 출력한다. 노스 브릿지(12)는, PCI 버스(Peripheral Component Interconnect/Interface)(14)에 접속되고, 예를 들면, CPU(11)의 제어에 기초하여, 사우스 브릿지(15)를 통하여, HDD(16)에 기억되어 있는 데이터의 공급을 받고, PCI 버스(14), PCI 브릿지(17)를 통하여, 메모리(18)에 공급한다. 또한, 노스 브릿지(12)는, 메모리(13)와도 접속되어 있어, CPU(11)의 처리에 필요한 데이터를 수수한다.
메모리(13)는, CPU(11)가 실행하는 처리에 필요한 데이터를 보존한다. 사우스 브릿지(15)는, HDD(16)의 데이터의 기입 및 판독을 제어한다. HDD(16)에는, 압축 부호화된 편집용의 소재가 기억되어 있다.
PCI 브릿지(17)는, 메모리(18)의 데이터의 기입 및 판독을 제어하거나, 디코더(22 내지 24), 또는, 스트림 스플라이서(25)에의 압축 부호화 데이터의 공급을 제어함과 함께, PCI 버스(14) 및 컨트롤 버스(19)의 데이터의 수수를 제어한다. 메모리(18)는, PCI 브릿지(17)의 제어에 기초하여, HDD(16)에 의해 판독된, 편집용 소재인 압축 부호화 데이터나, 스트림 스플라이서(25)로부터 공급되는 편집 후의 압축 부호화 데이터를 기억한다.
CPU(20)는, 노스 브릿지(12), PCI 버스(14), PCI 브릿지(17), 및, 컨트롤 버스(19)를 통하여, CPU(11)로부터 공급된 커맨드에 따라서, PCI 브릿지(17), 디코더(22 내지 24), 스트림 스플라이서(25), 이펙트/스위치(26), 및, 인코더(27)가 실행하는 처리를 제어한다. 메모리(21)는, CPU(20)의 처리에 필요한 데이터를 기억한다.
디코더(22) 내지 디코더(24)는, CPU(20)의 제어에 기초하여, 공급된 압축 부 호화 데이터를 디코드하여, 비압축의 영상 신호를 출력한다. 스트림 스플라이서(25)는, CPU(20)의 제어에 기초하여, 공급된 압축 영상 데이터를, 소정의 프레임으로 결합한다. 또한, 디코더(22) 내지 디코더(24)는, 편집 장치(1)에 포함되지 않는 독립된 장치로서 설치되어 있어도 된다. 예를 들면, 디코더(24)가, 독립된 장치로서 설치되어 있는 경우, 디코더(24)는, 후술하는 처리에 의해 편집되어 생성된 압축 편집 영상 데이터의 공급을 받아, 복호하여, 출력할 수 있도록 이루어진다.
이펙트/스위치(26)는, CPU(20)의 제어에 기초하여, 디코더(22) 또는 디코더(23)로부터 공급되는, 비압축의 영상 신호 출력을 절환하는, 즉, 공급된 비압축의 영상 신호를 소정의 프레임으로 결합함과 함께, 필요에 따라서, 소정의 범위에 이펙트를 실시하여, 인코더(27)에 공급한다. 인코더(27)는, CPU(20)의 제어에 기초하여, 공급된 비압축의 영상 신호를 인코드하여, 압축 부호화된 압축 영상 데이터를, 스트림 스플라이서(25)에 출력한다.
다음으로, 제1 실시 형태에서의 편집 장치(1)의 동작에 대해서 설명한다.
HDD(16)에는, 도 5에 도시된 Long GOP의 Open GOP 방식으로 압축된 압축 소재 영상 1 및 압축 소재 영상 2의 데이터가 기억되어 있다. 도 5에서, 압축된 압축 소재 영상 1 및 압축 소재 영상 2는, 표시되는 픽쳐순(display order)으로 기재되어 있다.
CPU(11)는, 사우스 브릿지(15)를 제어하여, 도시하지 않은 조작 입력부로부터 공급된 유저의 조작 입력에 기초하여, HDD(16)로부터, 압축 부호화된 압축 소재 영상 1의 데이터 및 압축 소재 영상 2의 데이터를 판독시켜, 노스 브릿지(12), PCI 버스(14), 및, PCI 브릿지(17)를 통하여, 메모리(18)에 공급시켜 기억시킴과 함께, 편집점을 나타내는 정보와, 편집 개시를 나타내는 커맨드를, 노스 브릿지(12), PCI 버스(14), PCI 브릿지(17), 및, 컨트롤 버스(19)를 통하여, CPU(20)에 공급한다.
CPU(20)는, CPU(11)로부터 공급된 편집점을 나타내는 정보에 기초하여, 압축 부호화된 압축 소재 영상 1의 데이터 및 압축 소재 영상 2의 데이터 중, 재인코드를 행할 범위를 결정한다. 그리고, CPU(20)는, PCI 브릿지(17)를 제어하여, 메모리(18)에 기억되어 있는 압축 부호화된 압축 소재 영상 1의 데이터 중, 재인코드를 행하는 범위의 픽쳐와, 참조할 필요가 있는 픽쳐에 대응하는 압축 소재 영상 1의 데이터를 디코더(22)에 공급시킴과 함께, 압축 소재 영상 2의 데이터 중, 재인코드를 행하는 범위의 픽쳐와, 참조할 필요가 있는 픽쳐에 대응하는 압축 소재 영상 2의 데이터를 디코더(23)에 공급시킨다.
즉, 이 때, 압축 소재 영상 1 중, B 픽쳐(36) 및 B 픽쳐(37)가 재인코드를 행하는 범위에 포함되어 있는 경우, B 픽쳐(36) 및 B 픽쳐(37)를 디코드하기 위해서, I 픽쳐(31), 및, P 픽쳐(32) 내지 P 픽쳐(35)도 디코드된다. 또한, 마찬가지로, 압축 소재 영상 2 중, B 픽쳐(38) 및 B 픽쳐(39)가 재인코드를 행하는 범위에 포함되어 있는 경우, B 픽쳐(38) 및 B 픽쳐(39)를 디코드하기 위해서, I 픽쳐(40)도 디코드된다.
또한, 이 때, CPU(20)는, PCI 브릿지(17)를 제어하여, 메모리(18)에 기억되어 있는 압축 부호화된 압축 소재 영상 1 및 압축 소재 영상 2의 데이터 중의 재인 코드를 행하지 않는 범위의 픽쳐를, 스트림 스플라이서(25)에 공급시킨다.
CPU(20)는, 디코더(22) 및 디코더(23)를 제어하여, 공급된 압축 부호화된 데이터를 디코드시킨다.
디코더(22) 및 디코더(23)는, CPU(20)의 제어에 기초하여, 공급된 데이터를 디코드하고, 복호되어 얻어진 소재 영상 1 및 소재 영상 2의 신호를 이펙트/스위치(26)에 공급한다. 이펙트/스위치(26)는, CPU(20)의 제어에 기초하여, 소정의 컷트(Cut) 편집점(스플라이스점)에서, 비압축의 복호 소재 영상 1과 복호 소재 영상 2의 신호를 접속하고, 필요에 따라서, 이펙트를 실시하여, 재인코드용의 비압축의 편집 영상 신호를 생성하고, 재인코드에 필요한 재인코드용 참조 화상(도 5에서는, B 픽쳐(42) 및 B 픽쳐(43)의 인코드에 필요한 P 픽쳐(41)에 대응하는 화상 데이터)과 함께, 인코더(27)에 공급한다.
또한, 디코더(22) 및 디코더(23)는, 후단의 인코더(27)에 의한 인코드 처리에 필요한 정보를 추출하여, 컨트롤 버스(19)를 통하여, CPU(20)에 공급할 수 있다. CPU(20)는, 디코더(22) 또는 디코더(23)로부터 공급된, 후단의 인코더(27)에 의한 인코드 처리에 필요한 정보를, 컨트롤 버스(19)를 통하여, 인코더(27)에 공급한다.
인코더(27)는, CPU(20)의 제어에 기초하여, 이펙트/스위치(26)로부터 공급된, 재인코드용의 비압축의 편집 영상 신호를 인코드한다.
이 때, 인코더(27)는, 도 5에 도시된 바와 같이, 쌍방향 예측 부호화를 행하는 B 픽쳐(42) 및 B 픽쳐(43)를 인코드하기 위해서, 참조 화상으로서, 1개 전의 P 픽쳐(41)를 이용해야만 한다. 또한, 디스플레이 오더에서, 재인코드의 최후의 픽쳐가 P 픽쳐로 되도록, 픽쳐 타입을 결정함으로써, 재인코드의 최후의 픽쳐 이후의 픽쳐를 인코드를 위한 참조 화상으로서 이용하지 않아도 되도록 할 수 있다.
바꾸어 말하면, 재인코드 종료점이 GOP의 단락(즉, B 픽쳐 이외)으로 되도록 하는 픽쳐 타입에서 재인코드를 행하도록 함으로써, 편집용의 압축 소재 영상 데이터가 Open GOP이더라도, 재인코드의 최후의 픽쳐 이후의 픽쳐를 인코드를 위한 참조 화상으로서 이용할 필요가 없어진다.
그리고, 인코더(27)에서 재인코드된 영상 데이터는, 스트림 스플라이서(25)에 공급된다. 그리고, 스트림 스플라이서(25)는, CPU(20)의 제어에 기초하여, PCI 브릿지(17)로부터 공급된, 압축 소재 영상 1 및 압축 소재 영상 2의 데이터 중의 재인코드를 행하지 않는 범위의 압축 소재 영상 1 및 압축 소재 영상 2와, 인코더(27)로부터 공급된 인코드된 영상 데이터를 접속하여, 압축 편집 영상 데이터를 생성한다.
구체적으로는, 스트림 스플라이서(25)는, CPU(20)의 제어에 기초하여, PCI 브릿지(17)로부터 공급된, 압축 소재 영상 1의 P 픽쳐(46)와 인코더(27)로부터 공급된 인코드된 영상 데이터의 B 픽쳐(42)가 디스플레이 오더에서 연속하도록 접속되고, 인코더(27)로부터 공급된 인코드된 영상 데이터의 P 픽쳐(45)와, PCI 브릿지(17)로부터 공급된, 압축 소재 영상 2의 I 픽쳐(47)가 디스플레이 오더에서 연속하도록 접속되도록, 스트림을 서로 연결시킨다.
그리고, 스트림 스플라이서(25)는, CPU(20)의 제어에 기초하여, 작성한 압축 편집 영상 데이터를 PCI 브릿지(17)에 공급하여, 메모리(18)에 보존시킴과 함께, 디코더(24)에 공급하여 디코드시켜, 편집 결과 확인용의 모니터 등에 출력시켜 표시시키거나, 디코드되어 생성된 베이스밴드 신호를, 다른 장치에 출력시킨다.
도시하지 않은 조작 입력부로부터, 편집되어 생성된 압축 편집 영상 데이터의 보존이 명령된 경우, CPU(11)는, PCI 브릿지(17)를 제어하여, 메모리(18)에 보존되어 있는 압축 편집 영상 데이터를 판독시켜, PCI 버스(14) 및 노스 브릿지(12)를 통하여, 사우스 브릿지(15)에 공급시킴과 함께, 사우스 브릿지(15)를 제어하여, 공급된 압축 편집 영상 데이터를 HDD(16)에 공급시켜 보존시킨다.
실제의 인코드는 코딩 오더(coding order)로 행해져, 인코더(27)에서 인코드된 압축 영상도, 코딩 오더로 출력된다. 도 5를 이용하여 설명한 경우에 대응시켜, 압축된 신호에서의 픽쳐의 배열을 코딩 오더로 나타낸 것을 도 6에 도시한다.
편집 대상인 압축 소재 영상 1 및 편집 대상인 압축 소재 영상 2의 각각의 데이터에서, 편집점을 포함하는 재인코드 범위가 결정되고, 재인코드 범위의 압축 소재 영상 1 및 압축 소재 영상 2가 디코드되어, 비압축의 소재 영상 1의 신호 및 소재 영상 2의 신호가 생성된다. 그리고, 컷트(Cut) 편집점에서, 비압축의 소재 영상 1의 신호와 소재 영상 2가 접속되고, 접속된 소재 영상 1 및 소재 영상 2가, 최후의 픽쳐가 P 픽쳐(또는 I 픽쳐)로 되도록 부분 재인코드되어, 압축 영상 데이터가 생성되고, 재인코드하지 않는 부분의 압축 영상 데이터와 접속되어, 압축된 편집 영상 데이터가 생성된다.
접속된 소재 영상 1 및 소재 영상 2가 부분 재인코드되어 생성된 압축 영상 데이터와, 재인코드하지 않는 부분의 압축 영상 데이터는, 재인코드하지 않는 부분의 압축 소재 영상 1의 데이터에서, 코딩 오더에서 최후의 픽쳐이고, 디스플레이 오더 14번째의 픽쳐인 B13 픽쳐와, 재인코드되어 생성된 압축 영상 데이터에서, 코딩 오더에서 선두의 픽쳐이고, 디스플레이 오더 3번째의 픽쳐인 I2 픽쳐가 접속된다. 그리고, 재인코드되어 생성된 압축 영상 데이터에서, 코딩 오더에서 최후의 픽쳐이고, 디스플레이 오더 16번째의 픽쳐인 P15 픽쳐(P 픽쳐(45))와, 재인코드하지 않는 부분의 압축 소재 영상 2에서, 코딩 오더에서 선두의 픽쳐이고, 데이터의 디스플레이 오더 3번째의 픽쳐인 I0 픽쳐(I 픽쳐(47))가 접속된다. 즉, 접속된 소재 영상 1 및 소재 영상 2가 부분 재인코드되어 생성된 압축 영상 데이터와, 재인코드하지 않는 부분의 압축 영상 데이터는, GOP의 절환 부분에 관계없이 접속되어, 압축된 편집 영상 데이터가 생성된다.
이와 같이, 디스플레이 오더에서, 재인코드의 최후의 픽쳐인 P15 픽쳐(P 픽쳐(45))는, 코딩 오더에서도 재인코드의 최후의 픽쳐로 된다. 이와 같이 하여, 픽쳐 타입을 결정함으로써, 재인코드의 최후의 픽쳐 이후의 픽쳐를 인코드를 위한 참조 화상으로서 이용하지 않아도 되도록 할 수 있다.
또한, 여기서는, 재인코드 범위의 압축 소재 영상 1 및 압축 소재 영상 2가 디코드되는 것으로서 설명했지만, 디코드 범위는, 재인코드 범위에 기초하여, 재인코드 범위와는 개별로 정해지는 것으로 하여도 된다. 즉, 디코드 범위는, 재인코드 범위와 동일한 범위이어도, 재인코드 범위를 포함하는 그 이상의 범위이어도 된다.
이 때, VBV(Video Buffering Verifier) 버퍼도 고려하여 재인코드를 행할 필요가 있다. 도 7을 이용하여, 편집을 행하는 경우의 VBV 버퍼에 대해서 설명한다.
인코드를 행할 때에는, VBV 버퍼가 오버플로우(over flow), 또는, 언더플로우(under flow)하지 않도록 각각의 픽쳐에 발생 부호량을 할당함으로써, 후단의 디코더가 정상적으로 디코드를 행할 수 있도록 제어되어야 한다. 특히, 편집을 위한 부분적인 재인코드를 행하는 경우, 부분 재인코드하지 않는 부분에 관해서(특히, 재인코드를 행하는 부분과 재인코드를 행하지 않는 부분의 접속점 부근에서)도, VBV 버퍼가 오버플로우 또는 언더플로우하지 않도록 재인코드를 행할 필요가 있다.
재인코드된 압축 영상 데이터의 버퍼의 상태에 의해 영향을 받는 것은, 재인코드된 압축 영상 신호 후에 결합되는 재인코드하지 않는 부분의 압축 영상 데이터이다. 이 재인코드하지 않는 부분의 압축 영상 데이터가, 오버플로우 또는 언더플로우하지 않기 위한 충분 조건은, 편집 전후에서, 재인코드된 압축 영상 신호와 재인코드하지 않는 부분의 압축 영상 데이터와의 접속 부분의 Occupancy(어큐펀시)가 일치하는 것이며, 바꾸어 말하면, 재인코드된 압축 영상 신호 후에 결합되는 재인코드하지 않는 부분의 압축 편집 영상 데이터의 최초의 I 픽쳐 또는 P 픽쳐, 즉, 도 7에서, A로 표시되는 I 픽쳐에 계속되는, 도 7에서 D로 표시되는 P 픽쳐의 Occupancy가, 압축 소재 영상 2 데이터의 도 7에서 B로 표시되는 I 픽쳐의 다음 I 픽쳐 또는 P 픽쳐, 즉, 도 7에서, C로 표시되는 P 픽쳐의 Occupancy와 동일해지는 것이다. 따라서 재인코드를 행하는 경우에는, 상기 조건을 충족시키는 값으로 되도록, 재인코드 종료 시점(도 7의 A로 표시되는 부분)의 버퍼의 Occupancy를 제어 할 필요가 있다.
이와 같이 함으로써, VBV 버퍼의 파탄을 될 수 있는 한 방지하도록 할 수 있다.
그러나, A로 표시되는 I 픽쳐 및 그 다음 I 또는 P 픽쳐의 발생 부호량에 따라서는, A로 표시되는 I 픽쳐의 Occupancy를 제어하는 것만으로는, 도 7을 이용하여 설명한 바와 같이, D로 표시되는 P 픽쳐의 Occupancy가, 압축 소재 영상 2 데이터의 도 7에서 C로 표시되는 P 픽쳐의 Occupancy와 동일해지도록 할 수 없기 때문에, VBV 버퍼가 파탄되게 될 우려가 있다.
도 8을 이용하여, VBV 버퍼가 파탄되게 되는 경우에 대해서 설명한다.
일반적으로, I 픽쳐의 발생 부호량 및 P 픽쳐의 발생 부호량은, B 픽쳐의 발생 부호량보다도 크다. 예를 들면, 재인코드하여 생성된 압축 영상 데이터 후에 결합되는, 재인코드하지 않는 압축 소재 영상 2의 데이터의 선두의 I 픽쳐인 I2 픽쳐의 발생 부호량 B, 및, 다음 P 픽쳐인 P5 픽쳐의 발생 부호량 C가 큰 경우에 대해서 생각한다.
이 때, 편집되어 생성되는 압축 편집 영상 중의, 부분 인코드된 부분에 계속되는 부분 인코드되지 않는 부분의 선두의 I 픽쳐에 계속되는 P 픽쳐에서의 D로 표시되는 부분의 Occupancy가, 편집 전의 압축 소재 영상 2 데이터의 C로 표시되는 부분의 Occupancy와 동일해지도록, A로 표시되는 I 픽쳐의 Occupancy를 제어하고자 하여도, 연속하는 P 픽쳐의 부호 발생량이 많기 때문에, 도면 내 D에 도시된 바와 같이, 버퍼를 언더플로우하게 된다. 이 예에서는, 편집 후의 I0 픽쳐에서의 A로 표시되는 I 픽쳐의 Occupancy는, 거의, 버퍼의 최대치이기 때문에, 재인코드 부분에서, 발생 부호량을 어떻게 제어하더라도, 도면 내 D로 표시되는 부분에서 버퍼의 언더플로우를 피할 수 없다. 즉, 도 5 및 도 6을 이용하여 설명한 방법에서는, 디코더에서의 복호 처리를 100% 보장할 수 없다.
따라서, CPU(20)는, VBV 버퍼가 파탄되지 않는 조건을 지켜 재인코드가 행해지도록, 디코더(22) 및 디코더(23), 스트림 스플라이서(25), 이펙트/스위치(26), 및, 인코더(27)가 실행하는 처리를 제어하도록 할 수 있다.
다음으로, Long GOP의 Open GOP 방식으로 압축된 영상 신호에서, VBV 버퍼가 파탄되지 않는 조건을 지켜 편집할 수 있는, 제2 실시 형태에 대해서 설명한다.
제2 실시 형태에서의 편집 장치(1)의 동작에 대해서 설명한다.
CPU(11)는, 사우스 브릿지(15)를 제어하여, 도시하지 않은 조작 입력부로부터 공급된 유저의 조작 입력에 기초하여, HDD(16)로부터, 압축 부호화된 압축 소재 영상 1의 데이터 및 압축 소재 영상 2의 데이터를 판독시켜, 노스 브릿지(12), PCI 버스(14), 및, PCI 브릿지(17)를 통하여, 메모리(18)에 공급시켜 기억시킴과 함께, 편집점을 나타내는 정보와, 편집 개시를 나타내는 커맨드를, 노스 브릿지(12), PCI 버스(14), PCI 브릿지(17), 및, 컨트롤 버스(19)를 통하여, CPU(20)에 공급한다.
CPU(20)는, CPU(11)로부터 공급된 편집점을 나타내는 정보에 기초하여, 압축 부호화된 압축 소재 영상 1의 데이터 및 압축 소재 영상 2의 데이터 중, 재인코드를 행하는 범위를 결정한다.
구체적으로는, CPU(20)는, 압축 소재 영상 1에서, 재인코드하는 구간의 개시 점을, 부분 재인코드된 압축 영상의 전에 결합하는, 재인코드하지 않는 부분의 압축 영상의 디스플레이 오더에서 최후의 픽쳐의 픽쳐 타입이, I 픽쳐 또는 P 픽쳐로 되도록 결정한다.
즉, CPU(20)는, 예를 들면, 도 9에 도시된 바와 같이, 재인코드하지 않는 부분의 압축 소재 영상 1의 디스플레이 오더에서 최후의 픽쳐의 픽쳐 타입이 P 픽쳐(46)로 되도록, 재인코드하는 구간의 개시점을, 압축 소재 영상 1에서, P 픽쳐(35)의 다음 B 픽쳐(36)로 결정한다. 바꾸어 말하면, CPU(20)는, 재인코드하지 않는 부분의 압축 영상이 GOP의 종료 위치로 되도록 함으로써, 인코드 처리를 행하기 쉽도록 할 수 있다.
또한, CPU(20)는, 압축 소재 영상 2에서, 재인코드하는 구간의 종료점을, 부분 재인코드된 압축 영상 뒤에 결합하는, 재인코드하지 않는 부분의 압축 영상의 디스플레이 오더에서 최초의 픽쳐의 픽쳐 타입이 I 픽쳐로 되도록 결정한다.
즉, CPU(20)는, 예를 들면, 도 9에 도시된 바와 같이, 재인코드하지 않는 부분의 압축 소재 영상 2의 디스플레이 오더에서 최초의 픽쳐의 픽쳐 타입이 I 픽쳐(47)로 되도록, 재인코드하는 구간의 종료점을, 압축 소재 영상 2에서, I 픽쳐(40) 전의 B 픽쳐(39)로 결정한다.
그리고, CPU(20)는, PCI 브릿지(17)를 제어하여, 메모리(18)에 기억되어 있는 압축 부호화된 압축 소재 영상 1의 데이터 중, 재인코드를 행하는 범위의 픽쳐와, B 픽쳐(36) 및 B 픽쳐(37)를 디코드하기 위해 참조할 필요가 있는 픽쳐인, I 픽쳐(31), P 픽쳐(32), P 픽쳐(33), P 픽쳐(34), 및, P 픽쳐(35)의 데이터를 디코 더(22)에 공급시킴과 함께, 압축 소재 영상 2의 데이터 중, 재인코드를 행하는 범위의 픽쳐와, B 픽쳐(38) 및 B 픽쳐(39)를 디코드하기 위해 참조할 필요가 있는 픽쳐인, I 픽쳐(40)의 데이터를 디코더(23)에 공급시킨다.
또한, 이 때, CPU(20)는, PCI 브릿지(17)를 제어하여, 메모리(18)에 기억되어 있는 압축 부호화된 압축 소재 영상 1 및 압축 소재 영상 2의 데이터 중의 재인코드를 행하지 않는 범위의 픽쳐를, 스트림 스플라이서(25)에 공급시킨다.
CPU(20)는, 디코더(22) 및 디코더(23)를 제어하여, 공급된 압축 부호화된 데이터를 디코드시킨다.
디코더(22) 및 디코더(23)는, CPU(20)의 제어에 기초하여, 공급된 데이터를 디코드하고, 복호되어 얻어진 소재 영상 1 및 소재 영상 2의 신호를 이펙트/스위치(26)에 공급한다.
또한, 디코더(22) 및 디코더(23)는, 후단의 인코더(27)에 의한 인코드 처리에 필요한 정보를 추출하여, 컨트롤 버스(19)를 통하여, CPU(20)에 공급할 수 있다. CPU(20)는, 디코더(22) 또는 디코더(23)로부터 공급된, 후단의 인코더(27)에 의한 인코드 처리에 필요한 정보를, 컨트롤 버스(19)를 통하여, 인코더(27)에 공급한다.
이펙트/스위치(26)는, CPU(20)의 제어에 기초하여, 소정의 컷트(Cut) 편집점(스플라이스점)에서, 비압축의 복호 소재 영상 1과 복호 소재 영상 2의 신호를 접속하고, 필요에 따라서, 이펙트를 실시하여, 재인코드용의 비압축의 편집 영상 신호를 생성하고, 재인코드에 필요한 재인코드용 참조 화상(도 9에서는, B 픽 쳐(42) 및 B 픽쳐(43)의 인코드에 필요한 P 픽쳐(41), 및, B 픽쳐(72) 및 B 픽쳐(73)의 인코드에 필요한 I 픽쳐(74)에 대응하는 화상 데이터)과 함께, 인코더(27)에 공급한다.
CPU(20)는, 압축 소재 영상 2 중, 재인코드를 행하는 부분에서, 디스플레이 오더에서 최후에 위치하는 연속하는 B 픽쳐의 매수 n의 정보를 취득한다. 재인코드하지 않는 부분의 압축 소재 영상 2의 디스플레이 오더에서 최초의 픽쳐의 픽쳐 타입은, 상술한 바와 같이, I 픽쳐로 되도록 결정되어 있으므로, B 픽쳐의 매수 n은, 즉, 재인코드하지 않는 부분의 압축 소재 영상 2의 디스플레이 오더에서 최초의 I 픽쳐와, 편집 후에 그 I 픽쳐의 직전에 존재하는 I 픽쳐 또는 P 픽쳐 사이에 있는 B 픽쳐의 매수이다. 도 9에서의 경우에서는, B 픽쳐의 매수 n은, B 픽쳐(38) 및 B 픽쳐(39)의 2매이다.
또한, CPU(20)는, 재인코드하지 않는 부분의 압축 소재 영상 2의 디스플레이 오더에서 최초의 I 픽쳐의 직전에 존재하는 I 픽쳐 또는 P 픽쳐, 바꾸어 말하면, 재인코드하는 범위의 최후에 존재하는 I 픽쳐 또는 P 픽쳐의 픽쳐 타입의 정보를 취득한다. 도 9에서의 경우에서는, 재인코드하지 않는 부분의 압축 소재 영상 2의 디스플레이 오더에서 최초의 I 픽쳐의 직전에 존재하는 I 픽쳐 또는 P 픽쳐는, P 픽쳐(61)이다.
그리고, CPU(20)는, 인코더(27)가 실행하는 처리에서, 재인코드 종료점 부근의 B 픽쳐 타입의 매수가 편집 전의 압축 소재 영상 2와 동일해지고, 그 B 픽쳐의 직전의 픽쳐의 픽쳐 타입이 I 픽쳐 또는 P 픽쳐로 되도록, 인코더(27)를 제어한다. 또한, CPU(20)는, B 픽쳐의 직전의 픽쳐의 픽쳐 타입도, 편집 전의 압축 소재 영상 2와 동일하게 되도록 제어하면 바람직하다.
즉, CPU(20)는, 도 9에서의 경우에서는, 편집 전의 압축 소재 영상 2의 B 픽쳐(38) 및 B 픽쳐(39)와, 재인코드에서의 B 픽쳐(72) 및 B 픽쳐(73)의 픽쳐 타입을 일치시키고, 재인코드에서의 B 픽쳐(72) 및 B 픽쳐(73)의 직전을 P 픽쳐(71)로 한다.
인코더(27)는, CPU(20)의 제어에 기초하여, 이펙트/스위치(26)로부터 공급된, 재인코드용의 비압축의 편집 영상 신호를 인코드한다.
그리고, 인코더(27)에서 재인코드된 영상 데이터는, 스트림 스플라이서(25)에 공급된다. 스트림 스플라이서(25)는, CPU(20)의 제어에 기초하여, PCI 브릿지(17)로부터 공급된, 압축 소재 영상 1 및 압축 소재 영상 2의 데이터 중의 재인코드를 행하지 않는 범위의 압축 소재 영상 1 및 압축 소재 영상 2와, 인코더(27)로부터 공급된 인코드된 영상 데이터를 접속하여, 압축 편집 영상 데이터를 생성한다.
구체적으로는, 스트림 스플라이서(25)는, CPU(20)의 제어에 기초하여, PCI 브릿지(17)로부터 공급된, 압축 소재 영상 1의 P 픽쳐(46)와 인코더(27)로부터 공급된 인코드된 영상 데이터의 B 픽쳐(42)가 디스플레이 오더에서 연속하도록 접속되고, 인코더(27)로부터 공급된 인코드된 영상 데이터의 B 픽쳐(73)와, PCI 브릿지(17)로부터 공급된, 압축 소재 영상 2의 I 픽쳐(47)가 디스플레이 오더에서 연속하도록 접속되도록, 스트림을 서로 연결시킨다.
또한, 여기서도, 재인코드 범위의 압축 소재 영상 1 및 압축 소재 영상 2가 디코드되는 것으로서 설명했지만, 디코드 범위는, 재인코드 범위에 기초하여, 재인코드 범위와는 개별로 정해지는 것으로 하여도 된다. 즉, 디코드 범위는, 재인코드 범위와 동일한 범위이어도, 재인코드 범위를 포함하는 그 이상의 범위이어도 된다.
실제의 인코드는 코딩 오더로 행해지고, 인코더(27)에서 인코드된 압축 영상도, 코딩 오더로 출력된다. 도 9를 이용하여 설명한 경우에 대응시켜, 압축된 신호에서의 픽쳐의 배열을 코딩 오더로 나타낸 것을 도 10에 도시한다.
즉, 스트림 스플라이서(25)는, CPU(20)의 제어에 기초하여, 재인코드된 부분과 재인코드되어 있지 않은 부분의 접속점에서, 인코드된 영상 데이터에서, 코딩 오더에서 P 픽쳐(71)에 계속되는 B 픽쳐(81)와, 압축 소재 영상 2의 I 픽쳐(47)(재인코드되어 있지 않은 I 픽쳐)가 코딩 오더에서 연속하도록 접속되고, 압축 소재 영상 2의 I 픽쳐(47)와, 인코드된 영상 데이터의 B 픽쳐(72)가 코딩 오더에서 연속하도록 접속되고, 인코드된 영상 데이터에서, 코딩 오더에서 B 픽쳐(72)에 계속되는 B 픽쳐(73)와, 압축 소재 영상 2의 P 픽쳐(82)가 코딩 오더에서 연속하도록 접속되도록, 스트림을 서로 연결시킨다.
바꾸어 말하면, 스트림 스플라이서(25)는, 코딩 오더에서, 재인코드된 구간의 최후의 I 픽쳐 또는 P 픽쳐에 계속되는, n매의 재인코드된 B 픽쳐 전에, 재인코드되어 있지 않은 I 픽쳐가 들어가도록, 스트림을 서로 연결시킨다.
그리고, 스트림 스플라이서(25)는, CPU(20)의 제어에 기초하여, 작성한 압축 편집 영상 데이터를 PCI 브릿지(17)에 공급하여, 메모리(18)에 보존시킴과 함께, 디코더(24)에 공급하여 디코드시켜, 편집 결과 확인용의 모니터 등에 출력시켜 표시시키거나, 디코드되어 생성된 베이스밴드 신호를, 다른 장치에 출력시킨다. 디코더(24)가, 독립된 장치로서 구성되어 있는 경우, 디코더(24)에 대응하는 장치는, 도 9 및 도 10을 이용하여 설명한 바와 하여 생성된, 바꾸어 말하면, 재인코드된 구간의 최후의 I 픽쳐 또는 P 픽쳐에 계속되는, n매의 재인코드된 B 픽쳐 전에, 재인코드되어 있지 않은 I 픽쳐가 들어가는 편집 후의 압축 영상 데이터의 공급을 받아 이것을 디코드하고, 디코드되어 생성된 베이스밴드 신호를 출력할 수 있도록 이루어진다.
다음으로, 도 11을 이용하여, 도 9 및 도 10을 이용하여 설명한, 재인코드를 이용한 편집 처리를 행하는 경우의 VBV 버퍼에 대해서 설명한다.
도 9 및 도 10을 이용하여 설명한, 재인코드를 이용한 편집 처리가 행해진 경우, 코딩 오더에서, 재인코드의 최후의 n매의 B 픽쳐 전에, 재인코드하지 않는 I 픽쳐가 삽입된다. 따라서, 도 11에 도시된 바와 같이, 재인코드되지 않는 I 픽쳐의 발생 부호량의 정보(도 11에서는, F로 표시되는 부분)가 압축 소재 영상 2의 대응하는 I 픽쳐의 발생 부호량의 정보(도 11에서는, B로 표시되는 부분)로부터 구해지고, 재인코드 범위로부터 최후의 n매의 B 픽쳐를 제외한 부분(도 11의 E로 표시되는 부분)은, 재인코드되지 않는 최초의 I 픽쳐에서 VBV 버퍼가, 오버플로우 또는 언더플로우하지 않도록, 발생 부호량이 할당되어, 재인코드가 행해져, VBV 버퍼의 Occupancy가 계산된다.
그 후, 재인코드하지 않는 부분의 압축 영상의 VBV 버퍼가, 오버플로우 또는 언더플로우하지 않도록 하기 위해서, 재인코드하지 않는 부분의 압축 영상의 선두의 I 픽쳐의 다음에 위치하는 I 픽쳐 또는 P 픽쳐의 Occupancy가 편집 전후에서 일치하도록, 재인코드 부분의 최후의 n매의 B 픽쳐(도 11에서는, G로 표시되는 부분)에서, 발생 부호량이 제어되어, 인코드가 행해진다. 즉, 도 11에서, 편집 전의 C로 표시되는 발생 부호량과, 편집 후의 H로 표시되는 발생 부호량은 동일하기 때문에, 편집 전의 I로 표시되는 Occupancy에, 편집 후의 J로 표시되는 Occupancy가 일치하도록, n매의 B 픽쳐의 재인코드가 행해진다. 이에 의해, 도 11에서, K 및 L로 표시되는 부분에서 버퍼의 언더플로우는 발생하지 않는다.
이 방법에서는, 재인코드가 행해져 있는 부분과 재인코드가 행해지지 않는 부분의 압축 영상의 결합부에서의 픽쳐 타입이, 편집 전후에서 보존되어 있으므로, 도 11에 도시된 바와 같이, 재인코드가 행해져 있는 부분에 접속되는, 재인코드가 행해지지 않는 부분의 선두의 I 픽쳐의 발생 부호량 F와, 다음 I 픽쳐 또는 P 픽쳐의 발생 부호량 H가 크더라도, 편집 전의 압축 소재 영상 2의 데이터에서 VBV 버퍼의 제약이 충족되어 있으면, 편집 후의 압축 영상에서도 제약을 충족시키도록 인코드가 행해지도록 하는 것이 가능하다.
이상, 도 4 내지 도 11을 이용하여, 쌍방향의 프레임간 예측을 이용하여 압축한 영상 데이터를 편집할 수 있는 편집 장치(1)가 실행하는 처리의 제1 실시 형태 및 제2 실시 형태에 대해서 설명했다.
이와 같이, 편집점 부근의 소정의 범위의 픽쳐를 디코드하여 결합한 후, 재 인코드를 행하도록 이루어져 있는 편집 방법에서는, VBV Buffer의 Occupancy가 연속으로 되도록, 재인코드를 행하는 부분과 행하지 않는 부분의 접속점 부근의 Occupancy를 제어할 필요가 있다. 따라서, 제2 실시 형태에서, 재인코드 개시점의 I 픽쳐의 VBV Occupancy가 작고, 재인코드 종료점 전의 I 픽쳐의 VBV Occupancy가 큰 경우, 버퍼의 언더플로우를 피하기 위해서는, Bit rate로부터 상정되는 본래의 부호량(픽쳐 수×bit_rate/frame_rate에 의해 구해짐)보다 적은 부호량밖에 발생시킬 수 없다. 이러한 경우, 동일한 Bit rate로 재인코드하면 화질은 저하된다.
여기서, 재인코드 개시점의 I 픽쳐와, 재인코드 종료점 전의 I 픽쳐와의 VBV Occupancy를 비교함으로써, 상정되어 있는 본래의 부호량이 발생되어 있는지의 여부가 판단되는 것은, GOP에서 동일한 위치에서 VBV Occupancy를 비교하기 때문이다.
또한, 상술한 바와 같이, 편집점 부근에서는, 필요에 따라서, 이펙트가 실시된다. 이 때, 이펙트의 종류에 따라서는, 이펙트가 가해진 부분의 부호화 난이도가 높아져, 통상의 부호량으로 부호화한 경우, 재인코드 후의 화질은 저하된다.
인코더(27)가, VBR(Variable Bit Rate)로 인코드를 행하고, 또한, 편집 소재의 압축 영상 데이터의 편집점 부근의 Bit rate가, 최대 Bit rate보다도 낮으며, 재인코드를 행할 때에 Bit rate를 올리는 것이 가능한 경우에는, 재인코드 범위 중의 부호화 난이도가 높은 부분에서 Bit rate를 올림으로써, 화질을 유지할 수 있다. 그러나, 인코더(27)가, CBR(Constant Bit Rate)로 인코드를 행하고 있는 경우나, 편집 소재의 압축 영상 데이터의 편집점 부근의 Bit rate가, 최대 Bit rate와 거의 동일한 경우에는, 재인코드 범위 내의 부호화 난이도가 높은 부분에서 Bit Rate를 올려 인코드에 사용할 수 있는 부호량을 늘릴 수 없으므로, 화질을 유지할 수 없다.
Bit Rate를 올릴 수 없는 상황에서, 편집점 부근의 부호화 난이도가 높아진 경우나, VBV Buffer의 연속성을 유지하기 위해서, Bit rate로부터 상정되는 본래의 부호량보다 적은 부호량밖에 상용할 수 없는 경우, 발생 부호량을 제어함으로써, 본래의 발생 부호량에 가능한 한 가까운 발생 부호량을 공급할 수 있도록 하여, 화질의 열화를 방지하도록 할 필요가 있다. 따라서, 편집 장치(1)에서는, VBV Buffer의 Occupancy가 연속으로 되도록 제어됨으로써, 상정되어 있는 본래의 부호량이 발생되지 않거나, 편집점 부근에 이펙트가 실시됨으로써, 그 부분의 부호화 난이도가 높아진 경우, 상술한 실시 형태 2에서의 재인코드 범위를 연장하고, 인코더(27)에 의한 인코드 처리의 발생 부호량을 편집점 부근에서 증가시키도록 제어함으로써, 화질의 저하를 방지하도록 할 수 있다.
재인코드 범위를 연장하고, 인코더(27)에 의한 인코드 처리의 발생 부호량을 편집점 부근에서 증가시키도록 제어하는, 제3 실시 형태에 대해서, 이하에 설명한다.
우선, 도 11을 이용하여 설명한 경우와 같이, 편집점을 포함하는 최소의 재인코드 구간을 생각한다. 편집점을 포함하는 이펙트 구간을, 이하, Editing Duration이라고 하는 것으로 한다.
재인코드 개시점 및 종료점의 VBV Occupancy의 연속성을 유지하기 위해서, 재인코드 개시점, 종료점의 VBV Occupancy가 일치되도록, 인코더(27)에 의한 인코드가 CPU(20)에 의해 제어된다.
통상적으로, P 픽쳐 또는 B 픽쳐보다도 I 픽쳐의 발생 부호량이 많기 때문에, GOP의 선두에서는 Occupancy가 작아지고, 후반에서는 커진다. 부호량 할당에서, GOP 단위로 동일한 부호량(1GOP의 픽쳐 수×bit_rate/frame_rate)이 할당되도록 이루어져 있는 경우, GOP의 선두의 I 픽쳐에서는, 모두 동일한 Occupancy로 된다. 따라서, GOP 단위로 동일한 부호량이 할당되어 있지 않은 경우, 재인코드를 행하는 구간의 GOP의 선두와 다음 GOP의 선두의 Occupancy를 비교함으로써, 그 GOP에서 사용할 수 있는 부호량이 평균보다 많은지 적은지를 판단할 수 있다. 즉, 상술한 바와 같이, 재인코드 개시점의 I 픽쳐와, 재인코드 종료점 전의 I 픽쳐와의 VBV Occupancy를 비교함으로써, 상정되어 있는 본래의 부호량이 발생되어 있는지의 여부를 판단할 수 있다.
또한, 재인코드 종료점과 그 직전의 재인코드하지 않는 I 픽쳐 사이의 픽쳐(도 11에서 G로 표시되는 B 픽쳐)는, 인코드 조건에 거의 변화가 없으므로, 이 부분에서의 재인코드 시의 부호량이, 편집 전의 압축 영상과 동일한 것으로 가정하여, 편집 전의 압축 영상의 재인코드 종료점의 직전의 재인코드하지 않는 I 픽쳐의 VBV Occupancy를, 재인코드되는 구간의 종료점의 VBV Occupancy로 간주할 수 있다. 또한, Editing Duration을 포함하는 최소의 GOP를 Editing GOP Duration이라고 한 경우, Editing GOP Duration의 선두의 I 픽쳐와, Editing GOP Duration의 다음 I 픽쳐는, 재인코드 개시점의 I 픽쳐와, 재인코드 종료점 전의 I 픽쳐와 동일하다.
따라서, 수학식 1에 나타낸 바와 같이, 편집 전의 압축 소재 영상 1의 재인코드 개시점에 대응하는 픽쳐, 바꾸어 말하면, Editing GOP Duration의 선두의 I 픽쳐에 대응하는 편집 전의 픽쳐의 VBV Occupancy로부터, 편집 전의 압축 소재 영상 2의 재인코드 종료점의 직전의 재인코드하지 않는 I 픽쳐, 바꾸어 말하면, Editing GOP Duration의 다음 I 픽쳐에 대응하는 편집 전의 픽쳐의 VBV Occupancy를 뺀 값인, Occupancy 차분치를 구함으로써, Editing Duration에서 사용할 수 있는 부호량이, bit rate로부터 얻어지는 평균치보다 적은지의 여부를, 실제의 인코드를 행하기 전에 판단할 수 있다.
Figure 112007016109929-PCT00001
따라서, CPU(20)는, Editing GOP Duration에서 사용할 수 있는 부호량이 평균치보다 적은 경우, PCI 브릿지(17)를 제어하여, 재인코드 구간을 Editing GOP Duration의 전후로 연장시키고, 인코더(27)를 제어하여, Editing GOP Duration에 할당되는 발생 부호량을 증가시킨다.
또한, 메모리(21)에는, 미리, 이펙트의 종류와 부호화 난이도의 상승율과의 관계를 나타내는 테이블을 미리 보존해 두거나, 또는, 이펙트의 종류와 대응하는 계수, 및, 그 계수를 이용하여 부호화 난이도에 대응하는 값을 산출할 수 있는 계산식을 미리 보존해 놓는 것으로 한다. CPU(20)는, 메모리(21)에 기억된 테이블을 참조하거나, 소정의 계산식을 이용하여, 이펙트의 종류에 대응하는 부호화 난이도를 취득하고, 그 부호화 난이도에 기초하여, PCI 브릿지(17)를 제어하여, 재인코드 구간을 Editing GOP Duration의 전후로 연장시키고, 인코더(27)를 제어하여, Editing GOP Duration에 할당되는 발생 부호량을 증가시킨다.
CPU(20)는, 인코더(27)에 의해 재인코드가 행해지기 전에, Editing GOP Duration에 할당되는 발생 부호량과, 재인코드 구간의 연장량을 미리 결정하도록 해도 되고, 인코더(27)에 의해 재인코드가 행해지는 것과 평행하여, Editing GOP Duration에 할당되는 발생 부호량과, 재인코드 구간의 연장량을 축차 산출하여 갱신할 수 있도록 해도 된다. 이 때, CPU(20)는, Editing GOP Duration에 할당되는 발생 부호량과, 재인코드 구간의 연장량을 산출하기 위해서, 재인코드되는 픽쳐의 부호화 난이도에 관한 정보를 취득할 필요가 있다. HDD(16)에 기록되어 있는 압축 영상 소재와 함께, 대응하는 부호화 난이도의 정보가 이미 준비되어 있는 경우, CPU(11)가, 사우스 브릿지(15) 및 노스 브릿지(12)를 통하여, HDD(16)로부터 부호화 난이도의 정보를 판독하고, 노스 브릿지(12), PCI 버스(14), PCI 브릿지, 및, 컨트롤 버스(19)를 통하여, CPU(20)에 공급하도록 해도 된다. 또한, 디코더(22 및 23)가 디코드 시에 부호화 난이도의 정보를 취득하여, 컨트롤 버스(19)를 통하여, CPU(20)에 공급하도록 해도 되고, 인코더(27)가 인코드 시에 취득한 부호화 난이도의 정보를, 컨트롤 버스(19)를 통하여, CPU(20)에 공급하도록 해도 된다.
이와 같이 하여, 편집 장치(1)에서는, VBV Buffer의 Occupancy가 연속으로 되도록 제어됨으로써, 상정되어 있는 본래의 부호량이 발생되지 않거나, 편집점 부근에 이펙트가 실시됨으로써, 그 부분의 부호화 난이도가 높아진 경우, 상술한 방법으로 결정되는 최소의 재인코드 범위를 연장하고, 인코더(27)에 의한 인코드 처 리의 발생 부호량을 편집점 부근에서 증가시키도록 제어함으로써, 화질의 저하를 방지하도록 할 수 있다.
도 12는, 인코더(27)의 구성을 도시하는 블록도이다.
인코더(27)에 외부로부터 공급된 화상 데이터는 전처리부(171)에 입력된다. 전처리부(171)는, 순차적으로 입력되는 화상 데이터의 각 프레임 화상을, 16 화소×16 라인의 휘도 신호, 및 휘도 신호에 대응하는 색차 신호에 의해 구성되는 매크로 블록으로 분할하고, 필요에 따라서, 재배열하거나, 화상 데이터의 각 프레임 화상을, 16 화소×16 라인의 휘도 신호, 및 휘도 신호에 대응하는 색차 신호에 의해 구성되는 매크로 블록으로 분할한 매크로 블록 데이터를 생성하여, 연산부(172), 움직임 벡터 검출부(173), 및, 양자화 제어부(183)의 인트라 AC 산출부(191)에 공급한다.
움직임 벡터 검출부(173)는, 매크로 블록 데이터의 입력을 받아, 각 매크로 블록의 움직임 벡터를, 매크로 블록 데이터, 및, 프레임 메모리(184)에 기억되어 있는 참조 화상 데이터에 기초하여 산출하고, 움직임 벡터 데이터로서, 움직임 보상부(181)에 송출한다.
연산부(172)는, 전처리부(171)로부터 공급된 매크로 블록 데이터에 대해서, 각 매크로 블록의 화상 타입에 기초한 움직임 보상을 행한다. 구체적으로는, 연산부(172)는, I 픽쳐에 대해서는 인트라 모드로 움직임 보상을 행하고, P 픽쳐에 대해서는, 순방향 예측 모드로 움직임 보상을 행하고, B 픽쳐에 대해서는, 쌍방향 예측 모드로 움직임 보상을 행하도록 이루어져 있다.
인트라 모드란, 부호화 대상으로 되는 프레임 화상을 그대로 전송 데이터로 하는 방법이고, 순방향 예측 모드란, 부호화 대상으로 되는 프레임 화상과 과거 참조 화상의 예측 잔차를 전송 데이터로 하는 방법이며, 쌍방향 예측 모드란, 부호화 대상으로 되는 프레임 화상과, 과거와 장래의 참조 화상의 예측 잔차를 전송 데이터로 하는 방법이다.
우선, 매크로 블록 데이터가 I 픽쳐이었던 경우, 매크로 블록 데이터는 인트라 모드로 처리된다. 즉, 연산부(172)는, 입력된 매크로 블록 데이터의 매크로 블록을, 그대로 연산 데이터로서 DCT(Discrete Cosine Transform: 이산 코사인 변환)부(174)에 송출한다. DCT부(147)는, 입력된 연산 데이터에 대해서 DCT 변환 처리를 행함으로써 DCT 계수화하고, 이것을 DCT 계수 데이터로서, 양자화부(175)에 송출한다.
양자화부(175)는, 발생 부호량 제어부(192)로부터 공급되는 양자화 인덱스 데이터 Q(j+1)에 기초하여, 입력된 DCT 계수 데이터에 대해서 양자화 처리를 행하고, 양자화 DCT 계수 데이터로서, VLC(Variable Length Code;가변 길이 부호화)부(177) 및 역양자화부(178)에 송출한다. 양자화부(175)는, 발생 부호량 제어부(192)로부터 공급되는 양자화 인덱스 데이터 Q(j+1)에 따라서, 양자화 처리에서의 양자화 스텝 사이즈를 조정함으로써, 발생하는 부호량을 제어할 수 있도록 이루어져 있다.
역양자화부(178)에 송출된 양자화 DCT 계수 데이터는, 양자화부(175)와 동일한 양자화 스텝 사이즈에 의한 역양자화 처리를 받아, DCT 계수 데이터로서, 역DCT 부(179)에 송출된다. 역DCT부(179)는, 공급된 DCT 계수 데이터에 역DCT 처리를 실시하고, 생성된 연산 데이터는, 연산부(180)에 송출되어, 참조 화상 데이터로서 프레임 메모리(184)에 기억된다.
그리고, 연산부(172)는, 매크로 블록 데이터가 P 픽쳐이었던 경우, 매크로 블록 데이터에 대해서, 순방향 예측 모드에 의한 움직임 보상 처리를 행하고, B 픽쳐이었던 경우, 매크로 블록 데이터에 대해서, 쌍방향 예측 모드에 의한 움직임 보상 처리를 행한다.
순방향 예측 모드에서, 움직임 보상부(181)는, 프레임 메모리(184)에 기억되어 있는 참조 화상 데이터를, 움직임 벡터 데이터에 따라서 움직임 보상하여, 순방향 예측 화상 데이터, 또는, 쌍방향 예측 화상 데이터를 산출한다. 연산부(172)는, 매크로 블록 데이터에 대해서, 움직임 보상부(181)로부터 공급되는 순방향 예측 화상 데이터, 또는, 쌍방향 예측 화상 데이터를 이용하여 감산 처리를 실행한다.
즉, 움직임 보상부(181)는, 순방향 예측 모드에서, 프레임 메모리(184)의 판독 어드레스를, 움직임 벡터 데이터에 따라서 어긋나게 함으로써, 참조 화상 데이터를 판독하고, 이것을 순방향 예측 화상 데이터로서 연산부(172) 및 연산부(180)에 공급한다. 연산부(172)는, 공급된 매크로 블록 데이터로부터, 순방향 예측 화상 데이터를 감산하여, 예측 잔차로서의 차분 데이터를 얻는다. 그리고, 연산부(172)는, 차분 데이터를 DCT부(174)에 송출한다.
연산부(180)에는, 움직임 보상부(181)로부터 순방향 예측 화상 데이터가 공 급되어 있으며, 연산부(180)는, 역DCT부(179)로부터 공급된 연산 데이터에, 순방향 예측 화상 데이터를 가산함으로써, 참조 화상 데이터를 국부 재생하여, 프레임 메모리(184)에 출력하여 기억시킨다.
또한, 쌍방향 예측 모드에서, 움직임 보상부(181)는, 쌍방향 예측 화상 데이터를 연산부(172) 및 연산부(180)에 공급한다. 연산부(172)는, 공급된 매크로 블록 데이터로부터, 쌍방향 예측 화상 데이터를 감산하여, 예측 잔차로서의 차분 데이터를 얻는다. 그리고, 연산부(172)는, 차분 데이터를 DCT부(174)에 송출한다.
연산부(180)에는, 움직임 보상부(181)로부터 쌍방향 예측 화상 데이터가 공급되어 있으며, 연산부(180)는, 역DCT부(179)로부터 공급된 연산 데이터에, 쌍방향 예측 화상 데이터를 가산함으로써, 참조 화상 데이터를 국부 재생한다.
이렇게 해서, 인코더(27)에 입력된 화상 데이터는, 움직임 보상 예측 처리, DCT 처리 및 양자화 처리를 받아, 양자화 DCT 계수 데이터로서, VLC부(177)에 공급된다. VLC부(177)는, 양자화 DCT 계수 데이터에 대해서, 소정의 변환 테이블에 기초하는 가변 길이 부호화 처리를 행하고, 그 결과 얻어지는 가변 길이 부호화 데이터를 버퍼(182)에 송출함과 함께, 매크로 블록마다의 부호화 발생 비트 수를 나타내는 발생 부호량 데이터 B(j)를, 양자화 제어부(183)의 발생 부호량 제어부(192), 및 GC(Global Complexity) 산출부(193)에 각각 송출한다.
GC 산출부(193)는, 발생 부호량 데이터 B(j)를, 매크로 블록마다 순차적으로 축적하고, 1픽쳐분의 발생 부호량 데이터 B(j)가 모두 축적된 시점에서, 전체 매크로 블록분의 발생 부호량 데이터 B(j)를 누적 가산함으로써, 1픽쳐분의 발생 부호 량을 산출한다.
그리고 GC 산출부(193)는, 1픽쳐의 발생 부호량과 양자화 스텝 사이즈의 평균치와의 곱을 산출함으로써, 화상의 복잡도(이하, 이것을 GC라고 함)를 나타내는 GC 데이터를 구하고, 이것을 목표 부호량 산출부(194)에 공급한다. GC 데이터는, 부호화 난이도를 나타내는 지표 중의 하나이다.
목표 부호량 산출부(194)는, CPU(20)의 제어에 기초하여, 목표 발생 부호량의 산출을 행한다. 즉, 목표 부호량 산출부(194)는, CPU(20)의 제어에 기초하여, 필요에 따라서, 편집점 부근의 픽쳐의 발생 부호량을 증가시켜, 연장된 재인코드 범위의 픽쳐의 발생 부호량이 감소되도록, GC 산출부(193)로부터 공급되는 GC 데이터에 기초하여, 다음 픽쳐의 목표 발생 부호량 데이터를 산출하고, 산출한 목표 발생 부호량 데이터를 발생 부호량 제어부(192)에 송출한다.
ME 잔차 산출부(195)는, 입력되는 매크로 블록 데이터에 기초하여, ME 잔차 정보를 산출하여, 발생 부호량 제어부(192)에 출력한다. 여기서, ME 잔차 정보란, 픽쳐 단위로 산출되는 것으로, 1개 전의 픽쳐와 다음 픽쳐에서의 휘도의 차분치의 합계치이다. ME 잔차 정보는, 부호화 난이도를 나타내는 지표 중의 하나이다.
인트라 AC 산출부(191)는, 인트라 AC(intra AC)를 산출하여, 발생 부호량 제어부(192)에 출력한다.
인트라 AC는, MPEG 방식에서의 DCT 처리 단위의 DCT 블록마다의 영상 데이터와의 분산치의 총합으로서 정의되는 파라미터로서, 영상의 복잡함을 지표하고, 영상의 그림의 복잡도 및 압축 후의 데이터량과 상관성을 갖는다. 즉, 인트라 AC란, DCT 블록 단위로, 각각의 화소의 화소치로부터, 블록마다의 화소치의 평균치를 뺀 것의 절대치 합의, 화면 내에서의 총합이다. 인트라 AC는, 부호화 난이도를 나타내는 지표 중의 하나이다.
발생 부호량 제어부(192)는, 버퍼(182)에 저장되는 가변 길이 부호화 데이터의 축적 상태를 항상 감시하고 있으며, 축적 상태를 나타내는 점유량 정보에 기초하여 양자화 스텝 사이즈를 결정하도록 이루어져 있다.
또한, 발생 부호량 제어부(192)는, ME 잔차 산출부(195)로부터 공급된 ME 잔차, 및, 인트라 AC 산출부(191)로부터 공급된 인트라 AC에 기초하여, 부호화 난이도가 높은지의 여부를 검출하고, 부호화 난이도가 높은 픽쳐에 대해서 발생 부호량을 늘리기 위하여 양자화 스텝 사이즈를 작게 하도록 이루어져 있음과 함께, 목표 발생 부호량 데이터 Tpi보다도 실제로 발생한 매크로 블록의 발생 부호량 데이터 B(j)가 많은 경우, 발생 부호량을 줄이기 위하여 양자화 스텝 사이즈를 크게 하고, 또한 목표 발생 부호량 데이터 Tpi보다도 실제의 발생 부호량 데이터 B(j)가 적은 경우, 발생 부호량을 늘리기 위하여 양자화 스텝 사이즈를 작게 하도록 이루어져 있다.
양자화부(175)는, 양자화 인덱스 데이터 Q(j+1)에 기초하여, 다음 매크로 블록에 따른 양자화 스텝 사이즈를 결정하고, 양자화 스텝 사이즈에 의해 DCT 계수 데이터를 양자화한다.
이에 의해, 양자화부(175)는, 1개 전의 픽쳐의 실제의 발생 부호량 데이터 B(j)에 기초하여 산출된, 다음 픽쳐의 목표 발생 부호량에 있어서 최적의 양자화 스텝 사이즈에 의해, DCT 계수 데이터를 양자화할 수 있다.
이렇게 해서, 양자화부(175)에서는, 버퍼(182)의 데이터 점유량에 따라서, 버퍼(182)가 오버플로우 또는 언더플로우하지 않도록 양자화할 수 있음과 함께, 디코더측의 VBV 버퍼가 오버플로우, 또는 언더플로우하지 않도록 양자화한 양자화 DCT 계수 데이터를 생성할 수 있다.
또한, 인코더(27)는, 상술한 기능 중에서, 적어도, 부호화 난이도를 검출하거나, 또는, 취득하여, 발생 부호량을 제어할 수 있는 기능 중 어느 하나를 갖고 있으면, 도 12에 기재된 모든 부호화 난이도의 검출 수단 또는 부호화 난이도의 취득 수단을 갖고 있지 않아도 된다.
이와 같이 하여, 인코더(27)는, 발생 부호량을 제어하여, 데이터를 인코드할 수 있다.
다음으로, 제3 실시 형태에서의 편집 장치(1)의 동작에 대해서 설명한다.
CPU(11)는, 사우스 브릿지(15)를 제어하여, 도시하지 않은 조작 입력부로부터 공급된 유저의 조작 입력에 기초하여, HDD(16)로부터, 압축 부호화된 압축 소재 영상 1의 데이터 및 압축 소재 영상 2의 데이터를 판독시켜, 노스 브릿지(12), PCI 버스(14), 및, PCI 브릿지(17)를 통하여, 메모리(18)에 공급시켜 기억시킴과 함께, 편집점을 나타내는 정보와, 편집 개시를 나타내는 커맨드를, 노스 브릿지(12), PCI 버스(14), PCI 브릿지(17), 및, 컨트롤 버스(19)를 통하여, CPU(20)에 공급한다.
CPU(20)는, CPU(11)로부터 공급된 편집점을 나타내는 정보에 기초하여, 압축 부호화된 압축 소재 영상 1의 데이터 및 압축 소재 영상 2의 데이터 중, 미리, 재 인코드를 행하는 범위를 결정하거나, 또는, 재인코드하는 임시 범위를 결정한다.
구체적으로는, CPU(20)는, 압축 소재 영상 1에서, 최소의 재인코드하는 구간의 개시점을, 제2 실시 형태에서의 경우와 마찬가지로 하여, 부분 재인코드된 압축 영상의 전에 결합하는, 재인코드하지 않는 부분의 압축 영상의 디스플레이 오더에서 최후의 픽쳐의 픽쳐 타입이, I 픽쳐 또는 P 픽쳐로 되도록 결정한다.
즉, CPU(20)는, 예를 들면, 도 9를 이용하여 설명한 바와 같이, 최소의 재인코드 구간에 대한 재인코드하지 않는 부분의 압축 소재 영상 1의 디스플레이 오더에서 최후의 픽쳐의 픽쳐 타입이 P 픽쳐(46)로 되도록, 최소의 재인코드하는 구간의 개시점을, 압축 소재 영상 1에서, P 픽쳐(35)의 다음 B 픽쳐(36)로 결정한다. 바꾸어 말하면, CPU(20)는, 재인코드하지 않는 부분의 압축 영상이 GOP의 종료 위치로 되도록 함으로써, 인코드 처리를 행하기 쉽도록 할 수 있다.
또한, CPU(20)는, 압축 소재 영상 2에서, 최소의 재인코드하는 구간의 종료점을, 제2 실시 형태에서의 경우와 마찬가지로 하여, 부분 재인코드된 압축 영상 후에 결합하는, 재인코드하지 않는 부분의 압축 영상의 디스플레이 오더에서 최초의 픽쳐의 픽쳐 타입이 I 픽쳐로 되도록 결정한다.
즉, CPU(20)는, 예를 들면, 도 9를 이용하여 설명한 바와 같이, 최소의 재인코드하지 않는 부분의 압축 소재 영상 2의 디스플레이 오더에서 최초의 픽쳐의 픽쳐 타입이 I 픽쳐(47)로 되도록, 최소의 재인코드하는 구간의 종료점을, 압축 소재 영상 2에서, I 픽쳐(40) 전의 B 픽쳐(39)로 결정한다.
그리고, CPU(20)는, 인코더(27)에 의해 재인코드가 행해지기 전에, Editing GOP Duration에 할당되는 발생 부호량과, 재인코드 구간의 연장량을 미리 결정하는 경우, Editing Duration을 포함하는 최소의 GOP인 Editing GOP Duration의 개시점의 픽쳐의 VBV Occupancy로부터 Editing GOP Duration의 다음 I 픽쳐의 VBV Occupancy를 뺀 값인, 수학식 1을 이용하여 설명한, Occupancy 차분치를 구한다. 그리고, CPU(20)는, Occupancy 차분치가 마이너스일 때, 편집 구간에서 사용할 수 있는 부호량이, bit rate로부터 얻어지는 평균치보다 적으므로, 그 값의 절대치에 따라서 재인코드 구간을 증가시킨다.
재인코드 구간의 증가량은, Occupancy 차분치에 기초하여 산출할 수 있다. 재인코드 구간의 증가량은, 예를 들면, 다음 수학식 2를 이용하여 산출할 수 있다.
Figure 112007016109929-PCT00002
여기서, k_1은, 재인코드 구간의 증가의 기울기를 결정하기 위해서, 경험적 또는 실험적으로 구해지는 계수이다. 또한, 재인코드 구간의 증가의 단위는, 예를 들면, GOP 단위로 증가시키도록 하여도 된다. 또한, CPU(20)는, Occupancy 차분치가 마이너스가 아닐 때에는, 재인코드 구간을 증가시키지 않는다.
또한, CPU(20)는, CPU(11)로부터 공급되는, 편집에 관한 명령에 기초하여, 편집점 부근에 이펙트를 실시하는 것이 명령되어 있거나, 및, 이펙트가 실시되는 경우에는, 어느 이펙트가 이용되는지를 검출한다. 그리고, CPU(20)는, 메모리(21)에 기억된 테이블을 참조하거나, 소정의 계산식을 이용하여, 이펙트의 종류에 대응하는 부호화 난이도를 취득하고, 그 부호화 난이도에 기초하여, 재인코드 구간을 Editing GOP Duration의 전후로 연장시킨다.
그 때, CPU(20)는, 부호화 난이도의 상승율에 기초하여, Editing Duration 외의 재인코드 구간으로부터 Editing Duration에 할당하는 부호량을 결정한다. 이 때, Editing Duration에 배당되는 부호량에는 상한이 있으므로, 예를 들면, 다음 수학식 3을 이용하여, 상한 이하로 되도록 Editing Duration에 배당하는 부호량 bit_supplement를 결정한다.
Figure 112007016109929-PCT00003
여기서, k_2는, 부호화 난이도의 상승율에 대한 부호 배분량 비율을 결정하는 계수로서, 실험적으로 또는 경험적으로 정해지는 것이다. difficulty_variation은, 부호화 난이도에 대응하는 계수이고, editing_length는, Editing Duration의 길이에 대응하는 값이다. 또한, bit_supplement_start_max는, Editing Duration보다 시간적으로 전으로 연장된 재인코드 구간에 포함되는 픽쳐로부터 Editing Duration의 부분에 할당되는 부호량의 최대치이고, bit_supplement_end_max는, Editing Duration보다 시간적으로 후로 연장된 재인코드 구간에 포함되는 픽쳐로부터 Editing Duration의 부분에 할당되는 부호량의 최대치이다.
Editing Duration보다 시간적으로 전으로 연장된 재인코드 구간에 포함되는 픽쳐로부터 Editing Duration의 부분에 할당되는 부호량을, bit_supplement_start, diting Duration보다 시간적으로 후로 연장된 재인코드 구간에 포함되는 픽쳐로부터 Editing Duration의 부분에 할당되는 부호량을, bit_supplement_end, Editing Duration 이외의 연장된 재인코드 구간으로부터, Editing Duration에 부호량을 할당하기 위해서, Editing Duration 외의 재인코드 구간으로부터 줄이는 부호량의 비율을 subtract_ratio로 하였을 때, Editing Duration 외의 재인코드 구간의 길이, 즉, Editing Duration보다 전의 재인코드 구간에 필요한 최저한의 픽쳐 매수 P1과 Editing Duration보다 후의 재인코드 구간에 필요한 최저한의 픽쳐 매수 P2는, Editing Duration에 배당하는 부호량으로부터, 다음 수학식 4 및 수학식 5에 의해 결정된다.
Figure 112007016109929-PCT00004
Figure 112007016109929-PCT00005
여기서, P1, P2는, 모두 정수이어야 하므로, 연산 결과가 정수가 아닌 경우, P1 및 P2는, 소수점 이하를 잘라 올린 값으로 된다. 또한, GOP 단위로 재인코드가 행해지는 경우에는, 수학식 4 및 수학식 5에 의해 산출된 픽쳐 수 이상이고, 재인코드 구간이 GOP 단위로 되는 값을 Editing Duration보다 전의 재인코드 구간의 픽쳐 수로 한다.
또한, CPU(20)는, 인코더(27)에 의해 재인코드가 행해지는 것과 평행하여, Editing GOP Duration에 할당되는 발생 부호량과, 재인코드 구간의 연장량을 결정 하는 경우, Editing Duration보다 전에 연장되는 재인코드 구간의 연장의 길이와, 전에 연장된 재인코드 구간으로부터 Editing Duration에 할당하는 부호량만을, 이펙트의 종류 등으로부터 임시로 산출하거나, 또는, 소정의 고정 값으로 하고, 그 이후의 처리에 의해, 인코더(27)에 의해 재인코드가 행해지는 것과 평행하여, Editing Duration보다 후로 연장되는 재인코드 구간의 연장의 길이와, 후로 연장된 재인코드 구간으로부터 Editing Duration에 할당하는 부호량을 결정한다.
이와 같이 하여, CPU(20)는, 인코드 처리의 실행에 앞서서, 재인코드 구간의 연장을 결정, 또는, 임시로 결정한다.
도 13에 도시된 바와 같이, CPU(20)가 결정한, 연장된 재인코드 구간의 전체를, 재인코드 Duration이라고 하고, 재인코드 Duration 중, Editing Duration 이외의 부분을, No Editing 재인코드 Duration이라고 하고, 재인코드 Duration 중, Editing GOP Duration 이외의 부분을, No Editing 재인코드 GOP Duration이라고 하는 것으로 한다.
발생 부호량이 감소되게 되는 NO Editing 재인코드 Duration 범위 내의 픽쳐에서는, 화질이 저하되게 될 우려가 있지만, 발생 부호량의 감소량이 소량이면, 화질 저하를 시각적으로 무시할 수 있을 정도로 억제할 수 있다. 따라서, NO Editing 재인코드 Duration 범위는, NO Editing 재인코드 Duration 범위 내의 픽쳐의 화질 저하를 시각적으로 무시할 수 있을 정도로 넓은 범위로 하면 바람직하다. 즉, 상술한 수학식 2에서의 k_1은, NO Editing 재인코드 Duration 범위 내의 픽쳐의 화질 저하를 시각적으로 무시할 수 있을 정도로, NO Editing 재인코드 Duration 을 넓은 범위로 할 수 있도록 하는 값으로서, 경험적 또는 실험적으로 구해지도록 이루어지면 바람직하다.
그리고, CPU(20)는, PCI 브릿지(17)를 제어하여, 메모리(18)에 기억되어 있는 압축 부호화된 압축 소재 영상 1의 데이터 중, 재인코드를 행하는 범위인 재인코드 Duration에 포함되는 픽쳐와, 재인코드 Duration에 포함되는 픽쳐를 디코드하기 위해 참조할 필요가 있는 픽쳐의 데이터를 디코더(22)에 공급시킴과 함께, 압축 소재 영상 2의 데이터 중, 재인코드 Duration에 포함되는 픽쳐와, 재인코드 Duration에 포함되는 픽쳐를 디코드하기 위해 참조할 필요가 있는 픽쳐의 데이터를 디코더(23)에 공급시킨다.
또한, 이 때, CPU(20)는, PCI 브릿지(17)를 제어하여, 메모리(18)에 기억되어 있는 압축 부호화된 압축 소재 영상 1 및 압축 소재 영상 2의 데이터 중의 재인코드를 행하지 않는 범위의 픽쳐를, 스트림 스플라이서(25)에 공급시킨다.
CPU(20)는, 디코더(22) 및 디코더(23)를 제어하여, 공급된 압축 부호화된 데이터를 디코드시킨다.
디코더(22) 및 디코더(23)는, CPU(20)의 제어에 기초하여, 공급된 데이터를 디코드하고, 복호되어 얻어진 소재 영상 1 및 소재 영상 2의 신호를 이펙트/스위치(26)에 공급한다.
또한, 디코더(22) 및 디코더(23)는, 필요에 따라서, 예를 들면, 디코드 시에 취득된 부호화 난이도 등, 후단의 인코더(27)에 의한 인코드 처리의 제어에 필요한 정보를 추출하여, 컨트롤 버스(19)를 통하여, CPU(20)에 공급할 수 있다.
이펙트/스위치(26)는, CPU(20)의 제어에 기초하여, 소정의 컷트(Cut) 편집점(스플라이스점)에서, 비압축의 복호 소재 영상 1과 복호 소재 영상 2의 신호를 접속하고, 필요에 따라서, Editing Duration의 범위의 픽쳐에 이펙트를 실시하여, 재인코드용의 비압축의 편집 영상 신호를 생성하고, 재인코드에 필요한 재인코드용 참조 화상과 함께, 인코더(27)에 공급한다.
CPU(20)는, 압축 소재 영상 2 중, 재인코드를 행하는 범위인 재인코드 Duration에서, 상술한 제2 실시 형태에서의 경우와 마찬가지로 하여, 디스플레이 오더에서 최후에 위치하는 연속하는 B 픽쳐의 매수 n의 정보를 취득한다. 재인코드하지 않는 부분의 압축 소재 영상 2의 디스플레이 오더에서 최초의 픽쳐의 픽쳐 타입은, 상술한 바와 같이, I 픽쳐로 되도록 결정되어 있으므로, B 픽쳐의 매수 n은, 즉, 재인코드하지 않는 부분의 압축 소재 영상 2의 디스플레이 오더에서 최초의 I 픽쳐와, 편집 후에 그 I 픽쳐의 직전에 존재하는 I 픽쳐 또는 P 픽쳐 사이에 있는 B 픽쳐의 매수이다.
또한, CPU(20)는, 재인코드하지 않는 부분의 압축 소재 영상 2의 디스플레이 오더에서 최초의 I 픽쳐의 직전에 존재하는 I 픽쳐 또는 P 픽쳐, 바꾸어 말하면, 재인코드하는 범위의 최후에 존재하는 I 픽쳐 또는 P 픽쳐의 픽쳐 타입의 정보를 취득한다.
그리고, CPU(20)는, 인코더(27)가 실행하는 처리에서, 재인코드 종료점 부근의 B 픽쳐 타입의 매수가 편집 전의 압축 소재 영상 2와 동일해지고, 그 B 픽쳐의 직전의 픽쳐의 픽쳐 타입이 I 픽쳐 또는 P 픽쳐로 되도록, 인코더(27)를 제어한다. 또한, CPU(20)는, B 픽쳐의 직전의 픽쳐의 픽쳐 타입도, 편집 전의 압축 소재 영상 2와 동일해지도록 제어하면 바람직하다.
즉, CPU(20)는, 도 9를 이용하여 설명한 경우와 마찬가지로 하여, 재인코드를 행하는 범위와 행하지 않는 범위의 접속점 부근의 편집 전후의 픽쳐 타입을 결정한다.
그리고, 인코더(27)는, CPU(20)의 제어에 기초하여, 이펙트/스위치(26)로부터 공급된, 재인코드용의 비압축의 편집 영상 신호를 인코드한다.
Occupancy 차분치가 마이너스인 것에 기초하여, 또는, Editing Duration에 실시되는 이펙트의 종류에 기초하여, 재인코드 구간이 연장된 경우, 픽쳐에의 부호량 배분은, 예를 들면, TM5를 이용하여 발생 부호량이 제어되어 있을 때, GOP의 선두의 픽쳐에서, GOP 내에서 아직 부호화되어 있지 않은 픽쳐에 대해서 할당되는 부호량 R을 갱신할 때에, 수학식 6에 의해 산출되는 값을 부호량 R에 가하도록 하면 된다.
Figure 112007016109929-PCT00006
여기서, vbv_re_enc_start는 재인코드 Duration의 개시점의 VBV Buffer Occupancy이고, vbv_re_enc_last_i는, 재인코드 Duration 종료점 직전의 재인코드하지 않는 I 픽쳐의 VBV Buffer Occupancy이며, N_gop는, GOP 내의 픽쳐 수, N_total_gop는, 재인코드 Duration의 픽쳐 수로부터, 재인코드 Duration 종료점 직전의 재인코드하지 않는 I 픽쳐와의 사이의 B 픽쳐의 수 N을 제외한 재인코드하는 픽쳐 수이다.
도 14를 참조하여, 재인코드 구간이 연장되지 않는 경우와 연장된 경우의 인코드에 대해서 설명한다.
도 14의 A에서, 픽쳐(211), 픽쳐(212), 픽쳐(213), 및, 픽쳐(214)는, I 픽쳐로서, 발생 부호량이 많다. 도 14의 A에 도시된 바와 같이, 재인코드 구간이 연장되지 않았던 경우, 즉, Editing GOP Duration에 대해서, 재인코드 Duration이, 상술한 제2 실시 형태에서의 경우와 마찬가지로 하여 결정된 경우, 픽쳐(212)의 Occupancy(216)가, 편집 전과 동일하도록 제어되고, 재인코드되지 않는 I 픽쳐인 픽쳐(213)의 Occupancy(217)가, 편집 전과 동일하도록 제어되고, 재인코드되는 픽쳐(219 및 220)가, B 픽쳐로서 인코드되고, 재인코드되지 않는 P 픽쳐인 픽쳐(221)의 Occupancy(218)가, 편집 전과 동일하도록 제어된다.
여기서, 픽쳐(212)의 Occupancy(216)와 픽쳐(213)의 Occupancy(217)에 기초하여, 상술한 수학식 1을 이용하여 Occupancy 차분치가 산출되고, Occupancy 차분치가 마이너스이다라고 판단되어, 재인코드 구간이 연장되거나, 구간(215)에 이펙트가 실시되어, 부호화 난이도가 상승했기 때문에, 재인코드 구간이 연장된 경우, Editing GOP Duration에 대해서, 재인코드 Duration은, 도 14의 B에 도시된 바와 같이 그 전후로 연장된다.
이 때, 픽쳐(211)의 Occupancy(225)가, 편집 전과 동일하도록 제어되고, 재인코드되지 않는 I 픽쳐인 픽쳐(214)의 Occupancy(234)가, 편집 전과 동일하도록 제어되고, 재인코드되는 픽쳐(235 및 236)가, B 픽쳐로서 인코드되고, 재인코드되 지 않는 P 픽쳐인 픽쳐(237)의 Occupancy(238)가, 편집 전과 동일하도록 제어된다.
그리고, Editing GOP Duration의 픽쳐(212)의 Occupancy(226)는, 발생 부호량의 재배분에 의해, 도 14의 A에서의 경우보다도 증가한다. 또한, 픽쳐(212)의 다음 I 픽쳐인 픽쳐(223)는 재인코드되고, 그 Occupancy(228)는, 통상의 알고리즘에 의해 산출된다.
또한, VBV의 제약을 충족시키기 위해서, No Editing 재인코드 Duration으로부터 Editing Duration에 배당 가능한 부호량의 최대치는 제한된다. 도 15를 이용하여, 배당 가능한 부호량에 대해서 설명한다.
도 15의 A에서, 픽쳐(251), 픽쳐(252), 픽쳐(253), 및, 픽쳐(254)는, I 픽쳐로서, 발생 부호량이 많다. 도 15의 A에 도시된 바와 같이, 재인코드 구간이 연장되지 않았던 경우, 즉, Editing GOP Duration에 대해서, 재인코드 Duration이, 상술한 제2 실시 형태에서의 경우와 마찬가지로 하여 결정된 경우, 픽쳐(252)의 Occupancy(255)가, 편집 전과 동일하도록 제어되고, 재인코드되지 않는 I 픽쳐인 픽쳐(253)의 Occupancy(258)가, 편집 전과 동일하도록 제어되고, 재인코드되는 픽쳐(261 및 262)가, B 픽쳐로서 인코드되고, 재인코드되지 않는 P 픽쳐인 픽쳐(263)의 Occupancy(259)가, 편집 전과 동일하도록 제어된다.
이 때, Editing Duration보다 전의 No Editing 재인코드 Duration으로부터, Editing GOP Duration에 배당하는 발생 부호량이 최대로 되는 것은, Editing GOP Duration의 최초의 픽쳐인 픽쳐(252)의 VBV Occupancy(255)가 VBV Buffer의 최대치 와 동일하게 될 때이다. 따라서, Editing Duration보다 전의 재인코드 구간으로부터 배당 가능한 발생 부호량의 최대치는, VBV Buffer의 최대치와 압축 소재 영상 1에서의 Editing GOP Duration의 최초의 픽쳐의 VBV Occupancy(255)의 차분이다. 단, Editing GOP Duration 이전의 픽쳐에서 오버플로우가 발생하지 않도록, 최대치에 마진을 갖게 할 필요가 있다. 따라서, VBV Buffer의 최대치로부터, 압축 소재 영상 1에서의 Editing GOP Duration의 최초의 픽쳐의 VBV Occupancy(255)를 감산하고, 그 값으로부터, 또한, 소정의 마진을 감산한 값을, 최대 배당치로 하도록 하여도 된다.
마찬가지로, Editing GOP Duration보다 후의 재인코드 Duration으로부터, Editing GOP Duration에 배당하는 발생 부호량이 최대로 되는 것은, Editing GOP Duration의 최후의 픽쳐, 즉, 재인코드 Duration 종료점 직전의 재인코드하지 않는 I 픽쳐인 픽쳐(253)의 직전의 픽쳐(256)의 디코드 후의 VBV Occupancy(257)가 0으로 될 때이다. 따라서, Editing Duration보다 후의 No Editing 재인코드 Duration으로부터 배당 가능한 발생 부호량의 최대치는, 압축 소재 영상 2에서의 Editing Duration의 최후의 픽쳐의 VBV Occupancy로부터, 이 픽쳐의 발생 부호량을 뺀 값, 즉, 도면 내 Occupancy(257)로 나타내어지는 값이다. 단, Editing Duration 이후의 픽쳐에서 언더플로우가 발생하지 않도록, 최대치에 마진을 갖게 할 필요가 있다. 따라서, 압축 소재 영상 2에서의 Editing Duration의 최후의 픽쳐인 픽쳐(256)의 디코드 후의 VBV Occupancy로부터, 이 픽쳐의 발생 부호량을 감산한 값, 즉, 이 픽쳐의 디코드 후의 VBV Occupancy(257)로부터, 또한 소정의 마진을 감산한 값을 최대 배당량으로 한다.
그리고, 도 15의 B에 도시된 바와 같이, 재인코드 구간이 연장된 경우, 픽쳐(271)의 Occupancy(251)가, 편집 전과 동일하도록 제어되고, 재인코드되지 않는 I 픽쳐인 픽쳐(254)의 Occupancy(278)가, 편집 전과 동일하도록 제어되고, 재인코드되는 픽쳐(281 및 282)가, B 픽쳐로서 인코드되고, 재인코드되지 않는 P 픽쳐인 픽쳐(283)의 Occupancy(286)가, 편집 전과 동일하도록 제어된다.
그리고, Editing GOP Duration의 픽쳐(252)의 Occupancy(272)는, 발생 부호량의 재배분에 의해, 도 15의 A에 도시된 최대 배당량에 대응하여, 도 15의 A에서의 경우보다도 증가되더라도 오버플로우되지 않도록 이루어져 있다. 또한, 픽쳐(252)의 다음 I 픽쳐인 픽쳐(253)의 직전의 픽쳐(256)의 Occupancy(273)는, 도 15의 A에 도시된 최대 배당량에 대응하여, 도 15의 A에서의 경우보다도 증가한다. 그리고, 픽쳐(252)의 다음 I 픽쳐인 픽쳐(253)는 재인코드되고, 그 Occupancy(275)가, 통상의 알고리즘으로 산출되더라도, 재디코드 후의 Occupancy(276)는, 언더플로우하지 않도록 이루어져 있다.
또한, CPU(20)는, 인코더(27)에 의해 재인코드가 행해지는 것과 평행하여, Editing GOP Duration에 할당되는 발생 부호량과, 재인코드 구간의 연장량을 결정하는 경우, CPU(11), 디코더(22), 또는, 인코더(27)로부터, Editing GOP Duration 전의 No Editing 재인코드 GOP Duration의 부호화 난이도를 취득하고, 그리고, 인코더(27)로부터, Editing GOP Duration의 부호화 난이도의 정보를 취득하여, 부호화 난이도가 상승하였는지의 여부를 판단하고, 그 판단 결과에 기초하여, Editing GOP Duration 후의 No Editing 재인코드 GOP Duration의 길이와, Editing GOP Duration 후의 No Editing 재인코드 GOP Duration으로부터, Editing GOP Duration에 할당하는 부호량을 산출한다.
여기서, 인코더(27)로부터 CPU(20)에 공급되는 부호화 난이도의 지표로서는, 도 12를 이용하여 설명한 GC 산출부(193)에 의해 산출되는 Global Complexity Measure, 인트라 AC 산출부(191)에 의해 산출되는 인트라 AC(Intra MAD라고 불리는 경우도 있지만, 같은 의미임), 또는, ME 잔차 산출부(195)에 의해 산출되는 ME 잔차 등이 이용된다.
그리고, 인코더(27)에서 재인코드된 영상 데이터는, 스트림 스플라이서(25)에 공급된다. 스트림 스플라이서(25)는, CPU(20)의 제어에 기초하여, PCI 브릿지(17)로부터 공급된, 압축 소재 영상 1 및 압축 소재 영상 2의 데이터 중의 재인코드를 행하지 않는 범위의 압축 소재 영상 1 및 압축 소재 영상 2와, 인코더(27)로부터 공급된 인코드된 영상 데이터를 접속하여, 압축 편집 영상 데이터를 생성한다.
구체적으로는, 스트림 스플라이서(25)는, CPU(20)의 제어에 기초하여, PCI 브릿지(17)로부터 공급된, 도 13에 도시된 재인코드하지 않는 부분의 압축 소재 영상 1의 P 픽쳐(205)와 인코더(27)로부터 공급된 인코드된 영상 데이터의 B 픽쳐(202)가 디스플레이 오더에서 연속하도록 접속되고, 인코더(27)로부터 공급된 인코드된 영상 데이터의 B 픽쳐(203)와, PCI 브릿지(17)로부터 공급된, 압축 소재 영상 2의 I 픽쳐(206)가 디스플레이 오더에서 연속하도록 접속되도록, 스트림을 서로 연결시킨다. 그리고, 스트림 스플라이서(25)는, 재인코드용의 참조 화상인 P 픽쳐(201)와, I 픽쳐(204)를 파기한다. 즉, 스트림 스플라이서(25)는, 코딩 오더에서, 재인코드된 구간의 최후의 I 픽쳐 또는 P 픽쳐에 계속되는, n매의 재인코드된 B 픽쳐 전에, 재인코드되어 있지 않는 I 픽쳐가 들어가도록, 스트림을 서로 연결시킨다.
그리고, 스트림 스플라이서(25)는, CPU(20)의 제어에 기초하여, 작성한 압축 편집 영상 데이터를 PCI 브릿지(17)에 공급하여, 메모리(18)에 보존시킴과 함께, 디코더(24)에 공급하여 디코드시켜, 편집 결과 확인용의 모니터 등에 출력시켜 표시시킨다.
이러한 처리에 의해, 제3 실시 형태에서는, 상술한 제2 실시 형태에서의 경우와 마찬가지의 처리에 의해 편집 시의 픽쳐 타입이 제어될 때, 필요에 따라서, 재인코드 구간을 연장하고, 부호 할당을 변경함으로써, 편집점 부근의 화질의 열화를 방지하도록 할 수 있다.
또한, 여기서도, 디코드 범위는, 재인코드 범위에 기초하여, 재인코드 범위와는 개별로 정해지는 것으로 하여도 된다. 즉, 디코드 범위는, 재인코드 범위와 동일한 범위이어도, 재인코드 범위를 포함하는 그 이상의 범위이어도 된다.
또한, 도 5 내지 도 8을 이용하여 설명한 제1 실시 형태에서의 경우와 마찬가지의 처리에 의해 편집 시의 픽쳐 타입이 제어될 때에도, 상술한 경우와 마찬가지로 하여, 제3 실시 형태에서의 부호 발생량의 제어를 적용하는 것이 가능하다. 이하, 제3 실시 형태의 처리를, 제1 실시 형태에서의 경우에 적용시킨 처리에서, 상술한 처리와 다른 부분에 대해서 주로 설명하는 것으로 하고, 기본적으로 마찬가지의 처리가 실행되는 부분의 설명에 대해서는, 적절하게, 생략한다.
제1 실시 형태에서의 경우와 마찬가지의 처리에 의해 편집 시의 픽쳐 타입이 제어될 때에도, VBV Buffer의 Occupancy가 연속으로 되도록, 재인코드를 행하는 부분과 행하지 않는 부분의 접속점 부근의 Occupancy를 제어할 필요가 있다. 통상적으로, I 픽쳐의 발생 부호량이 많기 때문에, GOP의 선두에서는 Occupancy가 작아지고, 후반에서는 커진다. GOP 단위로 동일한 부호량(1GOP의 픽쳐 수×bit_rate/frame_rate)이 할당된 경우, 각각의 GOP의 선두의 I 픽쳐의 Occupancy는 동일하게 되므로, GOP 단위로 동일한 부호량이 할당되지 않는 경우, 재인코드를 행하는 구간의 GOP의 선두와 다음 GOP의 선두의 Occupancy를 비교함으로써, 그 GOP에서 사용할 수 있는 부호량이 평균보다 많은지 적은지를 판단할 수 있다. 즉, 상술한 경우와 마찬가지로 하여, 재인코드 개시점의 I 픽쳐와, 재인코드 종료점 후의 I 픽쳐와의 VBV Occupancy를 비교함으로써, 상정되어 있는 본래의 부호량이 발생되어 있는지의 여부를 판단할 수 있다.
따라서, 상술한 수학식 1을 이용하여, 편집 전의 압축 소재 영상 1의 재인코드 개시점에 대응하는 픽쳐, 바꾸어 말하면, Editing GOP Duration의 선두의 I 픽쳐에 대응하는 편집 전의 픽쳐의 VBV Occupancy로부터, 편집 전의 압축 소재 영상 2의 재인코드 종료점의 직후의 재인코드하지 않는 I 픽쳐, 바꾸어 말하면, Editing GOP Duration의 다음 I 픽쳐에 대응하는 편집 전의 픽쳐의 VBV Occupancy를 뺀 값인, Occupancy 차분치를 구함으로써, Editing Duration에서 사용할 수 있는 부호량 이, bit rate로부터 얻어지는 평균치보다 적은지의 여부를, 실제의 인코드를 행하기 전에 판단할 수 있다.
따라서, CPU(20)는, Editing GOP Duration에서 사용할 수 있는 부호량이 평균치보다 적은 경우, 마찬가지로 하여, 재인코드 구간을 Editing GOP Duration의 전후로 연장시키고, 인코더(27)를 제어하여, Editing GOP Duration에 할당되는 발생 부호량을 증가시킨다.
또한, 메모리(21)에도, 마찬가지로 하여, 미리, 이펙트의 종류와 부호화 난이도의 상승율과의 관계를 나타내는 테이블을 미리 보존해 두거나, 또는, 이펙트의 종류와 대응하는 계수, 및, 그 계수를 이용하여 부호화 난이도에 대응하는 값을 산출할 수 있는 계산식을 미리 보존해 두도록 함으로써, CPU(20)는, 메모리(21)에 기억된 테이블을 참조하거나, 소정의 계산식을 이용하여, 이펙트의 종류에 대응하는 부호화 난이도를 취득하고, 그 부호화 난이도에 기초하여, 재인코드 구간을 Editing GOP Duration의 전후로 연장시키고, 연장되어 설정된 재인코드 Duration의 범위에 의해 구해지는 디코드 범위의 데이터를 디코드시켜, 접속시킨 후, 인코더(27)에 공급시킨다. 그리고, CPU(20)는, 인코더(27)를 제어하여, No Editing 재인코드 Duration에 할당되는 발생 부호량을 감소시키고, Editing GOP Duration에 할당되는 발생 부호량을 증가시킬 수 있다.
도 16을 참조하여, 재인코드 구간이 연장되지 않는 경우와 연장된 경우의 인코드에 대해서 설명한다.
도 16의 A에서, 픽쳐(301), 픽쳐(302), 픽쳐(303), 및, 픽쳐(304)는, I 픽쳐 로서, 발생 부호량이 많다. 도 16의 A에 도시된 바와 같이, 재인코드 구간이 연장되지 않았던 경우, 즉, Editing GOP Duration에 대해서, 재인코드 Duration이, 상술한 제1 실시 형태에서의 경우와 마찬가지로 하여 결정된 경우, 픽쳐(302)의 Occupancy(305)가, 편집 전과 동일하도록 제어되고, 재인코드되지 않는 I 픽쳐인 픽쳐(303)의 직후에 P 픽쳐인 픽쳐(308)가 배치되도록 제어되고, 픽쳐(308)의 Occupancy(309)가, 편집 전과 동일하도록 제어된다.
여기서, 픽쳐(302)의 Occupancy(305)와 픽쳐(303)의 Occupancy(306)에 기초하여, 상술한 수학식 1을 이용하여 Occupancy 차분치가 산출되며, Occupancy 차분치가 마이너스이다라고 판단되어, 재인코드 구간이 연장되거나, 구간(310)에 이펙트가 실시되어, 부호화 난이도가 상승했기 때문에, 재인코드 구간이 연장된 경우, Editing GOP Duration에 대해서, 재인코드 Duration은, 도 16의 B에 도시된 바와 같이 그 전후로 연장된다.
이 때, 픽쳐(301)의 Occupancy(321)가, 편집 전과 동일하도록 제어되고, 재인코드되지 않는 I 픽쳐인 픽쳐(304)의 직후에 P 픽쳐인 픽쳐(327)가 배치되도록 제어되고, 픽쳐(327)의 Occupancy(328)가, 편집 전의 대응하는 P 픽쳐(311)의 Occupancy(312)(도 16의 A)와 동일하도록 제어된다.
그리고, Editing GOP Duration의 픽쳐(302)의 Occupancy(322)는, 발생 부호량의 재배분에 의해, 도 16의 A에서의 경우보다도 증가한다. 또한, 픽쳐(302)의 다음 I 픽쳐인 픽쳐(303)는 재인코드되고, 그 Occupancy(323)와 계속되는 픽쳐의 픽쳐 타입은, 통상의 알고리즘에 따라서 결정된다.
또한, VBV의 제약을 충족시키기 위해서, No Editing 재인코드 Duration으로부터 Editing Duration에 배당 가능한 부호량의 최대치는 제한된다. 도 17을 이용하여, 배당 가능한 부호량에 대해서 설명한다.
도 17의 A에서, 픽쳐(341), 픽쳐(342), 픽쳐(343), 및, 픽쳐(344)는, I 픽쳐로서, 발생 부호량이 많다. 도 17의 A에 도시된 바와 같이, 재인코드 구간이 연장되지 않았던 경우, 즉, Editing GOP Duration에 대해서, 재인코드 Duration이, 상술한 제1 실시 형태에서의 경우와 마찬가지로 하여 결정된 경우, 픽쳐(342)의 Occupancy(345)가, 편집 전과 동일하도록 제어되고, 재인코드되지 않는 I 픽쳐인 픽쳐(343)의 직후에 P 픽쳐(347)가 배치되도록 제어되고, P 픽쳐(347)의 Occupancy(348)가, 편집 전과 동일하도록 제어된다.
이 때, Editing Duration보다 전의 No Editing 재인코드 Duration으로부터, Editing GOP Duration에 배당하는 발생 부호량이 최대로 되는 것은, Editing GOP Duration의 최초의 픽쳐인 픽쳐(342)의 VBV Occupancy(345)가 VBV Buffer의 최대치와 동일하게 될 때이다. 따라서, Editing Duration보다 전의 재인코드 구간으로부터 배당 가능한 발생 부호량의 최대치는, VBV Buffer의 최대치와 압축 소재 영상 1에서의 Editing GOP Duration의 최초의 픽쳐의 VBV Occupancy(345)와의 차분이다. 단, Edting GOP Duration 이전의 픽쳐에서 오버플로우가 발생하지 않도록, 최대치에 마진을 갖게 할 필요가 있다. 따라서, VBV Buffer의 최대치로부터, 압축 소재 영상 1에서의 Editing GOP Duration의 최초의 픽쳐의 VBV Occupancy(345)를 감산하고, 그 값으로부터, 또한, 소정의 마진을 감산한 값을, 최대 배당치로 하도록 하여 도 된다.
마찬가지로, Editing GOP Duration보다 후의 재인코드 Duration으로부터, Editing GOP Duration에 배당하는 발생 부호량이 최대로 되는 것은, Editing GOP Duration의 최후의 픽쳐, 즉, 재인코드 Duration 종료점 직전의 재인코드하지 않는 I 픽쳐가, 재인코드 범위가 연장됨으로써 인코드되는 픽쳐(343)의 직전의 픽쳐(361)(도면 내의 원 내에 기재되어 있음)의 디코드 후의 VBV Occupancy(362)가 0으로 될 때이다. 따라서, Editing Duration보다 후의 No Editing 재인코드 Duration으로부터 배당 가능한 발생 부호량의 최대치는, 압축 소재 영상 2에서의 Editing Duration의 최후의 픽쳐의 VBV Occupancy로부터, 이 픽쳐의 발생 부호량을 뺀 값이다. 단, Editing Duration의 다음 I 픽쳐에서 언더플로우가 발생하지 않도록, 최대치에 마진을 갖게 할 필요가 있다. 따라서, 압축 소재 영상 2에서의 Editing Duration의 최후의 픽쳐인 픽쳐(361)의 디코드 후의 VBV Occupancy(362)로부터, 이 픽쳐의 발생 부호량을 감산한 값, 즉, 이 픽쳐의 디코드 후의 VBV Occupancy(362)로부터, 또한 소정의 마진을 감산한 값을 최대 배당량으로 한다.
그리고, 도 17의 B에 도시된 바와 같이, 재인코드 구간이 연장된 경우, 픽쳐(341)의 Occupancy(371)가, 편집 전과 동일하도록 제어되고, 재인코드되지 않는 I 픽쳐인 픽쳐(344)의 직후에 P 픽쳐(380)가 배치되도록 제어되고, P 픽쳐(380)의 Occupancy(381)가, 편집 전의 대응하는 픽쳐인 P 픽쳐(349)의 Occupancy(350)(도 7A)와 동일하도록 제어된다.
그리고, Editing GOP Duration의 픽쳐(342)의 Occupancy(372)는, 발생 부호 량의 재배분에 의해, 도 17의 A에 도시된 최대 배당량에 대응하여, 도 17의 A에서의 경우보다도 증가되더라도 오버플로우되지 않도록 이루어져 있다. 또한, 픽쳐(342)의 다음 I 픽쳐인 픽쳐(343)는 재인코드되고, 그 Occupancy(363)와 계속되는 픽쳐의 픽쳐 타입이, 통상의 알고리즘에 의해 설정되더라도, 재디코드 후의 Occupancy(364)는, 언더플로우하지 않도록 이루어져 있다.
즉, 재인코드 구간이 연장된 도 17의 B에서의 경우, Editing GOP Duration과 재인코드 구간이 거의 동일한 도 17의 A에서의 경우와 비교하여, Editing GOP Duration의 최후의 부분의 픽쳐 타입이 변경되어 있다. 즉, 재인코드 구간이 연장됨으로써, Editing GOP Duration의 최후의 부분은 재인코드되므로(재인코드 구간의 최후가 아니게 됨), 그 부분의 픽쳐 타입은 통상의 알고리즘에 의해 결정되므로, 편집 전의 압축 소재와 동일해진다. 따라서, Editing GOP Duration의 최후의 부분에 공급되는 부호의 배당량의 최대치를 생각하는 경우, 도 15를 이용하여 설명한 제2 실시 형태에 적용시킨 경우와 마찬가지의 처리가 실행된다.
다음으로, 도 18의 플로우차트를 참조하여, 본 발명을 적용한 편집 장치(1)가 실행하는 편집 처리 1에 대해서 설명한다.
스텝 S1에서, CPU(11)는, 도시하지 않은 조작 입력부로부터, 편집 개시를 명령하는 유저로부터의 조작 입력을 받아, 사우스 브릿지(15)를 제어하여, 도시하지 않은 조작 입력부로부터 공급된 유저의 조작 입력에 기초하여, HDD(16)로부터, 압축 부호화된 압축 소재 영상 1의 데이터 및 압축 소재 영상 2의 데이터를 판독시켜, 노스 브릿지(12), PCI 버스(14), 및, PCI 브릿지(17)를 통하여, 메모리(18)에 공급시켜 기억시킴과 함께, 편집점을 나타내는 정보와, 편집 개시를 나타내는 커맨드를, 노스 브릿지(12), PCI 버스(14), PCI 브릿지(17), 및, 컨트롤 버스(19)를 통하여, CPU(20)에 공급한다.
스텝 S2에서, 메모리(18)는, 압축 부호화된 2개의 편집 소재 데이터를 취득한다.
스텝 S3에서, 도 19 또는 도 21을 이용하여 후술하는 디코드 범위 결정 처리가 실행된다.
스텝 S4에서, CPU(20)는, PCI 브릿지(17)를 제어하여, 메모리(18)에 기억되어 있는 압축 부호화된 2개의 편집 소재 데이터로부터, 결정된 디코드 범위의 데이터를 디코드 및 재인코드하기 위하여 필요한 데이터를 추출시켜, 디코더(22) 및 디코더(23)에 각각 공급시킨다. 또한, 이 때, CPU(20)는, PCI 브릿지(17)를 제어하여, 재인코드되지 않는 부분의 압축 부호화된 편집 소재 데이터를, 스트림 스플라이서(25)에 공급시킨다. PCI 브릿지(17)는, CPU(20)의 제어에 기초하여, 메모리(18)에 기억되어 있는 압축 부호화된 2개의 편집 소재 데이터로부터, 결정된 디코드 범위의 데이터를 디코드 및 재인코드하기 위하여 필요한 데이터를 추출하여, 디코더(22) 및 디코더(23)에 각각 공급함과 함께, 재인코드되지 않는 부분의 압축 부호화된 편집 소재 데이터를, 스트림 스플라이서(25)에 공급한다.
또한, 이 때, CPU(20)는, 필요에 따라서, 예를 들면, 실시되는 이펙트의 종류 등, 재인코드 Duration에 포함되는 픽쳐의 부호화 난이도에 관한 정보를 취득하는 것이 가능하다.
스텝 S5에서, CPU(20)는, 디코더(22) 및 디코더(23)를 제어하여, 결정된 디코드 범위의 데이터를 디코드시킨다. 디코더(22) 및 디코더(23)는, CPU(20)의 제어에 기초하여, 공급된 압축 부호화된 편집 소재 데이터를 디코드하여, 이펙트/스위치(26)에 공급한다.
스텝 S6에서, CPU(20)는, 이펙트/스위치(26)를 제어하여, 디코드된 데이터를 편집점에서 접속시키고, 필요에 따라서, 이펙트를 가하게 한다. 이펙트/스위치(26)는, CPU(20)의 제어에 기초하여, 공급된 비압축의 복호 영상 소재를 편집점에서 접속하고, 필요에 따라서, 이펙트를 가하여, 인코더(27)에 공급한다.
스텝 S7에서, 도 20 또는 도 22를 이용하여 후술하는 재인코드 및 접속 처리가 실행되고, 스텝 S7의 처리의 종료 후, 처리는 종료된다.
이러한 처리에 의해, Long GOP의 Open GOP 구조의 압축 영상 데이터의 편집점 부근을 부분적으로 디코드하고, 디코드된 비압축의 영상 신호를 소정의 편집점에서 접속한 후, 재인코드를 행하고, 디코드 및 재인코드되어 있지 않은 부분의 압축 영상 데이터와 접속함으로써, Long GOP의 Open GOP 구조의 압축 영상 데이터의 편집을 실현할 수 있다.
다음으로, 도 19의 플로우차트를 참조하여, 인코드 처리 전에 미리 재인코드 범위의 연장량과 부호의 배당량이 결정되는 경우에 도 18의 스텝 S3에서 실행되는, 디코드 범위 결정 처리 1에 대해서 설명한다.
스텝 S21에서, CPU(20)는, 도 15 또는 도 17을 이용하여 설명한 방법으로 산출되는, Editing Duration의 개시점 및 종료점에서의 부호량의 배당량의 최대치를 취득한다.
스텝 S22에서, CPU(20)는, CPU(11)로부터 공급된 정보에 기초하여, 재인코드가 행해지는 부분에 이펙트가 실시되는지의 여부를 판단한다.
스텝 S22에서, 재인코드가 행해지는 부분에 이펙트가 실시된다고 판단된 경우, 스텝 S23에서, CPU(20)는, 실시되는 이펙트의 종류를 취득한다.
스텝 S22에서, 재인코드가 행해지는 부분에 이펙트가 실시되지 않는다고 판단된 경우, 또는, 스텝 S23의 처리의 종료 후, 스텝 S24에서, CPU(20)는, 메모리(21)에 기록되어 있는 테이블 정보를 참조하여, 이펙트가 실시되는지의 여부와, 실시되는 이펙트의 종류에 기초하여, 부호화 난이도의 상승율을 구한다.
스텝 S25에서, CPU(20)는, 소정의 계산식 등을 이용하여, 부호화 난이도의 상승분에 대응하는 부호량의 배당량을 결정한다. 여기서, CPU(20)는, 부호화 난이도의 상승이 클수록 배당량이 많아지도록, 부호량의 배당량을 결정한다.
스텝 S26에서, CPU(20)는, 부호화 난이도의 상승분에 대응하는 부호량의 배당량과, Occupancy 차분치를 비교한다.
스텝 S27에서, CPU(20)는, 부호화 난이도의 상승분에 대응하는 부호량의 배당량은, Occupancy 차분치보다도 작은지 또는 동일한 값에 대응하는지의 여부를 판단한다.
스텝 S27에서, 부호화 난이도의 상승분에 대응하는 부호량의 배당량은, Occupancy 차분치보다도 작거나 또는 동일한 값에 대응한다고 판단된 경우, 스텝 S28에서, CPU(20)는, 부호 배당량을 0으로 하고, 재인코드를 행하는 범위는, Editing Duration과 거의 동일한, 최소의 재인코드 범위인 것으로 한다.
스텝 S27에서, 부호화 난이도의 상승분에 대응하는 부호량의 배당량은, Occupancy 차분치보다도 큰 값에 대응한다고 판단된 경우, 스텝 S29에서, CPU(20)는, 부호화 난이도의 상승분에 대응하는 부호량의 배당량으로부터 Occupancy 차분치를 뺀 값을 부호 배당량으로 한다.
스텝 S30에서, CPU(20)는, 부호 배당량이 최대치의 제약을 충족시키도록, 편집점의 전후에 할당되는 부호량을 결정한다. 여기서, 편집점의 전후에 할당되는 부호량은, 부호 배당량의 최대치의 제약을 충족시키면서, 가능한 한 균등하게 할당하도록 하면 바람직하다.
스텝 S31에서, CPU(20)는, 스텝 S27에서 산출된 부호 배당량에 기초하여, 예를 들면, 상술한 수학식 4 및 수학식 5를 이용하여, 또는, 이펙트가 실시되지 않는 경우에는 상술한 수학식 2를 이용하여, 재인코드 구간의 증가량을 산출한다. 즉, 스텝 S31에서, 산출된 부호 배당량에 기초하여, 재인코드 duration이 결정된다.
스텝 S28, 또는, 스텝 S31의 처리의 종료 후, 스텝 S32에서, CPU(20)는, 재인코드를 행하는 범위로부터, 그를 위해 필요한 디코드를 행하는 범위를 결정하고, 처리는, 도 18의 스텝 S3으로 되돌아가서, 스텝 S4로 진행한다.
이러한 처리에 의해, 인코드 처리 전에 미리 재인코드 범위의 연장량과 부호의 배당량이 결정되고, 결정된 재인코드 범위의 연장량, 바꾸어 말하면, 결정된 재인코드 duration에 기초하여, 디코드 범위가 결정된다.
다음으로, 도 20의 플로우차트를 참조하여, 도 19를 이용하여 설명한 디코드 범위 결정 처리 1이 실행된 경우에, 도 18의 스텝 S7에서 실행되는 재인코드 및 접속 처리 1에 대해서 설명한다.
스텝 S51에서, 인코더(27)의 목표 부호량 산출부(194)는, CPU(20)로부터 공급되는 제어 신호에 기초하여, 재인코드 범위의 변경에 의해 필요에 따라서 배당되는 부호 배당량이 0인지의 여부를 판단한다.
스텝 S51에서, 부호 배당량이 0이 아니라고 판단된 경우, 스텝 S52에서, 목표 부호량 산출부(194)는, 공급된 부호량 배당량의 정보에 기초하여, 발생 부호량의 목표치를 산출하고, 발생 부호량 산출부(192)에 공급한다. 발생 부호량 산출부(192)는 공급된 목표 발생 부호량에 기초하여, 양자화부(175)의 발생 부호량을 제어하고, 인코더(27)의 각 부는, 도 12를 이용하여 설명한 바와 같이, 공급된 비압축 영상 데이터의 인코드를 행하여, 스트림 스플라이서(25)에 공급한다.
스텝 S51에서, 부호 배당량이 0이라고 판단된 경우, 스텝 S53에서, 목표 부호량 산출부(194)는, 통상의 알고리즘에 기초하여, 목표 발생 부호량을 산출하고, 인코더(27)의 각 부는, 도 12를 이용하여 설명한 바와 같이, 공급된 비압축 영상 데이터의 인코드를 행하여, 스트림 스플라이서(25)에 공급한다.
스텝 S52 또는 스텝 S53의 처리의 종료 후, 스텝 S54에서, 스트림 스플라이서(25)는, 재인코드된 부분과, 재인코드되어 있지 않은 부분의 압축 영상 데이터를 접속하고, 처리는, 도 18의 스텝 S7로 되돌아가서, 처리가 종료된다.
이러한 처리에 의해, 결정된 재인코드 duration에서, 결정된 부호 배당량에 기초하여 발생 부호량이 제어되어, 인코드가 실행되고, 재인코드된 부분과, 재인코 드되어 있지 않은 부분의 압축 영상 데이터가 접속된다.
다음으로, 도 21의 플로우차트를 참조하여, 인코드 처리를 실행하면서, 재인코드 범위의 연장량과 부호의 배당량을 산출하여 보정하는 경우에 도 18의 스텝 S3에서 실행되는, 디코드 범위 결정 처리 2에 대해서 설명한다.
스텝 S71에서, CPU(20)는, 예를 들면, 미리 유저에 의해 행해진 설정 등에 의해, 최소의 재인코드 부분에 대해서 시간적으로 전의 부분, 즉, Editing GOP Duration에 대해서 시간적으로 전의 부분의 재인코드 범위의 연장량 및 부호의 배당량은, 미리 정해진 값을 이용하는 것으로 이루어져 있는지의 여부를 판단한다.
스텝 S71에서, 미리 정해진 값을 이용하는 것으로 이루어져 있다고 판단된 경우, 스텝 S72에서, CPU(20)는, 메모리(21)로부터, 최소의 재인코드 부분에 대해서 시간적으로 전의 부분의 재인코드 범위의 연장량 및 부호의 배당량으로서 미리 정해진 값을 판독하여, 재인코드 범위를 설정하고, 처리는, 도 18의 스텝 S3으로 되돌아가서, 스텝 S4로 진행한다.
스텝 S71에서, 미리 정해진 값을 이용하는 것으로 이루어져 있지 않다고 판단된 경우, 스텝 S73 내지 스텝 S75에서, 도 19의 스텝 S22 내지 스텝 S24와 동등한 처리가 실행된다.
즉, CPU(11)로부터 공급된 정보에 기초하여, 재인코드가 행해지는 부분에 이펙트가 실시되는지의 여부가 판단되고, 재인코드가 행해지는 부분에 이펙트가 실시된다고 판단된 경우, 실시되는 이펙트의 종류가 취득되고, 이펙트가 실시되는지의 여부와, 실시되는 이펙트의 종류에 기초하여, 메모리(21)에 기록되어 있는 테이블 정보가 참조되어, 부호화 난이도의 상승율이 구해진다.
스텝 S76에서, CPU(20)는, 부호화 난이도의 상승분에 대응하는, 최소의 재인코드 부분에 대해서 시간적으로 전의 부분의 부호량의 배당량을 결정한다.
스텝 S77에서, CPU(20)는, 스텝 S75에서 산출된 부호의 배당량에 기초하여, 예를 들면, 상술한 수학식 5를 이용하여, 최소의 재인코드 부분에 대해서 시간적으로 전의 부분의 재인코드 구간의 증가량을 산출한다. 즉, 스텝 S76에서, 산출된 부호 배당량에 기초하여, 재인코드 duration이 임시로 결정된다.
스텝 S78에서, CPU(20)는, 최소의 재인코드 부분에 대해서 시간적으로 전의 부분의 재인코드를 행하는 범위로부터, 그를 위해 필요한 디코드를 행하는 범위를 임시로 결정하고, 처리는, 도 18의 스텝 S3으로 되돌아가서, 스텝 S4로 진행한다.
이러한 처리에 의해, 인코드 처리 전에, 최소의 재인코드 부분에 대해서 시간적으로 전의 부분, 즉, Editing GOP Duration에 대해서 시간적으로 전의 부분의 재인코드 범위의 연장량과 부호의 배당량이 임시로 결정되고, 결정된 재인코드 범위의 전 방향의 연장량, 바꾸어 말하면, 결정된 전 방향의 재인코드 duration에 기초하여, 임시 디코드 범위가 결정된다.
다음으로, 도 22의 플로우차트를 참조하여, 도 21을 이용하여 설명한 디코드 범위 결정 처리 2가 실행된 경우에, 도 18의 스텝 S7에서 실행되는 재인코드 및 접속 처리 2에 대해서 설명한다.
스텝 S91에서, CPU(20)는, 컨트롤 버스(19)를 통하여, CPU(11) 또는 디코더(22)로부터, 최소의 재인코드 부분에 대해서 시간적으로 전의 부분의 재인코드의 연장 부분의 부호화 난이도를 나타내는 정보를 취득한다.
스텝 S92에서, CPU(20)는, 인코더(27)를 제어하여, 임시로 결정된 디코드 범위에서 디코드된 재인코드 Duration의 픽쳐 중, Editing GOP Duration보다 시간적으로 전의 부분의 선두의 픽쳐로부터, 인코드를 개시시킨다. 인코더(27)는, CPU(20)의 제어에 기초하여, 이펙트/스위치(26)로부터 공급된 비압축의 영상 데이터의 인코드를 개시한다.
스텝 S93에서, CPU(20)는, 인코더(27)에서, 최소의 재인코드 부분의 인코드가 개시되었는지의 여부, 즉, Editing GOP Duration의 인코드가 개시되었는지의 여부를 판단한다. 스텝 S93에서, 최소의 재인코드 부분의 인코드가 개시되지 않았다고 판단된 경우, 최소의 재인코드 부분의 인코드가 개시되었다고 판단될 때까지, 스텝 S93의 처리가 반복된다.
스텝 S93에서, 최소의 재인코드 부분의 인코드가 개시되었다고 판단된 경우, 스텝 S94에서, CPU(20)는, 인코더(27)로부터 공급되는, 인코드가 실행된 픽쳐의 부호화 난이도를 나타내는 정보를 취득한다.
스텝 S95에서, CPU(20)는, 인코더(27)로부터 공급되는 인코드가 실행된 픽쳐의 부호화 난이도를 나타내는 정보에 기초하여, 부호화 난이도 정보의 상승율을 산출한다.
스텝 S96에서, CPU(20)는, 스텝 S95에서의 부호화 난이도 정보의 상승율의 산출 결과에 기초하여, 최소의 재인코드 부분에 대해서 시간적으로 후의 부분의 재인코드 범위의 연장량 및 부호의 배당량을 산출한다.
스텝 S97에서, CPU(20)는, 스텝 S96에서의 산출 결과에 기초하여, PCI 브릿지(17)를 제어하여, 재인코드되는 범위에 기초하여, 디코더(23)에 공급되는 데이터와 스트림 스플라이서(25)에 공급되는 데이터를 결정시킴과 함께, 인코더(27)를 제어하여, 인코드 처리에서의 발생 부호량을 제어시킨다. 인코더(27)는, CPU(20)의 제어에 기초하여, 공급되는 비압축 영상 데이터의 인코드 처리에서의 발생 부호량을 제어한다.
스텝 S98에서, CPU(20)는, 인코더(27)에 의한 인코드 처리가 종료되었는지의 여부를 판단한다. 스텝 S98에서, 인코드 처리가 종료되지 않았다고 판단된 경우, 처리는, 스텝 S94로 되돌아가서, 그 이후의 처리가 반복된다. 즉, 인코더(27)에 의한 재인코드 Duration의 인코드 처리가 종료될 때까지, 재인코드 범위의 연장량 및 부호의 배당량의 산출 처리가 반복되어, 재인코드 범위의 연장량 및 부호의 배당량이 갱신된다.
스텝 S98에서, 인코드 처리가 종료되었다고 판단된 경우, 인코드되어 생성된 압축 부호화 데이터는, 스트림 스플라이서(25)에 공급되어 있으므로, 스텝 S99에서, 스트림 스플라이서(25)는, 재인코드된 부분과, 재인코드되어 있지 않은 부분의 압축 영상 데이터를 접속하고, 처리는, 도 18의 스텝 S7로 되돌아가서, 처리가 종료된다.
이러한 처리에 의해, 인코드 처리 실행 중에, 갱신된 재인코드 duration에서, 갱신된 부호 배당량에 기초하여 발생 부호량이 제어되어, 인코드가 실행되고, 재인코드된 부분과, 재인코드되어 있지 않은 부분의 압축 영상 데이터가 접속된다.
또한, 상술한 일련의 플로우차트를 이용하여 설명한 처리에서도, 재인코드 범위의 압축 소재 영상 1 및 압축 소재 영상 2가 디코드되는 것으로서 설명했지만, 디코드 범위는, 재인코드 범위에 기초하여, 재인코드 범위와는 개별로 정해지는 것으로 하여도 된다. 즉, 디코드 범위는, 재인코드 범위와 동일한 범위이어도, 재인코드 범위를 포함하는 그 이상의 범위이어도 된다.
또한, 발생 부호량이 감소되게 되는 NO Editing 재인코드 Duration 범위 내의 픽쳐에서는, 화질이 저하되게 될 우려가 있지만, 발생 부호량의 감소량이 소량이면, 화질 저하를 시각적으로 무시할 수 있을 정도로 억제할 수 있다. 따라서, 본 발명에서는, NO Editing 재인코드 Duration 범위 내의 픽쳐의 화질 저하를 시각적으로 무시할 수 있을 정도로, NO Editing 재인코드 Duration 범위를 넓은 범위로 하고, 그 범위에 할당되어야 할 발생 부호량을, 부호화 난이도가 높아진 Editing Duration의 픽쳐의 화질 유지에 사용하도록 했으므로, 편집 후의 화상의 화질은 전체적으로 열화가 억제된 것으로 된다.
이상 설명한 바와 같이, 본 발명을 적용하여 발생 부호량을 제어함으로써, 재인코드를 필요로 하는 Long GOP 방식의 압축 영상 데이터 편집에서, 비트 레이트를 올릴 수 없는 상황에서도, 예를 들면, 이펙트 등이 실시됨으로써, 부호화 난이도가 상승한 편집점 부근의 화질을 유지하는 것이 가능하게 된다.
그런데, 상술한 바와 같이, 편집점 근방을 부분적으로 디코드한 후, 비압축의 영상 신호를 접속하고, 접속된 비압축의 영상을 재인코드하여, 디코드 및 재인 코드되어 있지 않은 부분의 압축 영상 데이터와 결합함으로써, 편집을 행한 경우, 재인코드 부분과 재인코드하지 않는 부분의 VBV Buffer Occupancy의 연속성을 유지할 필요가 있다.
도 23을 이용하여, VBV Buffer Occupancy의 연속성에 대해서 설명한다.
편집 후의 압축 영상 데이터에서, VBV 버퍼가 파탄되지 않도록 하기 위해서는, 재인코드 개시부와 종료부의 Occupancy를, 전후에 결합하는 재인코드하지 않는 압축 영상 데이터의 결합부의 Occupancy와 일치시킬 필요가 있다. 즉, 편집 후의 압축 영상의 도면 내 E로 표시되는 재인코드 부분의 최초의 I 픽쳐의 도면 내 C로 표시되는 Occupancy는, 편집 전의 압축 소재 영상 1의 도면 내 A로 표시되는 Occupancy와 일치하도록, 편집 후의 압축 영상의 도면 내 E로 표시되는 재인코드 부분의 다음 I 픽쳐의 도면 내 D로 표시되는 Occupancy는, 편집 전의 압축 소재 영상 2의 도면 내 B로 표시되는 Occupancy와 일치하도록 제어되어야만 한다.
편집 전후의 Occupancy는, Closed GOP의 경우에도, Closed GOP가 아닌 Open GOP인 경우에도, 마찬가지로, 일치시킬 필요가 있다. VBV Buffer Occupancy의 연속성이 유지되어 있지 않은 경우, 디코드 시에 디코더의 버퍼가 파탄되어, 예를 들면, 픽쳐 스킵이나 프리즈 등의 현상이 발생하는 원인으로 될 수 있다.
PS(Program Stream)나 TS(Transport Stream)에서는, SCR(System Clock Reference) 또는 PCR(Program Clock Reference)과, PTS(Presentation Time Stamp)나 DTS(Decoding Time Stamp)로부터, 각 픽쳐의 VBV Buffer의 Occupancy를 구할 수 있다. 그러나, ES(Elementary Stream)에서는, VBV Buffer의 Occupancy를 용이하게 구할 수는 없다.
ES에서는, Picture Header의 VBV Delay의 값으로부터, 각각의 픽쳐의 VBV Buffer의 Occupancy를 구하는 것이 가능하다. 그러나, Picture Header의 VBV Delay의 파라미터에는, 정확한 값이 들어가 있다고는 할 수 없기 때문에, VBV Delay의 파라미터로부터 산출된 Occupancy의 값에 신빙성이 있다(정확하다)고는 할 수 없다. 또한, VBR(Variable Bit Rate)로 인코드된 ES에서는, VBV Delay의 값이 고정치로 되므로, VBV Buffer의 Occupancy를 구하기 해서 이용할 수 없다.
이와 같이, ES에서는, VBV Buffer의 Occupancy를 용이하게 구할 수는 없으므로, ES를 편집할 때에, VBV Buffer의 연속성을 유지하도록 올바르게 재인코드할 수 없는 경우, 버퍼가 오버플로우 또는 언더플로우하게 되어, 디코드된 영상에, 예를 들면, 픽쳐 스킵이나 프리즈 등의 현상이 발생할 우려가 있다. 타임 스탬프가 삽입되어 있지 않은 ES를 편집할 때에는, VBV Buffer Occupancy의 연속성을 유지하는 것은 곤란했다.
따라서, ES를 편집할 때에는, VBV Buffer Occupancy의 연속성을 유지할 수 있도록 할 필요가 있다.
도 24는 본 발명을 적용한 편집 장치(401)의 하드웨어 구성을 도시하는 블록도이다.
즉, 도 24의 편집 장치(401)는, 인코더(27) 대신에 인코더(427)가 설치되고, 이펙트/스위치(26)에 외부로부터 비압축의 영상 신호를 공급하는 입력 단자(428)가 새롭게 설치되어 있는 것 이외에는, 기본적으로, 도 4를 이용하여 설명한 편집 장 치(1)와 동일한 구성을 갖는 것이다.
즉, 이펙트/스위치(26)는, CPU(20)의 제어에 기초하여, 디코더(22) 또는 디코더(23), 혹은, 입력 단자(28)로부터 공급되는, 비압축의 영상 신호 출력을 절환하는, 즉, 공급된 비압축의 영상 신호를 소정의 프레임으로 결합함과 함께, 필요에 따라서, 소정의 범위에 이펙트를 실시하여, 인코더(427)에 공급하거나, 입력 단자(28)로부터 공급되는 비압축의 영상 신호를 인코더(427)에 공급한다.
또한, 인코더(427)는, CPU(20)의 제어에 기초하여, 공급된 비압축의 영상 신호를 인코드함과 함께, 필요에 따라서, 인코드 시에, 예를 들면, 각 픽쳐의 Occupancy의 정보 등의, 소정의 정보를 취득하고, 압축 부호화된 압축 영상 데이터와, 필요에 따라서 취득된 정보를, 스트림 스플라이서(25)에 출력할 수 있다.
예를 들면, 입력 단자(28)로부터 비압축의 영상 데이터가 입력된 경우, 입력된 비압축의 영상 데이터는, 이펙트/스위치(26)에 공급되어, 인코더(427)에 공급된다. 인코더(427)는, 공급된 비압축의 영상 데이터를 인코드함과 함께, VBV Buffer Occupancy의 정보를 취득하여, 인코드된 압축 영상 데이터와 함께, 스트림 스플라이서(25)에 공급한다. 스트림 스플라이서(25)는, VBV Buffer Occupancy의 정보와 인코드된 압축 영상 데이터를, PCI 브릿지(17)를 통하여, 메모리(18)에 공급하여 보존시킨다.
CPU(11)는, 노스 브릿지(12), PCI 버스(14), 및 PCI 브릿지(17)를 통하여, 메모리(18)로부터, 인코더(427)에 의해 인코드된 압축 영상 데이터와 취득된 VBV Buffer Occupancy의 정보를 판독하여, 사우스 브릿지(15)를 통하여, HDD(16)에 공 급하여, 하드디스크에 기억시킨다. 이 때, VBV Buffer Occupancy의 정보는, 대응하는 압축 영상 데이터에 다중화되어 기억되도록 해도 되고, 압축 영상 데이터와는 다른 파일 데이터로서 기억되도록 해도 된다.
VBV Buffer Occupancy의 정보를 ES(Elementary Stream)에 매립하는 경우, 예를 들면, 도 25에 도시된 바와 같이, SMPTE328에서 규정되어 있는 MPEG_ES_editing_information(451)의 유저 데이터 영역에 매립(기술)하도록 할 수 있다.
도 26 및 도 27을 이용하여, MPEG_ES_editing_information(451)에 VBV Buffer Occupancy의 정보를 매립하는 경우의 신택스에 대해서 설명한다.
도 26에 도시된 바와 같이, 유저 데이터에는, 8 비트의 User_ID가 기재되고, 계속해서, VBV_data가 기재된다. 도 27에 도시된 바와 같이, VBV_data에는, 8 비트의 Data_ID와, 8 비트의 VBV Buffer Occupancy가 기재된다. 인코더(427)에서 취득된 VBV Buffer Occupancy의 정보는, VBV_data의 VBV Buffer Occupancy에 기재할 수 있다.
또한, 파일 교환을 위한 포맷으로서, 예를 들면, MXF(Material eXchange Format)가 제안되어, 현재 표준화되어 있다. MXF는, 파일 교환 외에, 스트리밍을 고려한 포맷으로, 예를 들면, HD, MPEG, DV 등과 같은, 모든 포맷을 내포하는 소재 교환 파일 포맷으로서 표준화가 진행되고 있다.
ES가 MXF에 랩되는 경우의 데이터 구조에 대해서, 도 28을 이용하여 설명한다.
도 28에 도시된 바와 같이, MXF Header Data, Identifier 및 Picture Coding Type의 정보가 포함되어 있는 MXF Header(461)에 계속되는, Sequence Header, Extensions and User Data 및 Picture Header가 포함되어 있는 Elementary Stream Header(462) 중의 Extensions and User Data에, 도 25 내지 도 27을 이용하여 설명한 경우와 마찬가지의 MPEG_ES_editing_information(451)이 기재되어 있다. MXF Header(461)에 포함되어 있는 Identifier에는, 영상 신호를 인코드한 인코더의 기종 또는 인코더의 제조원의 회사명 등을 특정할 수 있는 정보를 기록하도록 해도 된다.
VBV Buffer Occupancy가 매립된 압축 영상 데이터를 랩하고 있는 MXF 데이터의 특정 위치에, 인코더의 기종 또는 인코더의 제조원의 회사명 등을 특정할 수 있는 정보를 기재함으로써, 이 MXF를 취득한 각종 장치(각종 장치에는, 본 발명을 적용한 편집 장치(1)가 포함되는 것은 물론임)에서, MXF에 랩된 압축 영상 데이터에 VBV Buffer Occupancy의 정보가 매립되어 있는지의 여부를 용이하게 판단하는 것이 가능하게 된다.
또한, 이 MXF를 취득한 각종 장치(각종 장치에는, 본 발명을 적용한 편집 장치(1)가 포함되는 것은 물론임)에서는, VBV Buffer Occupancy가 필요한 프레임의 선두 위치를 특정하고, 그 선두 위치에 기초하여, VBV Buffer Occupancy가 매립되어 있는 위치를 특정함으로써, VBV Buffer Occupancy가 기재되어 있는 위치를 용이하게 검출할 수 있으므로, MXF로부터, VBV Buffer Occupancy를 용이하게 추출할 수 있도록 이루어져 있다.
프레임의 선두 위치는, MXF header에 있기 때문에 간단히 구할 수 있다. 그리고, 그 선두 위치로부터 VBV Buffer Occupancy가 매립되어 있는 장소는, 도 28에 도시된 X와 Y의 비트 사이즈를 이용하여, X+Y를 산출함으로써 검출할 수 있다. 도 28에서 도면 내 X로 표시되어 있는 사이즈는, MXF Header(461)로부터 Elementary Stream Header(462) 중의 picture층의 user data까지의 사이즈와 동일하고, 도 28에서 도면 내 Y로 표시되어 있는 사이즈는, User Data의 선두로부터, MPEG_ES_editing_information(451)의 VBV Buffer Occupancy가 기재되어 있는 Data_type까지의 사이즈와 동일하다.
Sequence층과 Picture층의 헤더 사이즈는, 인코드 시에 픽쳐 타입에 의해 결정되는 것이며, 기본적으로, 이들 헤더의 사이즈는 변경되지 않는다. 예를 들면, 메모리(21)에, identifier 및 picture coding type에 대응하는 헤더 사이즈가 기재된 테이블 데이터를 미리 기억시킨다. MXF Header(461)에는, 도 28에 도시된 바와 같이, identifier 및 picture coding type가 매립되어 있으므로, 후술하는 편집 처리 2에서, CPU(20)는, identifier에 기재된 정보에 기초하여, 이 MXF 데이터를 인코드한 인코더를 특정하고, 테이블 데이터를 참조함으로써, picture coding type에 대응하는 Sequence층과 Picture층의 헤더 사이즈를 용이하게 검출할 수 있다.
또한, user data에서 VBV Buffer Occupancy가 매립되어 있는 위치도, 인코드 시에 정해지는 것이며, 이 위치도, 기본적으로 변경되지 않는 것이다. 예를 들면, 메모리(21)에, identifier에 대응하는 user data에서의 VBV Buffer Occupancy의 기록 위치가 기재된 테이블 데이터를 미리 기억시켜 둔다. 후술하는 편집 처리 2에 서, CPU(20)는, identifier에 기재된 정보에 기초하여, 이 MXF 데이터를 인코드한 인코더를 특정하고, 테이블 데이터를 참조함으로써, user data에서 VBV Buffer Occupancy가 매립되어 있는 위치를 용이하게 검출할 수 있다.
이와 같이, 도 28에 도시된 바와 같은 MXF 데이터 형식으로 ES를 랩함으로써, 이 MXF 데이터를 취득한 편집 장치(1) 또는 다른 마찬가지의 장치에서, MXF 데이터에서 identifier에 기재된 영상 신호를 인코드한 인코더의 기종 또는 인코더의 제조원의 회사명 등을 특정할 수 있는 정보에 기초하여, 용이하게 VBV Buffer Occupancy 정보가 기재되어 있는 위치를 검출하고, 이 정보를 추출하는 것이 가능해지므로, 압축 데이터를 해석하지 않고, 신속하게 VBV Buffer Occupancy의 정보를 추출하는 것이 가능해져, 편집 처리 2를 용이하게, 또한, 신속하게 행할 수 있게 된다.
또한, ES가 MXF로 랩되어 있지 않은 경우, 다중화된 VBV Buffer Occupancy 정보를 취득하기 위해서는, ES를 해석해야만 한다. 그러나, 프레임마다 MPEG_ES_editing_information(451)이 존재하고, 그 안에 VBV Buffer Occupancy가 기재되어 있으므로, ES의 선두로부터 해석을 실행하여, VBV Buffer Occupancy를 검색할 필요는 없으며, VBV Buffer Occupancy의 정보를 구할 필요가 있는 프레임만을 검색하도록 하면 되므로, VBV Buffer Occupancy를 구하기 위한 데이터의 해석 처리는 복잡하지 않고, 또한, 많은 시간을 들이지 않아도 충분히 실행 가능한 처리이다.
즉, HDD(16)에는, Long GOP의 Open GOP 방식으로 압축된 압축 소재 영상 1 및 압축 소재 영상 2의 데이터가, VBV Buffer Occupancy의 정보와 대응지워져, 또는, VBV Buffer Occupancy의 정보가 다중화되어 기억되어 있다. 압축 소재 영상 1 및 압축 소재 영상 2의 데이터는, 상술한 바와 같이, MXF로 랩되어 있어도 된다.
CPU(11)는, 사우스 브릿지(15)를 제어하여, 도시하지 않은 조작 입력부로부터 공급된 유저의 조작 입력에 기초하여, HDD(16)로부터, 압축 부호화된 압축 소재 영상 1의 데이터 및 압축 소재 영상 2의 데이터와, 각각에 대응하는 VBV Buffer Occupancy의 정보, 또는, VBV Buffer Occupancy의 정보가 다중화된 압축 소재 영상 1의 데이터 및 압축 소재 영상 2의 데이터를 판독시켜, 노스 브릿지(12), PCI 버스(14), 및, PCI 브릿지(17)를 통하여, 메모리(18)에 공급시켜 기억시킴과 함께, 편집점을 나타내는 정보와, 편집 개시를 나타내는 커맨드를, 노스 브릿지(12), PCI 버스(14), PCI 브릿지(17), 및, 컨트롤 버스(19)를 통하여, CPU(20)에 공급한다.
CPU(20)는, CPU(11)로부터 공급된 편집점을 나타내는 정보에 기초하여, 압축 부호화된 압축 소재 영상 1의 데이터 및 압축 소재 영상 2의 데이터 중, 재인코드를 행하는 범위를 결정한다. 그 때, CPU(20)는, 압축 부호화된 압축 소재 영상 1의 데이터 및 압축 소재 영상 2의 데이터에 다중화되어 있거나, 또는, 다른 파일로서 존재하는 VBV Buffer Occupancy의 정보를 취득하고, 재인코드를 행하는 범위의 선두의 I 픽쳐 및 재인코드를 행하는 범위에 접속되는 선두의 I 픽쳐의 VBV Buffer Occupancy를 검출하고, 인코더(427)에 공급하여, 재인코드를 행하는 범위의 선두의 I 픽쳐 및 재인코드를 행하는 범위에 접속되는 선두의 I 픽쳐 VBV Buffer Occupancy가 편집 전후에서 일치하도록, 인코드 처리를 제어한다.
그리고, CPU(20)는, PCI 브릿지(17)를 제어하여, 메모리(18)에 기억되어 있는 압축 부호화된 압축 소재 영상 1의 데이터 중, 재인코드를 행하는 범위의 픽쳐와, 참조할 필요가 있는 픽쳐에 대응하는 압축 소재 영상 1의 데이터를 디코더(22)에 공급시킴과 함께, 압축 소재 영상 2의 데이터 중, 재인코드를 행하는 범위의 픽쳐와, 참조할 필요가 있는 픽쳐에 대응하는 압축 소재 영상 2의 데이터를 디코더(23)에 공급시킨다.
또한, 이 때, CPU(20)는, PCI 브릿지(17)를 제어하여, 메모리(18)에 기억되어 있는 압축 부호화된 압축 소재 영상 1 및 압축 소재 영상 2의 데이터 중의 재인코드를 행하지 않는 범위의 픽쳐를, 스트림 스플라이서(25)에 공급시킨다.
CPU(20)는, 디코더(22) 및 디코더(23)를 제어하여, 공급된 압축 부호화된 데이터를 디코드시킨다.
디코더(22) 및 디코더(23)는, CPU(20)의 제어에 기초하여, 공급된 데이터를 디코드하고, 복호되어 얻어진 소재 영상 1 및 소재 영상 2의 신호를 이펙트/스위치(26)에 공급한다. 이펙트/스위치(26)는, CPU(20)의 제어에 기초하여, 소정의 컷트(Cut) 편집점(스플라이스점)에서, 비압축의 복호 소재 영상 1과 복호 소재 영상 2의 신호를 접속하고, 필요에 따라서, 이펙트를 실시하여, 재인코드용의 비압축의 편집 영상 신호를 생성하고, 재인코드에 필요한 재인코드용 참조 화상과 함께, 인코더(427)에 공급한다.
인코더(427)는, CPU(20)의 제어에 기초하여, 이펙트/스위치(26)로부터 공급된, 재인코드용의 비압축의 편집 영상 신호를 인코드한다.
이 때, 인코더(427)는, CPU(20)로부터 공급된 재인코드를 행하는 범위의 선두의 I 픽쳐 및 재인코드를 행하는 범위에 접속되는 선두의 I 픽쳐 VBV Buffer Occupancy에 기초하여, 재인코드를 행하는 범위의 선두의 I 픽쳐 및 재인코드를 행하는 범위에 접속되는 선두의 I 픽쳐 VBV Buffer Occupancy가 편집 전후에서 일치하도록, 인코드 처리를 실행한다. 그리고, 인코더(427)는, 재인코드 시에 얻어지는 VBV Buffer Occupancy의 정보를 취득한다.
그리고, 인코더(427)에서 재인코드된 영상 데이터 및 재인코드 시의 VBV Buffer Occupancy의 정보는, 스트림 스플라이서(25)에 공급된다. 스트림 스플라이서(25)는, CPU(20)의 제어에 기초하여, PCI 브릿지(17)로부터 공급된, 압축 소재 영상 1 및 압축 소재 영상 2의 데이터 중의 재인코드를 행하지 않는 범위의 압축 소재 영상 1 및 압축 소재 영상 2와, 인코더(427)로부터 공급된 인코드된 영상 데이터를 접속하여, 압축 편집 영상 데이터를 생성한다.
그리고, 스트림 스플라이서(25)는, CPU(20)의 제어에 기초하여, 작성한 압축 편집 영상 데이터 및 재인코드 시의 VBV Buffer Occupancy의 정보를 PCI 브릿지(17)에 공급하여, 메모리(18)에 보존시킴과 함께, 작성된 압축 편집 영상 데이터를, 디코더(24)에 공급시켜 디코드시켜, 편집 결과 확인용의 모니터 등에 출력시켜 표시시키거나, 디코드되어 생성된 베이스밴드 신호를, 다른 장치에 출력시킨다. 디코더(24)가, 독립된 장치로서 구성되어 있는 경우, 디코더(24)에 대응하는 장치는, 재인코드된 편집 후의 압축 영상 데이터의 공급을 받아 이것을 디코드하고, 디코드되어 생성된 베이스밴드 신호를 출력할 수 있도록 이루어진다.
도시하지 않은 조작 입력부로부터, 편집되어 생성된 압축 편집 영상 데이터의 보존이 명령된 경우, CPU(11)는, PCI 브릿지(17)를 제어하여, 메모리(18)에 보존되어 있는 압축 편집 영상 데이터 및 재인코드 시의 VBV Buffer Occupancy의 정보를 판독시켜, PCI 버스(14) 및 노스 브릿지(12)를 통하여, 사우스 브릿지(15)에 공급시킴과 함께, 사우스 브릿지(15)를 제어하여, 공급된 압축 편집 영상 데이터 및 재인코드 시의 VBV Buffer Occupancy의 정보를 HDD(16)에 공급시켜 보존시킨다. 이 때에도, VBV Buffer Occupancy의 정보는, 대응하는 압축 편집 영상 데이터에 다중화되도록 해도 되고, 다른 파일의 데이터로서, 대응지어 보존되도록 해도 된다.
이와 같이 함으로써, 압축 부호화 데이터에는, 픽쳐마다 VBV Buffer Occupancy의 정보가 대응지어져 보존됨과 함께, VBV Buffer Occupancy를 다음 인코드 처리에서 이용하도록 함으로써, VBV Buffer Occupancy의 연속성을 유지하는 것이 가능하게 된다.
또한, VBV Buffer Occupancy의 정보는 대응하는 압축 편집 영상 데이터에 다중화되도록 해도 되고, 다른 파일의 데이터로서, 대응지어 보존되도록 해도 되는 것으로서 설명하였다. 확실히, 압축 부호화 데이터에 픽쳐마다 VBV Buffer Occupancy의 정보를 대응지어 보존하고, VBV Buffer Occupancy를 다음 인코드 처리에서 이용함으로써, VBV Buffer Occupancy의 연속성을 유지하기 위해서는, VBV Buffer Occupancy의 정보는, 대응하는 압축 편집 영상 데이터에 다중화하도록 해도 되고, 다른 파일의 데이터로서, 대응지어 보존되도록 해도 된다.
그러나, VBV Buffer Occupancy의 정보를, 다른 파일의 데이터로서, 대응짓도 록 한 경우, 예를 들면, 기록 포맷이 변경되거나, 데이터 전송 포맷이 변경된 경우에, 다른 파일의 데이터로서 부수되어야 할 VBV Buffer Occupancy의 정보가 상실될 우려가 있다.
통상, 비압축의 데이터를 압축 부호화하는 처리를 실행하는 인코더는, virtual buffer verifier라고 하는 버퍼 모델을 이용하여, 디코더의 스탠다드 버퍼가 파탄되는 일이 없도록, 픽쳐마다의 발생 부호량을 조정하여 인코드를 행하도록 이루어져 있다. 즉, 이 vbv_buffer의 천이를 나타내는 지표가, vbv buffer occupancy이고, 인코더는, occupancy를 계산하면서, 레이트 컨트롤을 실행한다.
상술한 바와 같이, 종래에서는, 버퍼 관리를 필요로 하는 데이터 스트림의 편집은, 예를 들면, TS나 PS 등의 타임 스탬프가 부수되어 있는 스트림을 대상으로 하여 실행되어 왔지만, 타임 스탬프 등의 시간 정보가 부수되어 있지 않은 ES에서는, TS나 PS 등의 타임 스탬프가 부수되어 있는 스트림과 마찬가지의 버퍼의 관리 방법을 이용할 수는 없다.
일반적으로, 인코더는, 비압축의 데이터를 압축 부호화하는 처리를 실행한 경우, vbv_occupancy로부터, vbv_delay를 계산하여, ES의 신택스에, vbv buffer occupancy에 관한 정보로서 기재하는 것으로 이루어져 있지만, 상술한 바와 같이, 예를 들면, VBR의 경우에는, vbv_delay=0xffff로 기재하는 것으로서 운용되고 있는 등, vbv_delay의 값을 신용할 수 없는(vbv_delay의 값이 정확하지 않음) 경우가 있다.
본래, 스트림에 관한 정보는, 스트림에 다중화함으로써, 스트림의 공급을 받 은 장치에 의해 반드시 재현 가능하도록 이루어져 있는 것이 바람직하다. 즉, 스트림에 관한 정보인 VBV Buffer Occupancy의 정보가 ES의 스트림에 틀림없이 다중화되어 있으면, 기록 포맷이 변경되거나, 데이터 전송 포맷이 변경된 경우에도, 기록 포맷 또는 전송 포맷에 관계없이, ES의 스트림의 공급을 받은 장치에 의해, VBV Buffer Occupancy의 정보를 재현하는 것이 가능해지므로, VBV Buffer Occupancy의 정보는, ES의 스트림에 다중화되어 있는 쪽이 바람직하다.
다음으로, 도 29의 플로우차트를 참조하여, 데이터 생성 처리에 대해서 설명한다.
스텝 S111에서, 인코더(427)는, 이펙트/스위치(26)를 통하여, 입력 단자(28)로부터 입력된 비압축의 영상 데이터를 취득한다.
스텝 S112에서, 인코더(427)는, 비압축의 영상 데이터를 인코드함과 함께, VBV Buffer Occupancy의 정보를 취득하고, 인코드된 압축 영상 데이터와 함께, 스트림 스플라이서(25)에 공급한다. 스트림 스플라이서(25)는, VBV Buffer Occupancy의 정보와 인코드된 압축 영상 데이터를 PCI 브릿지(17)를 통하여, 메모리(18)에 공급하여 보존시킨다.
스텝 S113에서, CPU(11)는, 노스 브릿지(12), PCI 버스(14), 및 PCI 브릿지(17)를 통하여, 메모리(18)로부터, 인코더(427)에 의해 인코드된 압축 영상 데이터와 취득된 VBV Buffer Occupancy의 정보를 판독하여 취득한다.
스텝 S114에서, CPU(11)는, 판독한 VBV Buffer Occupancy를, 도 25 내지 도 28을 이용하여 설명한 바와 같이, 압축 영상 데이터의 ES의 MPEG_ES_editing_information(451)에 저장한다.
스텝 S115에서, CPU(11)는, 도시하지 않은 조작 입력부로부터 공급되는 유저의 조작 입력에 기초하여, VBV Buffer Occupancy가 저장된 MPEG_ES_editing_information(451)을 갖는 ES를, MXF에 랩할지의 여부를 판단한다.
스텝 S115에서, ES를 MXF에 랩한다고 판단된 경우, 스텝 S116에서, CPU(11)는, 인코더(427)의 기종, 또는, 편집 장치(1)의 개발 회사명 등을 특정 가능한 ID를, 도 28에 도시한 바와 같이 헤더(MXF Header(461))의 Identifier에 기재한다.
스텝 S115에서, ES를 MXF에 랩하지 않는다고 판단된 경우, 또는, 스텝 S6의 처리의 종료 후, 데이터 생성 처리는 종료된다.
데이터 생성 처리에 의해 생성된, VBV Buffer Occupancy의 정보가, ES의 스트림에 다중화된 데이터는, 편집용의 소재 데이터로서, HDD(16)의 하드디스크에 기록되거나, 외부에 출력된다.
이러한 처리에 의해, VBV Buffer Occupancy의 정보가, ES의 스트림에 다중화되므로, 기록 포맷이 변경되거나, 데이터 전송 포맷이 변경된 경우에도, 기록 포맷 또는 전송 포맷에 관계없이, ES의 스트림의 공급을 받은 장치에 의해, VBV Buffer Occupancy의 정보를 재현하는 것이 가능하게 된다.
다음으로, 도 30의 플로우차트를 참조하여, 편집 처리 2에 대해서 설명한다.
스텝 S121에서, CPU(11)는, 도시하지 않은 조작 입력부로부터, 편집 개시를 명령하는 유저로부터의 조작 입력을 받아, 사우스 브릿지(15)를 제어하여, 도시하지 않은 조작 입력부로부터 공급된 유저의 조작 입력에 기초하여, HDD(16)로부터, 압축 부호화된 압축 소재 영상 1의 데이터 및 압축 소재 영상 2의 데이터를 판독시켜, 노스 브릿지(12), PCI 버스(14), 및, PCI 브릿지(17)를 통하여, 메모리(18)에 공급시켜 기억시킴과 함께, 편집점을 나타내는 정보와, 편집 개시를 나타내는 커맨드를, 노스 브릿지(12), PCI 버스(14), PCI 브릿지(17), 및, 컨트롤 버스(19)를 통하여, CPU(20)에 공급한다.
스텝 S122에서, 메모리(18)는, 압축 부호화된 2개의 편집 소재 데이터를 취득한다.
스텝 S123에서, CPU(20)는, CPU(11)로부터 공급된, 편집점을 나타내는 정보와, 편집 개시를 나타내는 커맨드에 기초하여, 압축 부호화된 편집 소재 데이터의 디코드 범위를 결정한다. 디코드 범위를 결정하는 처리는, 예를 들면, 도 18의 스텝 S3에서 실행되는, 도 19를 이용하여 설명한 디코드 범위 결정 처리 1 또는 도 21을 이용하여 설명한 디코드 범위 결정 처리(21)이어도 된다. PCI 브릿지(27)는, CPU(20)의 제어에 기초하여, 메모리(18)에 기억되어 있는 압축 부호화된 2개의 편집 소재 데이터로부터, 결정된 디코드 범위의 데이터를 디코드 및 재인코드하기 위하여 필요한 데이터를 추출하여, 디코더(22) 및 디코더(23)에 각각 공급함과 함께, 재인코드되지 않는 부분의 압축 부호화된 편집 소재 데이터를, 스트림 스플라이서(25)에 공급한다.
스텝 S124에서, 도 31을 이용하여 후술하는 Occupancy 추출 처리가 실행된다.
스텝 S125에서, CPU(20)는, 디코더(22) 및 디코더(23)를 제어하여, 결정된 디코드 범위의 데이터를 디코드시킨다. 디코더(22) 및 디코더(23)는, CPU(20)의 제어에 기초하여, 공급된 압축 부호화된 편집 소재 데이터를 디코드하여, 이펙트/스위치(26)에 공급한다.
스텝 S126에서, CPU(20)는, 이펙트/스위치(26)를 제어하여, 디코드된 데이터를 편집점에서 접속시키고, 필요에 따라서, 이펙트를 가하게 한다. 이펙트/스위치(26)는, CPU(20)의 제어에 기초하여, 공급된 비압축의 복호 영상 소재를 편집점에서 접속하고, 필요에 따라서, 이펙트를 가하여, 인코더(427)에 공급한다.
스텝 S127에서, CPU(20)는, 인코더(427)를 제어하여, 편집점에서 접속된 비압축의 복호 영상 소재를, 추출된 VBV Buffer Occupancy의 정보를 이용하여 재인코드시킨다. 인코더(427)는, CPU(20)로부터 공급된 VBV Buffer Occupancy의 정보를 이용하여, 도 23을 이용하여 설명한 바와 같이, 재인코드 구간 전후의 VBV Buffer Occupancy를 연속시키기 위해서, 편집 전후에서 재인코드 구간의 선두의 I 픽쳐 및 재인코드 구간의 다음 I 픽쳐의 VBV Buffer Occupancy가 일치하도록, 편집점에서 접속된 비압축의 복호 영상 소재의 재인코드를 행함과 함께, 재인코드 시에 얻어지는 VBV Buffer Occupancy의 정보를 취득하고, 재인코드된 압축 부호화된 영상 데이터와 VBV Buffer Occupancy의 정보를, 스트림 스플라이서(25)에 공급한다.
스텝 S128에서, 스트림 스플라이서(25)는, 공급된 재인코드된 압축 부호화된 영상 데이터와 재인코드되지 않는 부분의 압축 부호화된 편집 소재 데이터를 접속하여, 편집된 압축 부호화 데이터를 생성하고, VBV Buffer Occupancy의 정보와 함께, PCI 브릿지(17)를 통하여 메모리(18)에 공급하여 기억시키고, 처리는 종료된 다.
또한, 스텝 S123에서, 디코드 범위를 결정하는 처리로서, 도 19를 이용하여 설명한 디코드 범위 결정 처리 1이 실행된 경우, 스텝 S127 및 스텝 S128에서는, 도 20을 이용하여 설명한 재인코드 및 접속 처리 1과 기본적으로 마찬가지의 처리가 실행되고, 스텝 S123에서, 디코드 범위를 결정하는 처리로서, 도 21을 이용하여 설명한 디코드 범위 결정 처리 2가 실행된 경우, 스텝 S127 및 스텝 S128에서는, 도 22를 이용하여 설명한 재인코드 및 접속 처리 2와 기본적으로 마찬가지의 처리가 실행된다.
이러한 처리에 의해, Long GOP의 Open GOP 구조의 압축 영상 데이터의 편집점 부근을 부분적으로 디코드하고, 디코드된 비압축의 영상 신호를 소정의 편집점에서 접속한 후, VBV Buffer Occupancy의 정보를 이용하여, 재인코드를 행하는 범위의 선두의 I 픽쳐 및 재인코드를 행하는 범위에 접속되는 선두의 I 픽쳐 VBV Buffer Occupancy가 편집 전후에서 일치하도록, 재인코드를 행하고, 디코드 및 재인코드되어 있지 않은 부분의 압축 영상 데이터와 접속함으로써, VBV 버퍼의 파탄을 방지하여, Long GOP의 Open GOP 구조의 압축 영상 데이터의 편집을 실현할 수 있다.
다음으로, 도 31의 플로우차트를 참조하여, 도 30의 스텝 S124에서 실행되는 Occupancy 추출 처리에 대해서 설명한다.
스텝 S141에서, CPU(20)는, 메모리(18)에 보존되어 있는 편집에 이용되는 데이터는, MXF에 준거한 데이터인지의 여부를 판단한다. 스텝 S141에서, 편집에 이 용되는 데이터는, MXF에 준거한 데이터가 아니라고 판단된 경우, 처리는, 후술하는 스텝 S149로 진행한다.
스텝 S141에서, 편집에 이용되는 데이터는, MXF에 준거한 데이터라고 판단된 경우, 스텝 S142에서, CPU(20)는, 도 28을 이용하여 설명한 MXF Header(461)의 Identifier에 기재되어 있는 정보에 기초하여, 편집에 이용되는 데이터는, 도 29를 이용하여 설명한 데이터 생성 처리에 의해 데이터를 생성할 수 있는 특정 인코더에 의해 인코드된 압축 부호화 데이터인지의 여부를 판단한다.
스텝 S142에서, 특정 인코더에 의해 인코드된 압축 부호화 데이터라고 판단된 경우, CPU(20)는, 스텝 S143에서, 압축 영상 소재 1의 데이터를 검색하고, 스텝 S144에서, 재인코드의 개시 위치의 픽쳐인지의 여부를 판단한다. 스텝 S144에서, 재인코드의 개시 위치의 픽쳐라고 판단되지 않았던 경우, 처리는, 스텝 S143으로 되돌아가서, 재인코드의 개시 위치의 픽쳐가 검색될 때까지, 처리가 반복된다.
스텝 S144에서, 재인코드의 개시 위치의 픽쳐라고 판단된 경우, 스텝 S145에서, 도 32를 이용하여 후술하는 Occupancy 기록 위치 검출 처리가 실행된다.
CPU(20)는, 스텝 S146에서, 압축 영상 소재 2의 데이터를 검색하고, 스텝 S147에서, 재인코드의 종료 위치의 픽쳐인지의 여부를 판단한다. 스텝 S147에서, 재인코드의 종료 위치의 픽쳐라고 판단되지 않았던 경우, 처리는, 스텝 S146으로 되돌아가서, 재인코드의 종료 위치의 픽쳐가 검색될 때까지, 처리가 반복된다.
스텝 S147에서, 재인코드의 종료 위치의 픽쳐라고 판단된 경우, 스텝 S148에서, 도 32를 이용하여 후술하는 Occupancy 기록 위치 검출 처리가 실행된다.
스텝 S141에서, 편집에 이용되는 데이터는, MXF에 준거한 데이터가 아니라고 판단된 경우, 스텝 S149에서, CPU(20)는, 엘리멘터리 스트림을 해석한다.
스텝 S150에서, CPU(20)는, 재인코드의 개시 위치와 종료 위치에 대응하는 픽쳐를 추출하고, 도 25를 이용하여 설명한 MPEG_ES_editing_information(451)의 소정의 위치를 검색하여, Occupancy 데이터가 기재되어 있는지의 여부를 판단한다.
스텝 S150에서, Occupancy 데이터가 기재되어 있다고 판단된 경우, 스텝 S151에서, CPU(20)는, Occupancy 데이터를 취득한다.
스텝 S142에서, 특정 인코더에 의해 인코드된 압축 부호화 데이터가 아니라고 판단된 경우, 스텝 S148의 처리의 종료 후, 스텝 S150에서, Occupancy 데이터가 기재되어 있지 않았다고 판단된 경우, 또는, 스텝 S151의 처리의 종료 후, 스텝 S152에서, CPU(20)는, Occupancy는 취득할 수 있었는지의 여부를 판단한다.
스텝 S152에서, Occupancy를 취득할 수 있었다고 판단된 경우, 스텝 S153에서, CPU(20)는, 취득된 Occupancy의 데이터를, 컨트롤 버스(19)를 통하여, 인코더(427)에 출력하고, 처리는, 도 30의 스텝 S124로 되돌아가서, 스텝 S125로 진행한다.
스텝 S152에서, Occupancy를 취득할 수 없었다고 판단된 경우, 스텝 S154에서, CPU(20)는, 필요에 따라서, 유저에게 Occupancy의 데이터를 취득할 수 없었음을 통지하고, 처리는, 도 30의 스텝 S124로 되돌아가서, 스텝 S125로 진행한다.
이와 같은 처리에 의해, ES의 상태에 따라서, Occupancy가 스트림으로부터 추출되어, 인코더(427)에 공급되므로, 인코더(427)는, 편집 전의 올바른 Occupancy 의 정보에 기초하여, VBV 버퍼를 파탄시키지 않도록 인코드를 행하도록 할 수 있다.
다음으로, 도 32의 플로우차트를 참조하여, 도 31의 스텝 S145 및 스텝 S148에서 실행되는, Occupancy 기록 위치 검출 처리에 대해서 설명한다.
스텝 S171에서, CPU(20)는, MXF Header(461)로부터, picture_coding_type와 Identifier의 정보를 취득한다.
스텝 S172에서, CPU(20)는, 취득한 picture_coding_type와 Identifier의 정보를 이용하여, 메모리(21)에 보존되어 있는 테이블 데이터를 참조하는 것 등에 의해, 도 28을 이용하여 설명한 바와 같이, MXF Header(461)로부터 picture층의 user data까지의 사이즈 X와, User Data의 선두로부터 MPEG_ES_editing_information의 VBV Buffer Ocuupancy가 있는 Data_type까지의 사이즈 Y를 산출한다.
스텝 S173에서, CPU(20)는, 스텝 S172에서의 산출 결과 X 및 Y에 기초하여, X+Ybyte의 데이터를 건너뛰며 읽는다.
스텝 S174에서, CPU(20)는, X+Ybyte의 데이터를 건너뛰어 읽은 다음 2byte는 VBV_data_ID인지의 여부를 판단한다.
스텝 S174에서, 다음 2byte는 VBV_data_ID라고 판단된 경우, 스텝 S175에서, CPU(20)는, 다음 4byte를 Occupancy의 데이터로서 취득하고, 처리는, 도 31의 스텝 S145 또는 스텝 S148로 되돌아가서, 스텝 S146 또는 스텝 S149로 진행한다.
스텝 S174에서, 다음 2byte는 VBV_data_ID가 아니라고 판단된 경우, 스텝 S176에서, CPU(20)는, Occupancy의 데이터는, MXF 데이터에는 포함되어 있지 않다 고 인식하고, 처리는, 도 31의 스텝 S145 또는 스텝 S148로 되돌아가서, 스텝 S146 또는 스텝 S149로 진행한다.
이와 같은 처리에 의해, 도 28을 이용하여 설명한 MXF 데이터의 MXF Header(461)로부터, picture_coding_type와 Identifier의 정보를 취득하고, 이들 정보에 기초하여, 데이터의 전체를 해석하지 않고, Occupancy의 정보를 취득하는 것이 가능해진다. 따라서, 재인코드 처리 시에 Occupancy의 정보를 이용할 때에, 처리 속도가 빨라진다.
이와 같이, 본 발명을 적용함으로써, VBV Buffer Occupancy의 정보를 이용하여, 재인코드를 행하는 범위의 선두의 I 픽쳐 및 재인코드를 행하는 범위에 접속되는 선두의 I 픽쳐 VBV Buffer Occupancy가 편집 전후에서 일치하도록, 재인코드를 행하여, 디코드 및 재인코드되어 있지 않은 부분의 압축 영상 데이터와 접속할 수 있다.
따라서, 본 발명을 적용한 편집 장치(1)에서는, 타임 스탬프를 이용하지 않는 ES로서 축적된 소재 영상을, VBV Buffer의 제약을 충족하여 편집할 수 있다. 이에 의해, VBV 버퍼의 파탄을 방지하여, Long GOP의 Open GOP 구조의 압축 영상 데이터의 편집을 실현할 수 있으므로, 픽쳐의 스킵이나 프리즈 등이 발생하지 않는 압축 편집 영상을 작성하는 것이 가능하게 되어, 방송 프로그램 제작 용도의 시스템 등에서, 압축 효율이 높은 LONG GOP의 압축 영상의 편집을 이용하는 것이 가능하게 된다.
또한, 도 29 내지 도 32의 플로우차트를 이용하여 설명한 처리에서도, 재인 코드 범위의 압축 소재 영상 1 및 압축 소재 영상 2가 디코드되는 것으로서 설명했지만, 디코드 범위는, 재인코드 범위에 기초하여, 재인코드 범위와는 개별로 정해지는 것으로 하여도 된다. 즉, 디코드 범위는, 재인코드 범위와 동일한 범위이어도, 재인코드 범위를 포함하는 그 이상의 범위이어도 된다.
그런데, 또한, MPEG2 시스템에서 규정되어 있는 다중 스트림에서는, 트랜스포트 스트림(Transport Stream)이더라도, 프로그램 스트림(Program Stream)이더라도, 각각의 하나 아래의 Layer는, PES(Packetaized Elementary Stream)이며, PES 패킷 헤더에는, 오디오·비디오의 제시 시각을 제공하는 HS(프레젠테이션 타임 스탬프)와 복호 개시 시각을 제공하는 DTS(디코딩 타임 스탬프) 외에, 패킷 단위의 스크램블링을 행하는 제어 신호나 에러 검출을 위한 CRC 등의 정보가 포함되어 있다.
인코더는, DTS 및 PTS, 및, 현 buffer 잔유량에 기초하여, 스트림 내에 vbv_delay 정보가 있고 없음에 관계없이, 버퍼 점유량의 제어가 가능하다. 그러나, 시간 정보를 갖지 않는 VBR(Variable Bit Rate: 가변 비트 레이트) 방식으로 압축된 ES(Elementary Stream)를 취급하는 경우, vbv_delay의 값은 최대치로 고정되어 있어, 버퍼의 점유량을 알 수 있는 방법이 없다. 그 때문에, 인코더는, 인코드하고자 하는 프레임의 정보만으로 버퍼 점유량을 판단할 수 없다.
이와 같은, 시간 지정이 없는 스트림을 인코드하는 경우, VBR에서는, 버퍼 점유량은 상한을 초과하지 않으므로(버퍼 점유량은 소정 시간 VBV_MAX에 붙은 것처럼 되므로), 버퍼는 파탄되지 않지만, 언더플로우를 일으킨 경우에는, 버퍼가 파탄 되어, 출력되는 화상에 영향이 발생한다.
이러한, 시간 지정이 없는 스트림을 인코드하는 경우, 시퀀스의 개시점에서, 버퍼의 상한으로부터 재생을 시작하는 등, 재인코드 구간의 발생 부합량을 제한함으로써, 버퍼 언더플로우를 방지하는 것이 일반적이다.
그러나, 편집점 근방에서 발생 부호량을 제한하도록 한 경우, 재인코드에 의해 발생되는 스트림의 최종 픽쳐 근방에서 발생 부호량을 충분히 할당할 수 없게 되는 등, 경우에 따라서는 현저하게 화상 품질을 떨어뜨리는 경우가 있다.
다음으로, 시간 정보를 갖지 않는 VBR의 ES를 편집하는 경우에, 재인코드 부분과 재인코드하지 않는 부분의 VBV Buffer Occupancy의 연속성을 유지하기 위한 처리의 예로서, 도 4 또는 도 24의 CPU(11)가, 재인코드 구간과 재인코드되지 않는 구간의 접속점에서의 버퍼 점유량을 결정하는 방법에 대해서 설명한다.
즉, CPU(11)는, HDD(16)에 기록되어 있는 데이터 중의 2개의 영상 소재인 편집 대상 압축 영상 데이터 1(이하, 소재 1이라고도 함) 및 편집 대상 압축 영상 데이터 2(이하, 소재 2라고도 함)를 판독하여, 편집점의 근방만을 부분적으로 디코드시키고, 접속한 후에 재인코드하여 편집시키는 경우, 재인코드 시에 가상 버퍼 점유량의 규격을 충족하여, 재인코드 부분과 재인코드하지 않는 부분의 버퍼 점유량의 연속성을 유지하면서, 결합점 전후의 버퍼 점유량에 제한을 될 수 있는 한 적게 하여 발생 부호량을 충분히 할당할 수 있는 재인코드 범위의 최초의 버퍼 점유량의 하한치와 최후의 버퍼 점유량의 상한치를 결정하고, CPU(20)가 실행하는 편집 처리를 제어하기 위한 커맨드 등과 함께 출력할 수 있다. 재인코드 범위의 최초와 최 후의 버퍼 점유량의 설정치의 결정의 상세에 대해서는 후술하지만, 이와 같이 함으로써, 재인코드 범위에 발생 부호량을 보다 많이 공급하는 것이 가능하므로, 편집점 근방의 화상 품질의 열화를 가능한 한 방지할 수 있다.
HDD(16)에는, VBR(variable bit rate)로 압축된 소재 1 및 소재 2의 데이터가 기억되어 있다.
CPU(11)는, HDD(16)에 보존되어 있는 압축 부호화된 영상 소재 중, 도시하지 않은 조작 입력부로부터 공급된 유저의 조작 입력에 기초하여, 편집에 이용되는 소재로서 선택된 압축 부호화된 소재 1의 데이터 및 소재 2의 데이터의 발생 부호량에 관한 정보를 취득하고, 이 정보에 기초하여, 재인코드 범위의 최초와 최후의 버퍼 점유량을 결정한다.
도 33은, CPU(11)가 편집점 부근의 재인코드에서의 발생 부호량을 결정하고, 재인코드 구간을 결정하기 위하여 갖는 기능을 설명하기 위한 기능 블록이다.
발생 부호량 검출부(551)는, HDD(16)에 보존되어 있는, 편집되는 소재 1 및 소재 2의 발생 부호량을 검출하여, 버퍼 점유량 해석부(552)에 공급한다. 발생 부호량의 검출 방법은, 예를 들면, HDD(16)에 보존되어 있는, 편집되는 소재 1 및 소재 2의 데이터를 해석함으로써, 부호량(즉, 픽쳐 헤더간의 부호량)을 검출하도록 해도 되고, 편집되는 소재 1 및 소재 2의 데이터를 디코더(22 내지 24)에서 일단 디코드시켜, 버퍼의 축적량을 검출하도록 하여도 된다.
버퍼 점유량 해석부(552)는, 발생 부호량 검출부(551)로부터 공급된, 소재 1 및 소재 2의 발생 부호량의 정보에 기초하여, 재인코드를 행하지 않는 범위와 재인 코드 구간과의 접속점 부근에서의 버퍼 점유량의 모델 상태를 해석한다.
VBR 방식으로 압축된 화상에서는, 도 34에 도시된 바와 같이, 버퍼 점유량은 상한을 초과하지 않으므로(버퍼 점유량은 소정 시간 VBV_MAX에 붙은 것처럼 되므로), 버퍼는 파탄되지 않지만, 언더플로우를 일으킨 경우에는, 버퍼가 파탄되어, 출력되는 화상에 영향이 발생한다.
CBR(Constant Bit Rate) 방식으로 부호화된 스트림을 취급하는 경우에서는, bit_rate_value(Sequence_head), bit_rate_extension(Sequence_extension), 및, vbv_delay(picture_head)의 값에 기초하여, 대상으로 되는 픽쳐의 버퍼 내의 위치를 산출함으로써 버퍼 점유량을 산출할 수 있지만, VBR의 경우, 이 산출의 기초가 되는, vbv_delay의 값이, 최대치(0xFFFF)로 되어 있기 때문에, 올바른 버퍼 점유량을 계산할 수 없다.
이와 같이 재생 시간 정보가 기재되어 있지 않은 엘리멘터리 스트림을 취급할 때, 인코드된 스트림의 선두로부터 디코드할 수 있으면, 인코더가 의도한 버퍼 점유량의 궤적을 재현할 수 있지만, 상식적으로 생각하면, 디코드는, 스트림의 선두로부터만 행해지는 것은 아니다. 따라서, 인코더는, 언더플로우에 의한 화상 누락이 발생하지 않는 버퍼 점유량의 가상적인 궤적을 산출해야만 한다.
따라서, 버퍼 점유량 해석부(552)는, 발생 부호량 검출부(551)에 의해 검출된, 재인코드를 행하지 않는 범위와 재인코드 구간과의 접속점 부근에서의 버퍼 점유량을 해석하기 위한 제1 모델 상태로서, 도 35에 도시된 바와 같이, 재인코드 구간과 접속되는, 소재 2의 최초의 픽쳐에서의 버퍼 점유량이 VBV_MAX로 되는 경우 를, 재인코드 구간의 종료점 부근에 충분한 부호량을 할당할 수 없는 Worst case로 하여, 재인코드 구간의 최후의 소재 2와 재인코드되지 않는 소재 2와의 접속점 부근의 버퍼 점유량의 가상적인 궤적을 산출한다.
또한, 버퍼 점유량 해석부(552)는, 재인코드를 행하지 않는 범위와 재인코드 구간과의 접속점 부근에서의 버퍼 점유량을 해석하기 위한 제2 모델 상태로서, 도 36에 도시된 바와 같이, 재인코드 구간과 소재 1의 접속점에서의 버퍼 점유량이 0으로 되는 경우를, 재인코드 구간의 개시점 부근에 충분한 부호량을 할당할 수 없는 Worst case로 하여, 재인코드되지 않는 소재 1과 재인코드 구간의 소재 1과의 접속점 부근의 버퍼 점유량의 가상적인 궤적을 산출한다.
그리고, 버퍼 점유량 해석부(552)는, 산출한 제1 모델과 제2 모델의 버퍼 점유량의 가상적인 궤적을, 버퍼 점유량 결정부(553)에 공급한다.
또한, 버퍼 점유량 해석부(552)에서의 해석 범위가 길면 길수록, 보다 양호한 제어를 할 수 있는 가능성이 향상되지만, 한편, 처리 시간이 걸리게 된다. 해석 범위는, 예를 들면, 재생 시간에서 1 내지 2초간 정도에 대응하는 범위나, 소재로 되는 압축 부호화 데이터가 MPEG의 LONG GOP 방식으로 부호화되어 있는 것인 경우, 1 내지 2GOP 정도가 적당하지만, 경험적 또는 실험적으로 적절히 설정 가능한 값으로 할 수 있다.
인코더는, VBR이더라도, VBV 버퍼의 규정을 지키도록 버퍼 관리를 행하면서 인코드를 행하고 있으므로, 재인코드 구간에 계속되는, 재인코드하지 않는 구간의 소재 2의 어느 하나의 픽쳐에서 버퍼 점유량이 상한에 도달하면, 그 이후의 버퍼 점유량은 하한을 하회할 일은 없다고 할 수 있다. 따라서, 도 35에 도시된 Worst case와 같이, 소재 2의 재인코드 구간과 접속되는 최초의 프레임의 버퍼 점유량이 상한에 도달하도록 재인코드 구간에서의 버퍼 제어를 행하면, 규격 위반을 하지 않고 편집 처리를 행하는 것이 가능하게 된다.
그러나, 이러한 Worst case에서는, 재인코드 구간의 최후의 버퍼 점유량이, 상한 VBV_MAX로부터 「최고 비트 레이트×1 frame 시간」만큼 낮은 값으로부터 VBV_MAX까지의 사이의 어느 하나의 값으로 되도록 제어를 행해야만 한다. 이 때문에, 재인코드 구간의 부호 배분의 제한이 매우 엄격한 것으로 되어, 화질이 열화되게 될 우려가 발생한다.
따라서, 버퍼 점유량 결정부(553)는, 소재 2의 재인코드 구간과 접속되는 최초의 픽쳐가 VBV_MAX로 되는 Worst case에서, 도 35의 α 및 β로 표시한 바와 같이, 버퍼 점유량이 VBV_MAX에 붙어 있는 상태가 존재하는지의 여부를 탐색한다. 도 35의 α 및 β로 표시한 바와 같이, 버퍼 점유량이 VBV_MAX에 붙어 있는 상태가 존재하는 경우, α 및 β로 표시한 구간만큼, 버퍼 점유량의 가상적인 궤적을 하방으로 수정하여, 재인코드 구간의 최후의 버퍼 점유량의 값을 낮게 하면서, 재인코드하지 않는 구간의 소재 2의 어느 하나의 픽쳐에서 버퍼 점유량이 상한으로 되어 있는 상태를 구한다. 단, 버퍼 점유량 결정부(553)는, 이 때, 언더플로우가 발생하지 않는 범위에서 버퍼 점유량의 가상적인 궤적을 하방으로 수정한다.
구체적으로는, 도 35에서, 「최고 비트 레이트×α로 표시되는 구간」만큼, 버퍼 점유량의 가상적인 궤적이 하방으로 수정된 경우, 언더플로우가 발생하지 않 으면, 재인코드 구간의 최후의 버퍼 점유량의 값은, 화살표(581)로 표시하는 영역보다도 넓은 화살표(582)로 표시하는 영역의 범위 내에서 제어할 수 있다. 또한, 「최고 비트 레이트×β로 표시되는 구간」만큼, 버퍼 점유량의 가상적인 궤적이 하방으로 수정된 경우, 언더플로우가 발생하지 않으면, 재인코드 구간의 최후의 버퍼 점유량의 값은, 화살표(582)로 표시하는 영역보다도 더 넓은 화살표(583)로 표시하는 영역의 범위 내에서 제어할 수 있다.
이와 같이 함으로써, 재인코드 구간의 종료점에서의 버퍼 점유량의 하한치를 Worst case보다도 감소시킬(적은 값으로 설정 가능하게 할) 수 있기 때문에, 재인코드 구간의 최후의 프레임에 배분 가능한 부호량의 상한치를 증가시킬 수 있다. 이에 의해, 재인코드 구간에서의 버퍼 점유량의 제어의 자유도가 증가하여, 재인코드 구간에서의 부호 배분의 컨트롤이 용이해지므로, 재인코드 구간의 화질의 열화를 방지하도록 하는 것이 가능해진다.
또한, 도 36에 도시된 바와 같이, 재인코드 구간과 소재 1의 접속점에서의 버퍼 점유량이 0으로 되는 Worst case에서, 재인코드 구간의 최초의 프레임에, 「최고 비트 레이트×1 frame 시간」의 부호량 이하밖에 할당할 수 없기 때문에, 화질이 열화되게 될 우려가 발생한다.
소재 1은, VBV 버퍼의 규정을 지키도록 버퍼 관리가 행해져 있는 압축 화상이다. 따라서, Worst case를 기준으로 한 소재 1의 해석 범위 내의 버퍼 점유량의 가상적인 궤적에서, 버퍼 점유량이 언더플로우하고 있는 픽쳐가 존재하는 경우, 그 언더플로우의 분만큼, 버퍼 점유량의 가상적인 궤적을 상방으로 수정해도, 재인코 드 구간에서는 VBV 버퍼의 규정을 지킨 제어를 행하는 것이 가능하게 된다. 즉, 버퍼 점유량 결정부(553)는, Worst case를 기준으로 한 소재 1의 해석 범위 내의 버퍼 점유량의 가상적인 궤적에서, 버퍼 점유량이 언더플로우하고 있는 픽쳐가 존재하는 경우, 그 언더플로우의 분만큼, 버퍼 점유량의 가상적인 궤적을 상방으로 수정하여, 재인코드 범위의 최초의 버퍼 점유량을 결정한다. 이에 의해, 재인코드 구간의 개시점에서의 버퍼 점유량의 상한치를 증가시킬(큰 값으로 설정 가능하게 할) 수 있어, 최초의 프레임에 배분 가능한 부호량의 자유도를 증가시킬 수 있으므로, 화질의 열화를 방지하는 것이 가능하게 된다.
구체적으로는, 도 36에서, 소재 1의 해석 범위 내의 버퍼 점유량에서 가장 크게 언더플로우하고 있는 화살표(601)로 표시하는 버퍼 점유량의 분만큼, 화살표(602)로 표시한 바와 같이 버퍼 점유량의 가상적인 궤적을 상방으로 수정한 경우, 재인코드 범위의 최초의 버퍼 점유량은, 화살표(603)로 표시하는 「최고 비트 레이트×1 frame 시간」의 부호량 이하의 범위 내로부터, 화살표(603)로 표시하는 「최고 비트 레이트×1 frame 시간」의 부호량+화살표(602)에 대응하는, 화살표(604)로 표시하는 범위 내의 발생 부호량을 할당하는 것이 가능하게 되므로, 화질의 열화를 방지하는 것이 가능해진다.
커맨드 및 제어 정보 생성부(554)는, 버퍼 점유량 결정부(553)에 의해 결정된 재인코드 구간에서의 선두와 최후의 버퍼 점유량의 값을 취득하고, 이들 정보와, 유저에 의해 지정된 편집점의 정보와, 편집 개시 커맨드를 생성한다.
다음으로, 도 37의 플로우차트를 참조하여, 본 발명을 적용한 편집 장치(1) 가 실행하는 편집 처리 3에 대해서 설명한다.
스텝 S201에서, CPU(11)는, 도시하지 않은 조작 입력부로부터, 편집 개시를 명령하는 유저로부터의 조작 입력을 받는다.
스텝 S202에서, CPU(11)는, 도시하지 않은 조작 입력부로부터 공급된 유저의 조작 입력에 기초하여, 사우스 브릿지(15)를 제어하여, HDD(16)로부터, 압축 부호화된 소재 1의 데이터 및 소재 2의 데이터를 카피하여, 노스 브릿지(12), PCI 버스(14), 및, PCI 브릿지(17)를 통하여, 메모리(18)에 공급시켜 기억시킴과 함께, 편집점, 디코드 구간(또는, 재인코드 구간)을 나타내는 정보와, 편집 개시를 나타내는 커맨드를, 노스 브릿지(12), PCI 버스(14), PCI 브릿지(17), 및, 컨트롤 버스(19)를 통하여, CPU(20)에 공급한다. 메모리(18)는, 압축 부호화된 2개의 편집 소재 데이터를 취득한다.
스텝 S203에서, CPU(20)는, CPU(11)로부터 공급된, 편집점을 나타내는 정보와, 편집 개시를 나타내는 커맨드에 기초하여, 압축 부호화된 편집 소재 데이터의 디코드 범위를 결정한다. 디코드 범위를 결정하는 처리는, 예를 들면, 도 18의 스텝 S3에서 실행되는, 도 19를 이용하여 설명한 디코드 범위 결정 처리 1 또는 도 21을 이용하여 설명한 디코드 범위 결정 처리(21)이어도 된다. 또한, CPU(20)는, 결정한 디코드 범위를 CPU(11)에 공급한다.
스텝 S204에서, 도 38을 이용하여 후술하는, 버퍼 점유량 결정 처리가 실행된다. CPU(11)는, 재인코드 구간의 개시점 및 종료점에서의 버퍼 점유량을 나타내는 정보를, 노스 브릿지(12), PCI 버스(14), PCI 브릿지(17), 및, 컨트롤 버스(19) 를 통하여, CPU(20)에 공급한다.
스텝 S205에서, CPU(20)는, PCI 브릿지(17)를 제어하여, 메모리(18)에 기억되어 있는 압축 부호화된 2개의 편집 소재 데이터로부터, 디코드되는 범위의 데이터와, 필요에 따라서, 이 범위의 데이터를 디코드 및 재인코드하기 위하여 필요한 데이터를 추출시켜, 디코더(22) 및 디코더(23)에 각각 공급시킨다.
또한, 이 때, CPU(20)는, PCI 브릿지(17)를 제어하여, 재인코드되지 않는 부분의 압축 부호화된 편집 소재 데이터를, 스트림 스플라이서(25)에 공급시킨다. PCI 브릿지(17)는, CPU(20)의 제어에 기초하여, 메모리(18)에 기억되어 있는 압축 부호화된 2개의 편집 소재 데이터로부터, 결정된 디코드 범위의 데이터와, 필요에 따라서, 이 범위의 데이터를 디코드 및 재인코드하기 위하여 필요한 데이터를 추출하여, 디코더(22) 및 디코더(23)에 각각 공급함과 함께, 재인코드되지 않는 부분의 압축 부호화된 편집 소재 데이터를, 스트림 스플라이서(25)에 공급한다.
또한, 이 때, CPU(20)는, 필요에 따라서, 예를 들면, 재인코드 범위의 화상에 실시되는 이펙트의 종류나, 재인코드에 포함되는 픽쳐의 부호화 난이도에 관한 정보를 취득하는 것이 가능하다.
스텝 S206에서, CPU(20)는, 디코더(22) 및 디코더(23)를 제어하여, 결정된 디코드 범위의 데이터를 디코드시킨다. 디코더(22) 및 디코더(23)는, CPU(20)의 제어에 기초하여, 공급된 압축 부호화된 편집 소재 데이터를 디코드하여, 이펙트/스위치(26)에 공급한다.
스텝 S207에서, CPU(20)는, 이펙트/스위치(26)를 제어하여, 디코드된 데이터 를 편집점에서 접속시키고, 필요에 따라서, 이펙트를 가하게 한다. 이펙트/스위치(26)는, CPU(20)의 제어에 기초하여, 공급된 비압축의 복호 영상 소재를 편집점에서 접속하고, 필요에 따라서, 이펙트를 가하여, 인코더(27)에 공급한다.
스텝 S208에서, CPU(20)는, 인코더(27)에 재인코드 구간의 개시점 및 종료점에서의 버퍼 점유량을 나타내는 정보를 공급함과 함께, 인코더(27)를 제어하여, 디코드되어 편집점에서 접속된 화상 데이터를 재인코드시킨다. 인코더(27)는, CPU(20)의 제어에 기초하여, 재인코드 구간의 개시점 및 종료점에서의 버퍼 점유량을 나타내는 정보에 기초하여, VBV 버퍼의 규정을 충족하도록 하여, 디코드되어 편집점에서 접속된 화상 데이터 중, 재인코드 구간의 화상 데이터의 재인코드를 행하여, 스트림 스플라이서(25)에 공급한다.
스텝 S209에서, 스트림 스플라이서(25)는, 재인코드된 부분과, 재인코드되어 있지 않은 부분의 압축 영상 데이터를 접속하고, 처리가 종료된다.
이러한 처리에 의해, 2개의 영상 소재(압축 영상 데이터)의 편집점 부근을 부분적으로 디코드하고, 디코드된 비압축의 영상 신호를 소정의 편집점에서 접속한 후, 재인코드를 행하여, 디코드 및 재인코드되어 있지 않은 부분의 압축 영상 데이터와 접속함으로써, 압축 영상 데이터의 편집을 실현할 수 있다.
또한, 스텝 S202에서, 디코드 범위를 결정하는 처리로서, 도 19를 이용하여 설명한 디코드 범위 결정 처리 1이 실행된 경우, 스텝 S208 및 스텝 S209에서는, 도 20을 이용하여 설명한 재인코드 및 접속 처리 1과 기본적으로 마찬가지의 처리가 실행되고, 스텝 S202에서, 디코드 범위를 결정하는 처리로서, 도 21을 이용하여 설명한 디코드 범위 결정 처리 2가 실행된 경우, 스텝 S208 및 스텝 S209에서는, 도 22를 이용하여 설명한 재인코드 및 접속 처리 2와 기본적으로 마찬가지의 처리가 실행된다.
또한, 이 때, 인코더(27)는, 설정된 재인코드 구간의 개시점 및 종료점에서의 버퍼 점유량을 나타내는 정보에 기초하여, VBV 버퍼의 규정을 충족하도록 하여, 재인코드하므로, 종래에서의 경우보다도 발생 부호량의 할당의 자유도가 증가되어, 화질의 열화를 방지할 수 있다.
다음으로, 도 38의 플로우차트를 참조하여, 도 37의 스텝 S204에서 실행되는, 버퍼 점유량 결정 처리에 대해서 설명한다.
스텝 S241에서, 발생 부호량 검출부(551)는, 스텝 S203에서 결정된 재인코드 구간에 기초하여, 재인코드 구간과 재인코드되지 않는 구간의 접속점 근방의 소정의 범위의 소재 1 및 소재 2의 발생 부호량을 검출하여, 버퍼 점유량 해석부(552)에 공급한다.
스텝 S242에서, 버퍼 점유량 해석부(552)는, 도 35를 이용하여 설명한 바와 같이, 소재 2에서, 재인코드 구간의 경계의 다음 픽쳐의 버퍼 점유량이 상한으로 되는 Worst case에서, 소정의 범위의 버퍼 점유량을 해석하고, Worst case에서의 가상적인 버퍼 점유량의 궤적을 구하여, 버퍼 점유량 결정부(553)에 공급한다.
스텝 S243에서, 버퍼 점유량 결정부(553)는, 해석된, Worst case에서의 가상적인 버퍼 점유량의 궤적에서, VBV_MAX를 초과하고 있는 부분이 있는지의 여부를 판단한다.
스텝 S243에서, VBV_MAX를 초과하고 있는 부분이 있다고 판단된 경우, 스텝 S244에서, 버퍼 점유량 결정부(553)는, VBV_MAX를 초과하고 있는 부분의 시간(예를 들면, 도 35에서의 α, β)에 기초하여, 버퍼 언더플로우를 일으키지 않는 조건을 충족시키도록, 재인코드 구간의 최후의 버퍼 점유량을 결정하고, 처리는, 스텝 S246으로 진행한다.
스텝 S243에서, VBV_MAX를 초과하고 있는 부분이 없다고 판단된 경우, 스텝 S245에서, 버퍼 점유량 결정부(553)는, Worst case에서의 가상적인 버퍼 점유량의 궤적에 기초하여, 재인코드 구간의 최후의 버퍼 점유량을 결정한다.
스텝 S244 또는 스텝 S245의 처리의 종료 후, 스텝 S246에서, 버퍼 점유량 해석부(552)는, 도 36을 이용하여 설명한 바와 같이, 소재 1에서, 재인코드 구간의 경계의 버퍼 점유량이 하한으로 되는 Worst case에서, 소정의 범위의 버퍼 점유량을 해석하고, Worst case에서의 가상적인 버퍼 점유량의 궤적을 구하여, 버퍼 점유량 결정부(553)에 공급한다.
스텝 S247에서, 버퍼 점유량 결정부(553)는, 해석된, Worst case에서의 가상적인 버퍼 점유량의 궤적에서, 언더플로우가 발생하였는지의 여부를 판단한다.
스텝 S247에서, 언더플로우가 발생하였다고 판단된 경우, 스텝 S248에서, 버퍼 점유량 결정부(553)는, 도 36을 이용하여 설명한 바와 같이, 버퍼 언더플로우분, 가상적인 궤적을 상방으로 수정하여, 재인코드 구간의 최초의 버퍼 점유량을 결정하고, 처리는, 스텝 S250으로 진행한다.
스텝 S247에서, 언더플로우가 발생하지 않았다고 판단된 경우, 스텝 S249에 서, 버퍼 점유량 결정부(553)는, Worst case에서의 가상적인 버퍼 점유량의 궤적에 기초하여, 재인코드 구간의 최초의 버퍼 점유량을 결정한다.
스텝 S248 또는 스텝 247의 처리의 종료 후, 스텝 S250에서, 커맨드 및 제어 정보 생성부(554)는, 재인코드 구간의 개시점 및 종료점에서의 버퍼 점유량을 나타내는 정보를 생성하여, CPU(20)에 출력하고, 처리는, 도 37의 스텝 S204로 되돌아가서, 스텝 S205로 진행한다.
이러한 처리에 의해, 가변 비트 레이트 방식으로 압축된 화상의 편집을 행하는 경우에, 소재의 데이터를 모두 해석하지 않고, 재인코드 구간의 버퍼 제어를 용이하게 하여, 화질을 향상시킬 수 있는, 재인코드 구간 및 재인코드 구간의 개시점 및 종료점에서의 버퍼 점유량을 결정할 수 있다.
이상 설명한 처리에 의해, 가변 비트 레이트 방식으로 압축된 화상의 편집이, 편집점 근방의 일부분만의 디코드 및 재인코드에 의해 가능해진다.
또한, 가변 비트 레이트 방식으로 압축된 화상을 편집할 때에, 재인코드 구간과 재인코드되지 않는 구간의 이음 점의 근방의 가상 버퍼의 버퍼 점유량의 천이 상태를 조사하여, 재인코드 구간의 픽쳐에 할당되는 부호량을 늘릴 수 있도록 하였기 때문에, 제어가 용이하게 되어, 화질의 열화를 방지하여, 고화질의 편집 화상을 얻을 수 있게 된다.
또한, 도 37 및 도 38의 플로우차트를 이용하여 설명한 처리에서도, 디코드 범위는, 재인코드 범위에 기초하여, 재인코드 범위와는 개별로 정해지는 것으로 하여도 된다. 즉, 디코드 범위는, 재인코드 범위와 동일한 범위이어도, 재인코드 범 위를 포함하는 그 이상의 범위이어도 된다.
이상과 같이, 제1 압축 영상 데이터와 제2 압축 영상 데이터를 편집점에서 접속하여 편집하는 처리를 제어할 수 있고, 특히, 시간 정보를 갖지 않는 VBR의 압축 영상 데이터에서, 디코드되어 상기 편집점에서 접속된 상기 제1 압축 영상 데이터 및 상기 제2 압축 영상 데이터의 재인코드 범위의 개시점과 종료점에서의 버퍼 점유량을, 재인코드 범위에 할당되는 발생 부호량의 자유도가 증가하도록 설정할 수 있다.
상술한 일련의 처리는, 소프트웨어에 의해 실행할 수도 있다. 그 소프트웨어는, 그 소프트웨어를 구성하는 프로그램이, 전용의 하드웨어에 내장되어 있는 컴퓨터, 또는, 각종 프로그램을 인스톨함으로써, 각종 기능을 실행하는 것이 가능한, 예를 들면 범용의 퍼스널 컴퓨터 등에, 기록 매체로부터 인스톨된다. 이 경우, 예를 들면, 도 4를 이용하여 설명한 편집 장치(1), 도 24를 이용하여 설명한 편집 장치(401)는, 도 39에 도시된 바와 같은 퍼스널 컴퓨터(701)에 의해 구성된다.
도 39에서, CPU(Central Processing Unit(711))는, ROM(Read Only Memory(712))에 기억되어 있는 프로그램, 또는 기억부(718)로부터 LAM(Random Access Memory(713))에 로드된 프로그램에 따라서, 각종 처리를 실행한다. RAM(713)에는 또한, CPU(711)가 각종 처리를 실행하는 데 있어서 필요한 데이터 등도 적절히 기억된다.
CPU(711), ROM(712), 및 RAM(713)은, 버스(714)를 통하여 서로 접속되어 있다. 이 버스(714)에는 또한, 입출력 인터페이스(715)도 접속되어 있다.
입출력 인터페이스(715)에는, 키보드, 마우스 등으로 이루어지는 입력부(716), 디스플레이나 스피커 등으로 이루어지는 출력부(717), 하드디스크 등으로 구성되는 기억부(718), 모뎀, 터미널 어댑터 등으로 구성되는 통신부(719)가 접속되어 있다. 통신부(719)는, 인터넷을 포함하는 네트워크를 통한 통신 처리를 행한다.
입출력 인터페이스(715)에는 또한, 필요에 따라서 드라이브(720)가 접속되고, 자기 디스크(731), 광 디스크(732), 광 자기 디스크(733), 혹은, 반도체 메모리(734) 등이 적절히 장착되며, 이들로부터 판독된 컴퓨터 프로그램이, 필요에 따라서 기억부(718)에 인스톨된다.
일련의 처리를 소프트웨어에 의해 실행시키는 경우에는, 그 소프트웨어를 구성하는 프로그램이, 전용의 하드웨어에 내장되어 있는 컴퓨터, 또는, 각종 프로그램을 인스톨함으로써, 각종 기능을 실행하는 것이 가능한, 예를 들면 범용의 퍼스널 컴퓨터 등에, 네트워크나 기록 매체로부터 인스톨된다.
이 기록 매체는, 도 39에 도시된 바와 같이, 장치 본체와는 별도로, 유저에게 프로그램을 공급하기 위해 배포되는, 프로그램이 기억되어 있는 자기 디스크(731)(플로피 디스크를 포함함), 광 디스크(732)(CD-ROM(Compact Disk-Read Only Memory), DVD(Digital Versatile Disk)를 포함함), 광 자기 디스크(733)(MD(Mini-Disk)(상표)를 포함함), 혹은 반도체 메모리(734) 등으로 이루어지는 패키지 미디어로 구성될 뿐만 아니라, 장치 본체에 미리 내장된 상태로 유저에게 공급되는, 프로그램이 기억되어 있는 ROM(712)이나, 기억부(718)에 포함되는 하드디스크 등으로 구성된다.
또한, 본 명세서에서, 기록 매체에 기록되는 프로그램을 기술하는 스텝은, 기재된 순서에 따라서 시계열적으로 행해지는 처리는 물론, 반드시 시계열적으로 처리되지 않더라도, 병렬적 혹은 개별로 실행되는 처리도 포함하는 것이다.
또한, 상술한 실시 형태에서는, 편집 장치(1) 또는 편집 장치(401)가, 각각, 디코더와 인코더를 갖고 있는 것으로서 설명하였지만, 디코더 및 인코더가, 각각, 독립된 장치로서 구성되어 있는 경우에도, 본 발명은 적용 가능하다. 예를 들면, 도 40에 도시된 바와 같이, 스트림 데이터를 복호하여 베이스밴드 신호로 변환하는 복호 장치(771), 베이스밴드 신호를 부호화하여 스트림 데이터로 변환하는 부호화 장치(772)가, 각각 독립된 장치로서 구성되어 있어도 된다.
이 때, 복호 장치(771)는, 영상 소재인 압축 부호화 데이터를 복호하여, 부호화 장치(772)에 공급할 뿐만 아니라, 본 발명을 적용함으로써 부호화 장치(772)에 의해 부분적으로 부호화된 후, 편집되어 생성된 압축 부호화 데이터의 공급을 받아, 복호 처리를 행하여, 베이스밴드 신호로 변환할 수 있다. 베이스밴드 신호로 변환된 편집 후의 스트림은, 예를 들면, 소정의 표시 장치에 공급되어 표시되거나, 다른 장치에 출력되어, 필요한 처리가 실시된다.
또한, 상술한 실시 형태에서는, 디코더(22 내지 24)가, 공급된 압축 부호화 데이터를 완전하게 디코드하지 않고, 대응하는 인코더(27)가, 비완전하게 복호된 데이터의 대응하는 부분을 부분적으로 인코드하는 경우에도, 본 발명은 적용 가능하다.
예를 들면, 디코더(22 내지 24)가, VLC 부호에 대한 복호 및 역양자화만을 행하고, 역DCT 변환을 실행하지 않았던 경우, 인코더(27)는, 양자화 및 가변 길이 부호화 처리를 행하지만, DCT 변환 처리는 행하지 않는다. 이러한 부분적인 부호화(중도 단계로부터의 부호화)를 행하는 인코더에서도, 본 발명을 적용할 수 있음은 물론이다.
또한, 상술한 실시 형태에서는, 디코더(22 내지 24)가 완전하게 복호한 베이스밴드 신호를, 인코더(27)가 중도 단계까지 부호화하는 경우(예를 들면, DCT 변환 및 양자화를 행하지만 가변 길이 부호화 처리를 행하지 않는 등)나, 디코더(22 내지 24)가 완전하게 복호하고 있지 않기(예를 들면, VLC 부호에 대한 복호 및 역양자화만을 행하고, 역DCT 변환을 실행하고 있지 않기) 때문에, 중도 단계까지 부호화되어 있는 데이터에 대해서, 인코더(27)가 다시 중도 단계까지 부호화하는 경우 등(예를 들면, 양자화를 행하지만 가변 길이 부호화 처리를 행하지 않는 등)에서도, 본 발명은 적용 가능하다.
또한, 도 40에 도시된 복호 장치(771)가, 공급된 스트림 데이터를 완전하게 복호하지 않고, 대응하는 부호화 장치(772)가, 비완전하게 복호된 데이터의 대응하는 부분을 부분적으로 부호화하는 경우에도, 본 발명은 적용 가능하다.
예를 들면, 복호 장치(771)가, VLC 부호에 대한 복호 및 역양자화만을 행하고, 역DCT 변환을 실행하지 않았던 경우, 부호화 장치(772)는, 양자화 및 가변 길이 부호화 처리를 행하지만, DCT 변환 처리는 행하지 않는다. 이러한 부분적인 복호 처리(중도 단계까지의 복호)를 행하는 복호 장치(771)의 디코드 처리, 및, 부호 화(중도 단계로부터의 부호화)를 행하는 부호화 장치(772)의 인코드 처리에서, 본 발명을 적용할 수 있는 것은 물론이다.
또한, 복호 장치(771)가 완전하게 복호한 베이스밴드 신호를, 부호화 장치(772)가 중도 단계까지 부호화하는 경우(예를 들면, DCT 변환 및 양자화를 행하지만 가변 길이 부호화 처리를 행하지 않는 등)나, 복호 장치(771)가 완전하게 복호하고 있지 않기(예를 들면 VLC 부호에 대한 복호 및 역양자화만을 행하고, 역DCT 변환을 실행하고 있지 않기) 때문에, 중도 단계까지 부호화되어 있는 데이터에 대해서, 부호화 장치(772)가 다시 중도 단계까지 부호화하는 경우 등(예를 들면, 양자화를 행하지만 가변 길이 부호화 처리를 행하지 않는 등)에서도, 본 발명은 적용 가능하다.
또한, 이러한 부분적인 복호를 행하는(복호 처리의 공정 중의 일부를 실행하는) 부호화 장치(451)와 부분적인 부호화를 행하는(부호화 처리의 공정 중의 일부를 실행하는) 부호화 장치(772)로 구성된 트랜스코더(781)에서도, 본 발명은 적용 가능하다. 이러한 트랜스코더(781)는, 예를 들면, 스플라이싱 등의 편집을 행하는 편집 장치(782), 즉, 상술한 편집 장치(1) 또는 편집 장치(401)의 스트림 스플라이서(25)나 이펙트/스위치(26)가 실행 가능한 기능을 갖는 편집 장치가 이용되는 경우 등에 이용된다.
또한, 상술한 실시 형태에서는, CPU(11) 및 CPU(20)가 각각 다른 형태로 구성되어 있지만, 이것에 한하지 않고, 편집 장치(1) 또는 편집 장치(401) 전체를 제어하는 1개의 CPU로서 구성하는 형태도 생각된다. 마찬가지로, 상술한 실시 형태 에서는, 메모리(13) 및 메모리(21)가 각각 다른 형태로 구성되어 있지만, 이것에 한하지 않고, 편집 장치(1) 또는 편집 장치(401)에서 1개의 메모리로서 구성하는 형태도 생각된다.
또한, 상술한 실시 형태에서는, HDD(16), 디코더(22 내지 24), 스트림 스플라이서(25), 이펙트/스위치(26), 및, 인코더(27)를, 각각, 브릿지 및 버스를 통하여 접속하여, 편집 장치로서 일체화되어 있는 경우에 대해서 설명했지만, 본 발명은 이것에 한하지 않고, 예를 들면, 이들 구성 요소 중의 일부가, 외부로부터 유선 또는 무선으로 접속되도록 해도 되고, 이들 구성 요소는, 이 외에, 다양한 접속 형태로 서로 접속되도록 하여도 된다.
또한, 상술한 실시 형태에서는, 압축된 편집용의 소재가 HDD에 기억되어 있는 경우에 대해서 설명했지만, 본 발명은 이것에 한하지 않고, 예를 들면, 광 디스크, 광 자기 디스크, 반도체 메모리, 자기 디스크 등의 다양한 기록 매체에 기록된 편집용의 소재를 이용하여 편집 처리를 행하는 경우에도 적용할 수 있다.
또한, 상술한 실시 형태에서는, 디코더(22 내지 24), 스트림 스플라이서(25), 이펙트/스위치(26), 및, 인코더(27)는, 동일한 확장 카드(예를 들면, PCI카드, PCI-Express 카드)에 탑재하는 형태에 한하지 않고, 예를 들면 PCI-Express 등의 기술에 의해 카드간의 전송 속도가 높은 경우에는, 각각 다른 확장 카드에 탑재하여도 된다.
또한, 본 발명은, MPEG 방식에 의한 정보 처리 장치 외에, 이것과 유사한 부호화 또는 부호화의 알고리즘을 갖는 방식의 정보 처리 장치에 적용할 수 있다.
또한, 본 발명의 실시 형태는, 상술한 실시 형태에 한정되는 것이 아니라, 본 발명의 요지를 일탈하지 않는 범위에서 다양한 변경이 가능하다.

Claims (27)

  1. 제1 압축 영상 데이터와 제2 압축 영상 데이터를 접속하여 편집하는 처리를 실행하는 정보 처리 장치에 있어서,
    상기 제1 압축 영상 데이터에 설정된 제1 편집점을 포함하는 제1 디코드 구간을 복호 처리하여 제1 비압축 영상 신호를 생성함과 함께, 상기 제2 압축 영상 데이터에 설정된 제2 편집점을 포함하는 제2 디코드 구간을 복호 처리하여 제2 비압축 영상 신호를 생성하는 복호 수단과,
    상기 제1 비압축 영상 신호 및 상기 제2 비압축 영상 신호가, 상기 제1 편집점 및 상기 제2 편집점에서 접속된 제3 비압축 영상 신호의 소정의 재인코드 구간을 재부호화 처리하여 제3 압축 영상 데이터를 생성하는 재부호화 수단과,
    상기 재부호화 수단에 의한 재부호화 처리 시의 발생 부호량에 기초하여, 기본으로 되는 인코드 구간으로부터 연장된 상기 재인코드 구간을 설정하여, 상기 재부호화 수단에 의한 재부호화 처리를 제어하는 제어 수단과,
    상기 제1 압축 영상 데이터와 상기 제2 압축 영상 데이터 중, 재인코드를 하지 않는 구간의 압축 영상 데이터와, 상기 재부호화 수단에 의해 재부호화되어 생성된 상기 제3 압축 영상 데이터를 절환하여 출력함으로써, 편집된 편집 압축 영상 데이터를 생성하는 편집 수단
    을 구비하는 정보 처리 장치.
  2. 제1항에 있어서,
    상기 제어 수단은, 상기 재부호화 수단에 의한 상기 재인코드 구간의 재부호화 처리에서의 발생 부호량의 할당을 제어함과 함께, 상기 재인코드 구간 중, 상기 기본으로 되는 인코드 구간에 할당되는 발생 부호량이 소정량보다도 적은 경우, 상기 기본으로 되는 인코드 구간으로부터 연장된 상기 재인코드 구간을 설정하여, 상기 재부호화 수단에 의한 재부호화 처리를 제어하는 정보 처리 장치.
  3. 제2항에 있어서,
    상기 제어 수단은, 상기 기본으로 되는 인코드 구간에 할당되는 발생 부호량이 상기 소정량보다도 증가하도록, 상기 재부호화 수단에 의한 상기 재인코드 구간의 재부호화 처리에서의 발생 부호량의 할당을 제어하는 정보 처리 장치.
  4. 제3항에 있어서,
    상기 제어 수단은, 상기 재인코드 구간의 개시점 및 종료점에서의 어큐펀시의 차분치에 기초하여, 상기 기준으로 되는 인코드 구간에 할당되는 부호량이 증가되도록, 상기 재인코드 구간에서의 발생 부호량의 할당을 제어하는 정보 처리 장치.
  5. 제3항에 있어서,
    상기 제어 수단은, 상기 기준으로 되는 인코드 구간의 픽쳐의 수에 비례하 고, 상기 재인코드 구간의 픽쳐 수에 대략 반비례하는 값에 기초하여, 상기 기준으로 되는 인코드 범위에 할당되는 부호량이 증가되도록, 상기 재인코드 구간에서의 발생 부호량의 할당을 제어하는 정보 처리 장치.
  6. 제2항에 있어서,
    상기 제어 수단은, 상기 재인코드 구간 중, 상기 기준으로 되는 인코드 구간 이외의 구간에 할당하는 발생 부호량을 감소시키도록, 상기 재인코드 구간에서의 발생 부호량의 할당을 제어하는 정보 처리 장치.
  7. 제1항에 있어서,
    상기 제어 수단은, 상기 기준으로 되는 인코드 범위에 이펙트가 실시되는 경우, 상기 기준으로 되는 인코드 범위에 실시되는 상기 이펙트의 종류에 따라서, 상기 기본으로 되는 인코드 구간으로부터 연장된 상기 재인코드 구간을 설정하여, 상기 재부호화 수단에 의한 재부호화 처리를 제어하는 정보 처리 장치.
  8. 제1항에 있어서,
    상기 제어 수단은, 상기 기준으로 되는 인코드 범위의 부호화 난이도의 상승율에 기초하여, 상기 기본으로 되는 인코드 구간으로부터 연장된 상기 재인코드 구간을 설정하여, 상기 재부호화 수단에 의한 재부호화 처리를 제어하는 정보 처리 장치.
  9. 제3항에 있어서,
    상기 제어 수단은, 상기 기준으로 되는 인코드 범위에 이펙트가 실시되는 경우, 상기 기준으로 되는 인코드 범위에 실시되는 상기 이펙트의 종류에 따라서, 상기 기준으로 되는 인코드 범위에서의 상기 발생 부호량이 증가하도록, 상기 재부호화 수단에 의한 상기 재인코드 구간의 재부호화 처리에서의 발생 부호량의 할당을 제어하는 정보 처리 장치.
  10. 제3항에 있어서,
    상기 제어 수단은, 상기 기준으로 되는 인코드 범위의 부호화 난이도의 상승율에 기초하여, 상기 기준으로 되는 인코드 범위에서의 상기 발생 부호량이 증가하도록, 상기 재부호화 수단에 의한 상기 재인코드 구간의 재부호화 처리에서의 발생 부호량의 할당을 제어하는 정보 처리 장치.
  11. 제2항에 있어서,
    상기 제어 수단은, 상기 제1 압축 영상 데이터와 상기 제2 압축 영상 데이터의 어큐펀시에 관한 정보를 취득하고, 상기 어큐펀시에 관한 정보에 기초하여, 상기 재부호화 수단에 의한 상기 재인코드 구간의 재부호화 처리에서의 발생 부호량의 할당을 제어하는 정보 처리 장치.
  12. 제11항에 있어서,
    상기 어큐펀시에 관한 정보는, 상기 재인코드 구간의 선두 및 종료 위치에 대응하는 픽쳐의 어큐펀시에 관한 정보인 정보 처리 장치.
  13. 제11항에 있어서,
    상기 어큐펀시에 관한 정보는, 상기 제1 압축 영상 데이터 및 상기 제2 압축 영상 데이터의 유저 데이터 영역에 다중화되어 있고,
    상기 제어 수단은, 상기 제1 압축 영상 데이터와 상기 제2 압축 영상 데이터의 유저 데이터 영역에 다중화되어 있는 상기 어큐펀시에 관한 정보를 취득하는 정보 처리 장치.
  14. 제13항에 있어서,
    상기 제어 수단은, 상기 제1 압축 영상 데이터와 상기 제2 압축 영상 데이터 중, 상기 재인코드 구간의 선두 및 종료 위치에 대응하는 픽쳐를 과거에 인코드한 장치를 특정 가능한 정보를 취득하고, 취득된 상기 장치를 특정 가능한 정보를 이용하여, 상기 어큐펀시에 관한 정보가 기재되어 있는 위치를 검출하는 정보 처리 장치.
  15. 제13항에 있어서,
    상기 제어 수단은, 상기 제1 압축 영상 데이터와 상기 제2 압축 영상 데이터 중, 상기 재인코드 구간의 선두 및 종료 위치에 대응하는 픽쳐의 픽쳐 타입을 나타내는 정보를 취득하고, 취득된 상기 픽쳐 타입을 나타내는 정보를 이용하여, 상기 어큐펀시에 관한 정보가 기재되어 있는 위치를 검출하는 정보 처리 장치.
  16. 제15항에 있어서,
    상기 제어 수단은, 상기 제1 압축 영상 데이터 및 상기 제2 압축 영상 데이터가 포맷 변환되었는지를 판정하고, 포맷 변환되었다고 판정한 경우, 상기 재인코드 구간의 선두 및 종료 위치에 대응하는 픽쳐의 픽쳐 타입을 나타내는 정보를 취득하고, 취득된 상기 픽쳐 타입을 나타내는 정보를 이용하여, 상기 어큐펀시에 관한 정보가 기재되어 있는 위치를 검출하는 정보 처리 장치.
  17. 제11항에 있어서,
    상기 어큐펀시에 관한 정보는, 소정의 기록 매체에, 상기 제1 압축 영상 데이터 및 상기 제2 압축 영상 데이터와 관련지어져 기록되어 있고,
    상기 제어 수단은, 상기 기록 매체로부터, 상기 어큐펀시에 관한 정보를 취득하는 정보 처리 장치.
  18. 제1항에 있어서,
    상기 재인코드 범위의 개시점 근방의 상기 제1 압축 영상 데이터, 및, 상기 제1 범위의 종료점 근방의 상기 제2 압축 영상 데이터의 부호량을 취득하는 취득 수단과,
    상기 취득 수단에 의해 취득된 상기 부호량에 기초하여, 상기 개시점 근방의 상기 제1 압축 영상 데이터를 재부호화 처리하였을 때에, 상기 개시점에서의 가상 버퍼의 점유량이 하한치로 되는 상태를 상정한 경우의 가상 버퍼 점유량의 제1 궤적을 해석함과 함께, 상기 종료점 근방의 상기 제2 압축 영상 데이터를 재부호화 처리하였을 때에, 상기 종료점의 다음 픽쳐에서의 가상 버퍼의 점유량이 상한치로 되는 상태를 상정한 경우의 가상 버퍼 점유량의 제2 궤적을 해석하는 해석 수단과,
    상기 해석 수단에 의해 해석된 상기 제1 궤적 및 상기 제2 궤적에 기초하여, 상기 제1 범위를 재인코드하였을 때의 상기 개시점의 가상 버퍼의 점유량의 상한치, 및, 상기 종료점에서의 가상 버퍼의 점유량의 하한치를 결정하는 결정 수단
    을 더 구비하는 정보 처리 장치.
  19. 제18항에 있어서,
    상기 결정 수단은, 상기 제1 궤적 중, 상기 재인코드 범위에 포함되지 않는 영역에서 가장 큰 언더플로우의 부호량분, 상기 제1 궤적을 상기 가상 버퍼의 점유량이 증가하는 방향으로 수정하여 구해지는 제3 궤적에서의 상기 개시점의 가상 버퍼의 점유량을, 상기 재인코드 범위를 재부호화 처리하였을 때의 상기 개시점의 가상 버퍼의 점유량의 상한치로 하는 정보 처리 장치.
  20. 제18항에 있어서,
    상기 결정 수단은, 상기 제2 궤적 중, 상기 재인코드 범위에 포함되지 않는 영역에서 가상 버퍼 점유량이 최대치로 되는 시간과 최고 비트 레이트의 적산치에 의해 구해지는 부호량분, 상기 제2 궤적을 상기 가상 버퍼의 점유량이 감소하는 방향으로 수정하여 구해지는 제3 궤적에서의 상기 종료점의 가상 버퍼의 점유량을, 상기 재인코드 범위를 재부호화 처리하였을 때의 상기 종료점의 가상 버퍼의 점유량의 하한치로 하는 정보 처리 장치.
  21. 제1 압축 영상 데이터와 제2 압축 영상 데이터를 접속하여 편집하는 처리를 실행하는 정보 처리 장치의 정보 처리 방법에 있어서,
    재부호화 처리 시의 발생 부호량에 기초하여, 기본으로 되는 인코드 구간으로부터 연장된 재인코드 구간을 설정하는 재인코드 구간 설정 스텝과,
    상기 제1 압축 영상 데이터에 설정된 제1 편집점을 포함하는 제1 디코드 구간을 복호 처리하여 제1 비압축 영상 신호를 생성함과 함께, 상기 제2 압축 영상 데이터에 설정된 제2 편집점을 포함하는 제2 디코드 구간을 복호 처리하여 제2 비압축 영상 신호를 생성하는 복호 스텝과,
    상기 제1 비압축 영상 신호 및 상기 제2 비압축 영상 신호가, 상기 제1 편집점 및 상기 제2 편집점에서 접속된 제3 비압축 영상 신호에서, 상기 재인코드 구간 설정 스텝의 처리에 의해 설정된 상기 재인코드 구간을 재부호화 처리하여 제3 압축 영상 데이터를 생성하는 재부호화 스텝과,
    상기 제1 압축 영상 데이터와 상기 제2 압축 영상 데이터 중, 재인코드를 하 지 않는 구간의 압축 영상 데이터와, 상기 재부호화 처리 스텝의 처리에 의해 재부호화되어 생성된 상기 제3 압축 영상 데이터를 절환하여 출력함으로써, 편집된 편집 압축 영상 데이터를 생성하는 편집 스텝
    을 포함하는 정보 처리 방법.
  22. 제1 압축 영상 데이터와 제2 압축 영상 데이터를 접속하여 편집하는 처리를 컴퓨터에 실행시키기 위한 프로그램으로서,
    재부호화 처리 시의 발생 부호량에 기초하여, 기본으로 되는 인코드 구간으로부터 연장된 재인코드 구간을 설정하는 재인코드 구간 설정 스텝과,
    상기 제1 압축 영상 데이터에 설정된 제1 편집점을 포함하는 제1 디코드 구간을 복호 처리하여 제1 비압축 영상 신호를 생성함과 함께, 상기 제2 압축 영상 데이터에 설정된 제2 편집점을 포함하는 제2 디코드 구간을 복호 처리하여 제2 비압축 영상 신호를 생성하는 복호 스텝과,
    상기 제1 비압축 영상 신호 및 상기 제2 비압축 영상 신호가, 상기 제1 편집점 및 상기 제2 편집점에서 접속된 제3 비압축 영상 신호에서, 상기 재인코드 구간 설정 스텝의 처리에 의해 설정된 상기 재인코드 구간을 재부호화 처리하여 제3 압축 영상 데이터를 생성하는 재부호화 스텝과,
    상기 제1 압축 영상 데이터와 상기 제2 압축 영상 데이터 중, 재인코드를 하지 않는 구간의 압축 영상 데이터와, 상기 재부호화 처리 스텝의 처리에 의해 재부호화되어 생성된 상기 제3 압축 영상 데이터를 절환하여 출력함으로써, 편집된 편 집 압축 영상 데이터를 생성하는 편집 스텝
    을 포함하는 프로그램.
  23. 제22항의 프로그램이 기록되어 있는 기록 매체.
  24. 제1 압축 영상 데이터와 제2 압축 영상 데이터를 접속하여 재부호화 처리하는 처리를 실행하는 정보 처리 장치에 있어서,
    상기 제1 압축 영상 데이터에 설정된 제1 편집점을 포함하는 제1 디코드 구간을 복호 처리하여 제1 비압축 영상 신호를 생성함과 함께, 상기 제2 압축 영상 데이터에 설정된 제2 편집점을 포함하는 제2 디코드 구간을 복호 처리하여 제2 비압축 영상 신호를 생성하는 복호 수단과,
    상기 제1 비압축 영상 신호 및 상기 제2 비압축 영상 신호가, 상기 제1 편집점 및 상기 제2 편집점에서 접속된 제3 비압축 영상 신호의 소정의 재인코드 구간을 재부호화 처리하여 제3 압축 영상 데이터를 생성하는 재부호화 수단과,
    상기 재부호화 수단에 의한 재부호화 처리 시의 발생 부호량에 기초하여, 기본으로 되는 인코드 구간으로부터 연장된 상기 재인코드 구간을 설정하여, 상기 재부호화 수단에 의한 재부호화 처리를 제어하는 제어 수단
    을 구비하는 정보 처리 장치.
  25. 제1 압축 영상 데이터와 제2 압축 영상 데이터를 접속하여 재부호화하는 처 리를 실행하는 정보 처리 장치의 정보 처리 방법에 있어서,
    재부호화 처리 시의 발생 부호량에 기초하여, 기본으로 되는 인코드 구간으로부터 연장된 재인코드 구간을 설정하는 재인코드 구간 설정 스텝과,
    상기 제1 압축 영상 데이터에 설정된 제1 편집점을 포함하는 제1 디코드 구간을 복호 처리하여 제1 비압축 영상 신호를 생성함과 함께, 상기 제2 압축 영상 데이터에 설정된 제2 편집점을 포함하는 제2 디코드 구간을 복호 처리하여 제2 비압축 영상 신호를 생성하는 복호 스텝과,
    상기 제1 비압축 영상 신호 및 상기 제2 비압축 영상 신호가, 상기 제1 편집점 및 상기 제2 편집점에서 접속된 제3 비압축 영상 신호에서, 상기 재인코드 구간 설정 스텝의 처리에 의해 설정된 상기 재인코드 구간을 재부호화 처리하여 제3 압축 영상 데이터를 생성하는 재부호화 스텝
    을 포함하는 정보 처리 방법.
  26. 제1 압축 영상 데이터와 제2 압축 영상 데이터를 접속하여 재부호화하는 처리를 컴퓨터에 실행시키기 위한 프로그램으로서,
    재부호화 처리 시의 발생 부호량에 기초하여, 기본으로 되는 인코드 구간으로부터 연장된 재인코드 구간을 설정하는 재인코드 구간 설정 스텝과,
    상기 제1 압축 영상 데이터에 설정된 제1 편집점을 포함하는 제1 디코드 구간을 복호 처리하여 제1 비압축 영상 신호를 생성함과 함께, 상기 제2 압축 영상 데이터에 설정된 제2 편집점을 포함하는 제2 디코드 구간을 복호 처리하여 제2 비 압축 영상 신호를 생성하는 복호 스텝과,
    상기 제1 비압축 영상 신호 및 상기 제2 비압축 영상 신호가, 상기 제1 편집점 및 상기 제2 편집점에서 접속된 제3 비압축 영상 신호에서, 상기 재인코드 구간 설정 스텝의 처리에 의해 설정된 상기 재인코드 구간을 재부호화 처리하여 제3 압축 영상 데이터를 생성하는 재부호화 스텝
    을 포함하는 프로그램.
  27. 제26항의 프로그램이 기록되어 있는 기록 매체.
KR20077004398A 2004-08-25 2005-08-22 정보 처리 장치 및 정보 처리 방법, 및 기록 매체 KR101194967B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JPJP-P-2004-00245378 2004-08-25
JPJP-P-2004-00245374 2004-08-25
JP2004245378 2004-08-25
JP2004245374 2004-08-25
PCT/JP2005/015204 WO2006022221A1 (ja) 2004-08-25 2005-08-22 情報処理装置および情報処理方法、記録媒体、並びに、プログラム

Publications (2)

Publication Number Publication Date
KR20070056077A true KR20070056077A (ko) 2007-05-31
KR101194967B1 KR101194967B1 (ko) 2012-10-25

Family

ID=35967433

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20077004398A KR101194967B1 (ko) 2004-08-25 2005-08-22 정보 처리 장치 및 정보 처리 방법, 및 기록 매체

Country Status (5)

Country Link
US (1) US8295347B2 (ko)
EP (1) EP1786212A4 (ko)
JP (1) JP4743119B2 (ko)
KR (1) KR101194967B1 (ko)
WO (1) WO2006022221A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4492484B2 (ja) 2005-08-22 2010-06-30 ソニー株式会社 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
JP4207072B2 (ja) 2006-04-07 2009-01-14 ソニー株式会社 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
JP4229149B2 (ja) * 2006-07-13 2009-02-25 ソニー株式会社 ビデオ信号処理装置およびビデオ信号処理方法、ビデオ信号符号化装置およびビデオ信号符号化方法、並びにプログラム
JP4221676B2 (ja) 2006-09-05 2009-02-12 ソニー株式会社 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
JP2008066851A (ja) * 2006-09-05 2008-03-21 Sony Corp 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
US8898563B2 (en) * 2007-04-13 2014-11-25 Gvbb Holdings S.A.R.L. Editing apparatus and an editing method
JP2009077105A (ja) 2007-09-20 2009-04-09 Sony Corp 編集装置および編集方法、プログラム、並びに記録媒体
KR101560182B1 (ko) * 2008-01-07 2015-10-15 삼성전자주식회사 다시점 비디오 부호화 방법과 그 장치 및 다시점 비디오 복호화 방법과 그 장치
KR100980195B1 (ko) * 2008-05-13 2010-09-03 에스케이 텔레콤주식회사 동영상 부호화 장치 및 방법
CN113659993B (zh) * 2021-08-17 2022-06-17 深圳市康立生物医疗有限公司 免疫批次数据处理方法、装置、终端及可读存储介质

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6466085A (en) 1987-09-03 1989-03-13 Oki Electric Ind Co Ltd Laser beam welding method
WO1997039588A1 (en) 1996-04-12 1997-10-23 Sony Corporation Image encoder, image encoding method and medium on which image encoding program is recorded
US6137834A (en) * 1996-05-29 2000-10-24 Sarnoff Corporation Method and apparatus for splicing compressed information streams
JPH1066085A (ja) 1996-08-14 1998-03-06 Sony Corp 画像処理装置および画像処理方法、並びに記録媒体
JPH1098713A (ja) 1996-09-20 1998-04-14 Sony Corp 映像信号切換装置
JP3755206B2 (ja) 1996-10-07 2006-03-15 ソニー株式会社 編集装置と編集方法
JP3312597B2 (ja) 1997-06-19 2002-08-12 日本ビクター株式会社 可変長符号化方法
GB2369518B (en) * 1997-07-18 2002-07-17 British Broadcasting Corp Switching compressed video bitstreams
EP0923243B1 (en) 1997-07-25 2010-09-15 Sony Corporation Editing device, editing method, splicing device, splicing method, encoding device, and encoding method
DE69805256T2 (de) * 1997-09-17 2002-08-29 Matsushita Electric Ind Co Ltd Videodatenschnittgerät und rechnerlesbares Aufzeichnungsmedium zur Speicherung eines Schnittprogramms
CN1148955C (zh) 1997-10-03 2004-05-05 索尼公司 编码数据流接合设备和方法及编码数据流生成设备和方法
US6301428B1 (en) * 1997-12-09 2001-10-09 Lsi Logic Corporation Compressed video editor with transition buffer matcher
US6414998B1 (en) 1998-01-27 2002-07-02 Sony Corporation Method and apparatus for inserting an image material
JPH11289541A (ja) 1998-02-06 1999-10-19 Sony Corp 動画像符号化方法、動画像符号化装置及び記録媒体
EP0935395A2 (en) 1998-02-06 1999-08-11 Sony Corporation Video encoding methods and apparatus
JPH11261958A (ja) * 1998-03-09 1999-09-24 Sony Corp 映像編集装置及び映像編集方法
JPH11341435A (ja) 1998-05-22 1999-12-10 Sony Corp 編集方法および編集装置
AU4944699A (en) * 1998-06-29 2000-01-17 Limt Technology Ab Method and apparatus for splicing data streams
US7046910B2 (en) * 1998-11-20 2006-05-16 General Instrument Corporation Methods and apparatus for transcoding progressive I-slice refreshed MPEG data streams to enable trick play mode features on a television appliance
GB9908809D0 (en) 1999-04-16 1999-06-09 Sony Uk Ltd Signal processor
JP4487374B2 (ja) 1999-06-01 2010-06-23 ソニー株式会社 符号化装置及び符号化方法並びに多重化装置及び多重化方法
GB2353653B (en) * 1999-08-26 2003-12-31 Sony Uk Ltd Signal processor
KR100634660B1 (ko) * 1999-09-13 2006-10-16 마츠시타 덴끼 산교 가부시키가이샤 부호화장치 및 부호화방법
US6587506B1 (en) * 1999-11-02 2003-07-01 Matsushita Electric Industrial Co., Ltd. Video editing apparatus, video editing method, and data storage medium for a video editing program
US6792047B1 (en) * 2000-01-04 2004-09-14 Emc Corporation Real time processing and streaming of spliced encoded MPEG video and associated audio
JP3840895B2 (ja) * 2000-11-22 2006-11-01 日本電気株式会社 動画像符号化データ変換装置及びその方法
US20020133486A1 (en) * 2001-03-15 2002-09-19 Kddi Corporation Video retrieval and browsing apparatus, video retrieval, browsing and editing apparatus, and recording medium
JP2003052040A (ja) 2001-05-30 2003-02-21 Victor Co Of Japan Ltd Mpegデータ再生装置

Also Published As

Publication number Publication date
US20080019444A1 (en) 2008-01-24
WO2006022221A1 (ja) 2006-03-02
EP1786212A1 (en) 2007-05-16
JPWO2006022221A1 (ja) 2008-05-08
JP4743119B2 (ja) 2011-08-10
EP1786212A4 (en) 2011-08-17
KR101194967B1 (ko) 2012-10-25
US8295347B2 (en) 2012-10-23

Similar Documents

Publication Publication Date Title
KR101194967B1 (ko) 정보 처리 장치 및 정보 처리 방법, 및 기록 매체
JP4045553B2 (ja) 編集装置、編集方法、再符号化装置、再符号化方法、スプライシング装置及びスプライシング方法
KR100968988B1 (ko) 화상 처리 장치 및 화상 처리 방법, 및 기록 매체
US8155458B2 (en) Image processing apparatus and image processing method, information processing apparatus and information processing method, information recording apparatus and information recording method, information reproducing apparatus and information reproducing method, recording medium and program
US8311104B2 (en) Information processing apparatus and method, recording medium, and program
JP4826533B2 (ja) 画像処理装置および画像処理方法、プログラム、並びに、記録媒体
JP2008258858A (ja) 動画像符号化装置
JP4148200B2 (ja) Mpeg画像データ記録装置及びmpeg画像データ記録方法
JP4192861B2 (ja) Mpeg画像データ記録装置及びmpeg画像データ記録方法
JP2006054530A (ja) Mpeg画像データ記録装置及びmpeg画像データ記録方法
JP2005328434A (ja) 符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体
JP2004289871A (ja) Mpegデータ再生方法

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee