KR100314329B1 - 일정비트율엔코더를이용하는멀티플렉서 - Google Patents

일정비트율엔코더를이용하는멀티플렉서 Download PDF

Info

Publication number
KR100314329B1
KR100314329B1 KR1019960705919A KR19960705919A KR100314329B1 KR 100314329 B1 KR100314329 B1 KR 100314329B1 KR 1019960705919 A KR1019960705919 A KR 1019960705919A KR 19960705919 A KR19960705919 A KR 19960705919A KR 100314329 B1 KR100314329 B1 KR 100314329B1
Authority
KR
South Korea
Prior art keywords
bit rate
signal
complexity
channel
data
Prior art date
Application number
KR1019960705919A
Other languages
English (en)
Other versions
KR970702663A (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 KR970702663A publication Critical patent/KR970702663A/ko
Application granted granted Critical
Publication of KR100314329B1 publication Critical patent/KR100314329B1/ko

Links

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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2365Multiplexing of several video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/12Systems in which the television signal is transmitted via one channel or a plurality of parallel channels, the bandwidth of each channel being less than the bandwidth of the television signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/16Time-division multiplex systems in which the time allocation to individual channels within a transmission cycle is variable, e.g. to accommodate varying complexity of signals, to vary number of channels transmitted
    • H04J3/1682Allocation of channels according to the instantaneous demands of the users, e.g. concentrated multiplexers, statistical multiplexers
    • H04J3/1688Allocation of channels according to the instantaneous demands of the users, e.g. concentrated multiplexers, statistical multiplexers the demands of the users being taken into account after redundancy removal, e.g. by predictive coding, by variable sampling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • 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/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2365Multiplexing of several video streams
    • H04N21/23655Statistical multiplexing, e.g. by controlling the encoder to alter its bitrate to optimize the bandwidth utilization
    • 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
    • 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

Abstract

멀티플렉서 시스템은 데이터 신호의 복수의 소스와, 복수의 입력 터미널(1-K)과 출력 터미널(15)을 가지는 멀티플렉서(20)를 포함한다. 각각의 복수의 채널 처리기(10)는 각각의 데이터 신호 소스에 결합된 데이터 입력 터미널(5), 데이터 입력 터미널에서 데이터 신호의 복잡성을 나타내는 신호를 생산하는 복자성 출력 터미널, 제어 입력 터민러과, 멀티플렉서(20)의 각각의 입력 터미널에 결합된 데이터 출력 터미널을 가진다. 상기 데이터 출력 터미널은 제어 입력 터미널에서 신호에 응답하여 일정 비트율로 코드화된 신호를 생산한다. 비트율 할당기(30)는 복수의 결합된 입력 및 출력 터미널 쌍을 가지며, 각각의 쌍은 각각의 상기 채널 처리기(10)에 결합된다. 각 쌍의 입력 터미널은 상기 결합된 채널 처리기(10)의 제어 입력 터미널에 결합되고 비트율 할당 신호를 발생시켜 상기 결합된 채널 처리기(10)의 데이터 출력 터미널에서 상기 신호의 비트율은 상기 쌍의 입력 터미널에서 상기 신호로 나타내는 복잡성과 모든 쌍의 입력 터미널에서 상기 신호로 나타내는 결합된 복잡성과 관련된다.

Description

[발명의 명칭]
일정 비트율 엔코더를 이용하는 멀티플렉서
[기술분야]
본 발명은 데이터의 멀티플렉스된 스트림내의 비트를 각각의 일정 비트율로 코드화된 데이터 채널에 동적으로 할당하기 위한 멀티플렉서 시스템에 관한 것이다.
데이터 전송 시스템에서 때때로 복수의 데이터 소스, 혹은 채널로부터 나은 데이터를 한 위치에서 다른 위치로 전송할 필요가 있다. 상기 경우, 상기 채널로부터 나온 데이터는 헤드 앤드(head end) 스테이션에서 단일 데이터 스트림으로 결합되거나, 혹은 멀티플렉스된다. 상기 멀티플렉스된 데이터 스트림은 그 다음에 와이어, 광섬유, 혹은 무선 링크와 같은, 전송 링크를 통하여 백 앤드(back end) 스테이션으로 전송되고, 여기서 상기 멀티플렉스된 데이터 스트림으로부터 나온 데이터 채널은 분리되거나 혹은 디멀티플렉스되어 의도하는 수용자에게 공급된다.
예를 들면, 텔레비젼 네트워크 피드, 텔레비젼 스테이션 또는 다른 비디오 소스일 수 있는 각각의 소스로부터 나온 복수의 비디오 신호는 소비자의 가정의 텔레비젼 수상기에 각각 방속되도록 위성 링크를 통하여 전송될 수 있다. 예시적 위성 링크는 초당 24 메가비트(Mbps)를 전송할 수 있는 디지털 전송 경로를 포함한다. 상기 링크의 효과와 이용을 최대화하기 위하여, 몇몇 비디오 신호는 상기 링크를 공유할 수도 있다. 예를 들면, 적어도 6개의 비디오 신호 채널 사이에 상기 위성 전송 링크를 공유할 수도 있다.
상기 채널의 전송을 위한 한가지 공지된 방법은 상기 채널로부터 각각의 비디오 신호를 코드화하는 가변 비트율(VBR) 엔코더를 이용하여, 결국 코드화된 비디오 신호를 멀티플렉스하는 것이다. VBR 엔코더는 상기 비디오 신호로 표시되는 영상의 시공간적인 복잡성에 따라서, 상이한 수의 비트를 가지는 디지털 방식으로 코드화된 비디오의 연속적인 프레임을 생산한다. 공간적으로 더욱 복잡한 영상 혹은 동영상은 모션이 거의 없는 공간적으로 단순한 영상보다 코드화하는데 더 많은 비트를 요구한다.
통계학적으로, 어떤 주어진 시간에 단일 채널 엔코더가 전송을 위한 버스트에 다수의 비트를 제공한다 하더라도, 모든 VBR 엔코더로부터의 평균적인 결합 비트율은 전송 링크의 최대 비트율보다 작다고 가정한다. 상기 이유 때문에, 상기 자어치는 통계적인 멀티플렉서라 한다. 그러나, 모든 채널로부터 순간적인 결합 비트율이 상기 전송 링크의 최대 비트율을 초과하여, 결국 백 엔드 스테이션에서 데이터 손실이 발생할 한정된 가능성이 있다. 몇몇 실시예에서, 각각의 채널 혹은 멀티플렉스된 데이터 스트림에 비퍼가 더해진다. 그러나. 상기 버퍼가 범람하여 결국 백 엔드 스테이션에서 데이터의 손실이 다시 발생할 유한한 가능성이 여전히 존재한다.
상기 VBR 엔코더의 몇몇 문제점을 해결하기 위하여, 멀티플렉싱 기능을 수행하기 위한 다른 공지된 방법은 각각의 채널을 위한 일정 비트율(CBR) 엔코더를 이용하는 것이다. 상기 시스템에서, 각각의 채널로부터 나온 비디오 신호는 CBR 엔코더로 공급된다. CBR 엔코더는 선결된 일정 비트율로 그것에 공급된 비디오 신호를 나타내는 코도와 비트 스트림을 디지털 방식으로 생산한다. 일정 비트율 신호를 생산하기 위하여, CBR 엔코더는 계속해서 상기 비디오 신호가 코드화되는 양지화 레벨의 수를 변경한다. 더 적은 양자화 레벨을 이용하면 상기 레벨을 나타내기 위하여 더 적은 비트가 요구되고, 상기 비디오 신호를 나타내는데 요구된 비트의 전체 수는 감소된다. 역으로 더 많은 양자화 레벨을 이용하면 상기 레벨을 나타내기 위하여 더 많은 비트가 요구되고, 상기 영상을 나타내는데 요구된 비트의 전체 수는 증가된다.
적절한 수의 양자화 레벨은 현재 코드화될 프레임의 복잡성에 의존한다. CBR 엔코더는 선결된 비트율을 생산하기 위하여 양자화 레벨의 증가된 수를 사용하여 낮은 시공간적 복잡성을 가지는 영상을 코드화한다. 역으로, 할당된 비트 수로 더 높은 시공간적으로 복잡성을 가지는 영상을 코드화하기 위하여, 상기 양자화 레벨의 수는 감소된다.
그러나, 영상을 나타내는 코드화 신호에서 양자화 레벨을 변화시키면, 상기 코드화 신호로부터 재생된 영상의 화질에 대응하는 변화가 초래된다. 더 적은 양자화 레벨을 이용하면, 결국 더 많은 양자화 레벨을 이용할 때보다 더 낮은 화질의 재생 영상이 초래된다. 따라서, CBR 엔코더에서, 시공간적으로 더 복잡한 영상을 나타내는 비디오 신호는 재생된 영상의 화질이 덜 복잡한 영상의 화질보다 더 낮은 방식으로 코드화된다.
그러나, CBR 엔코더는 일정 비트율을 생산하기 때문에, 복수의 상기 엔코더로부터 나온 비디오 신호의 멀티플렉싱은 단순하게 제어된다. 각각의 엔코더에는 상기 전송 링크의 총 이용가능한 비트율의 할당(quota)을 나타내는 비트율이 선험적으로(a priori) 할당된다. 한가지 공지된 할당 방법은 전송 링크의 총 비트율이 같은 부분을 각각의 엔코더에 할당된다. 그러나, 상이한 프로그램 형태를 나타내는 비디오 신호는 원래 상이한 복잡성을 가진다. 예를 들면, 농구 경기를 전송하는 비디오 채널은 연구 토론을 전송하는 비디오 채널보다 훨씬 더 높은 복잡성을 가진다. 따라서, 농구 경기를 나타내는 코드화된 비디오 신호로부터 재생된 영상의 화질은 연구 토론의 화질보다 더 낮을 것이다(아마 실질적으로 더 낮을 것이다)_.
상기 문제를 해결하기 위한, 다른 공지된 할당 방법은, 코드화되는 신호의 예기된 영상 복잡성에 기초된 각각의 CBR 엔코더에 상이한 비트율을 할당한다. 따라서, 전송 링크의 총 비트율중 더 큰 비율이 연구 토론을 전송하는 채널보다 농구 경기를 전송하는 채널에 할당된다. 상기 할당 방법 때문에 결국 농구 경기와 연구토론 모두를 나타내는 상기 코드화된 신호로부터 재생된 영상의 화질이 거의 같아진다.
또 다른 공지된 할당 방법은 상기 전송 링크의 총 비트율의 상기 신호 공급자에 의한 지불에 기초하여 채널에 할당한다. 공급자가 상기 채널의 전송을 위하여 더 많이 지불할수록, 전송 링크의 총 비트율의 더 큰 비율이 상기 채널에 할당되고, 상기 채널을 통하여 코드화된 신호로부터 더 나은 화질의 영상이 재생된다.
[발명의 요약]
그러나, 본 발명가는 비디오 신호의 복잡성이 항상 선험적으로 규정될 수는 없음을 알았다. 예를 들면, 뉴스 방송은 아주 높은 복잡성 장면(예를 들면 농구 경기의 비디오 클립)이 산재된 아주 낮은 복잡성 장면(예를 들면, 책상 뒤에 앉아있는 뉴스 아나운서)을 포함한다. 만약 상기 비디오 채널에 전송 링크의 총 비트율의 높은 비율이 선험적으로 할당된다면, 상기 농구 경기 장면은 적절한 화질로 재생되지만, 뉴스 아나운서 장면은 지나치게 고화질로 코드화 되거나 혹은 바꾸어 말하면, 필요이상의 비트로 코드화될 것이다. 반면에 만약 전송 링크의 총 비트율의 더 낮은 비율이 상기 비디오 채널에 할당되면, 상기 뉴스 아나운서 장면은 적절한 수의 비트를 이용하여 만족할만한 화질로 재생되지만, 상기 할당된 비트율은 만족할만한 화질을 가지고 상기 농구 경기 장면을 재생하기에 충분하지 않을 것이다.
본 발명가는 평균적으로, 각각의 비디오 소스가 상기 뉴스 방송과 같은 방식으로 특징지워질 수 있음을 알 수 있었다. 즉, 상업적으로 흥미있는 대부분의 모든 비디오 신호는 낮은 복잡성 장면이 산재된 높은 복잡성 장면을 포함한다. 본 발명가는 또는 복잡성이 다른 장면이 시간적으로 상호관련되지 않음을 알 수 있었다. 또한, 어떤 주어진 프레임 주기내에서 상이한 채널의 영상은 상이한 복잡성을 가지고, 상기 복잡성 변화는 또한 시간적으로 상호 관련되지는 않음을 알았다.
비트율은 상기 채널의 현재의 영상 복잡성이 기초하여 상이한 채널에 동적으로 할당되는 것이 바람직한 것으로 나타났다. 모든 채널에 대하여 현재 전송될 영상의 복잡성이 평가되고, 전체적인 채널의 복잡성가 채널의 현 영상의 복잡성과의 관계에 어느 정도 대응하는 상기 전송 링크의 총 비트율의 각각의 채널에 할당한다.
본 발명의 원리에 따라서, 멀티플렉서 시스템은 복수의 데이터 신호 소스와, 복수의 입력 터미널과 출력 터미널을 가진 멀티플렉서를 포함한다. 복수의 채널 처리중 각각의 처리기는 각각의 데이터 소스에 결합된 데이터 입력 터미널과, 데이터 입력 터미널에서 데이터 신호의 복잡성을 나타내는 신호를 생산하는 복잡성 출력 터미널과, 제어 입력 터미널과, 상기멀티플렉서의 각각의 입력 터미널에 결합된 데이터 출력 터미널을 가진다. 상기 데이터 출력 터미널은 상기 제어 입력 터미널에서의 상기 신호에 응답하여 일정 비트율 세트로 코드화된 신호를 생산한다. 비트율 할당기는 복수의 결합된 입력 및 출력 터미널 쌍을 가지며, 각각의 쌍은 각각의 채널 처리기와 결합된다. 각 쌍의 입력 터미널은 상기 결합된 채널 처리기의 복잡성 출력 터미널에 결합된다. 각 쌍의 출력 터미널은 상기 결합된 채널 처리기의 제어 입력 터미널에 결합되고, 비트율 할당 신호를 발생시켜, 상기 결합된 채널 처리기의 데이터 출력 터미널에서 상기신호의 비트율은 상기 쌍의 입력 터미널에서 상기 신호로 나타낸 복잡성 및 모든 상기 쌍의 입력 터미널에서 상기 신호로 나타낸 결합된 복잡성과 관련된다.
상기 방식으로 동작된 멀티 시스템은 다양한 채널로 비트를 할당하고, 따라서, 어떠한 시간 주기동안에도, 모든 채널의 재생된 영상의 화질은 거의 같은 화질을 가진다. 또한 상기 시스템은 전체적인 재생된 상의 화질을 최적화한다, 시간 주기 동안 높은 복잡성 영상을 전송하는 채널은 상기 시간 주기 동안 더 높은 비트율을 동적으로 할당받지만, 상기 영상의 복잡성이 더 낮아질 때, 상기 채널에 할당된 비트율은 감소되고, 더 높은 복잡성 영상을 전송하는 다른 채널에 할당될 것이다.
[도면의 간단한 설명]
제1도는 본 발명에 따른 멀티플렉서 시스템의 블록 다이어그램.
제2도는 제1도에 도시된 멀티플렉서 시스템에 사용될 수 있는 채널처리기의 블록 다이어그램.
제3도는 제2도에 도시된 채널 처리기에 사용될 수 있는 MPEG 엔코드의 부분적인 블록 다이어그램.
제4도는 제1도에 도시된 멀티플렉서 시스템에 사용될 수 있는 비트율 할당기의 블록 다이어그램.
제5도는 제2도에 도시된 채널 처리기에 사용될 수 있는 복잡성 분석기의 보다 더 상세한 블록 다이어그램.
제6도, 제7도 및 제8도는 복잡성 정보의 샘플링을 도시하는 타이밍 다이어그램.
[실시예]
도 1은 본 발명을 구현한 멀티플렉서의 블록 다이어그램이다. 도 1에서, 모든 신호 경로는 단일 신호선으로 도시된다. 그러나, 본 기술에 숙련된 사람은 상기 도시된 신호 경로가 멀티비트 디지털 신호를, 상기 신호 경로가 복수의 신호 선을 포함하는 병렬로, 혹은 상기 신호 경로가 단일 데이터 선일수 있거나 데이터와 클럭 신호선을 포함하는 직렬로, 전송할 수 있음을 이해할 것이다. 다른 제어 및 클럭 신호 경로는 본 발명의 이해에 밀접한 관련은 없기 때문에, 도면을 단순화하기 위하여 상기 도면에서 생략했다.
도 1에서, 복수의 입력 터미널(5)은 데이터 링크를 통하여 함께 전송되는 비디오 신호(채널 1 내지 채널 K)의 소스(도시되지 않음)에 결합된다. 복수의 입력 터미널(5)은 대응하는 복수의 채널 처리기(10)의 각각의 데이터 입력 터미널에 결합된다. 상기 복수의 채널 처리기(10)의 각각의 데이터 출력 터미널은 멀티플렉스(MUX)(20)의 대응하는 데이터 입력 터미널(1-K)에 결합된다. 멀티플렉스(20)의 데이터 출력 터미널은 상기 멀티 플렉서 시스템의 출력 터미널(15)에 결합된다. 출력 터미널(15)은 전송 링크를 통하여 상기 다중화 데이터 스트림(MUX'ED DATA)를 전송하기 위하여 이용 회로(도시되지 않음)에 결합된다.
복수의 채널 처리기(10)는 또한 각각 복잡성 출력 터미널과 제어입력 터미널을 포함한다. 각각의 상기 복수의 채널 처리기의 복잡성 출력터미널은 각각 비트율 할당기(30)의 대응하는 복잡성 입력 터미널에 결합되고, 상기 비트율 할당기(30)의 할당 출력 터미널은 각각 상기 복수의 채널 처리기(10)의 대응하는 제어 입력 터미널에 결합된다.
동작하는 동안, 각각의 채널 처리기는 다음 할당 주기 동안 할당된 비트율을 나타내는 제어 입력 터미널에서 신호를 수신한다. 그 다음에 상기 채널 처리기는 데이터 입력 터미널에서 다음 할당 주기 동안 할당된 비트율로 상기 신호를 디지털 방식으로 코드화된 신호로 코드화한다. 상기 코드화된 데이터 신호를 멀티플렉스(20)의 대응 입력 터미널에 공급된다. 멀티플레스(20)는 상기 신호를 모든 채널 처리기로부터 다중화 데이터 스트림에 결합하는 공지된 방식으로 동작한다. 그 다음에 상기 다중화 데이터 스트림은 또한 공지된 방식으로, 전송을 위하여 상기 데이터 링크를 포함하는 회로에 공급된다.
상기 코드화 처리 과정 동안, 상기 채널 처리기(10)는 코드화될 상기 상호의 코딩 복잡성을 나타내는 신호를 복잡성 출력 터미널에서 발생한다. 비트율 할당기(30)는 상기 채널 처리기(10)의 복잡성 출력 터미널로부터 상기 신호를 수신하고, 모든 상기 복잡성 신호에 기초하여 다음할당 주기동안 복수의 채널 처리기(10) 사이에서 상기 비트율 할당을 동적으로 조정한다. 양호한 실시예에서, 더 복잡한 신호를 덜 복잡한 신호보다 비교적 더 높은 비트률로 할당된다. 상기 비디오 신호의 복잡성을 결정하고 상기 복잡성에 기초된 비트율을 할당하기 위한 여러 가지 방법들이 하기에 기술한다.
도 2는 도 1에 도시된 멀티 플렉서 시스템에 사용될 수 있는 채널 처리기의 블록 다이어그램이다. 도 2에서, 도 1의 엘리먼트와 유사한 엘리먼트는 동일한 참조 번호로 표시되고, 하기에 상세히 상술되지 않는다. 도 2에서 데이터 입력 터미널(5)은 비디오 신호 소스(도시되지 않음)에 결합된다. 데이터 입력 터미널(5)은 일정 비트율 엔코더(CBR)(14)의 데이터 입력 터미널고, 복잡성 분석기(16)에 결합된다. 상기 CBR 엔코더(14)의 데이터 출력 터미널은 (도 1의) 멀티플렉서(MUX)(20)의 입력 터미널에 결합된다. 상기 채널 처리기(10)의 제어 입력 터미널(CONTROL)은 상기 CBR 엔코더(10)의 할당 입력 터미널(Q)에 결합된다. 상기 복잡성 분석기(16)의 출력 터미널은 상기 채널 처리기(10)의 복잡성 출력 터미널 (COMPLEXITY)에 결합된다.
동작중에, 상기 복잡성 분석기(16)는 데이터 입력 터미널(5)에서 비디오 신호의 복잡성을 분석한다. 상기 입력 신호의 복잡성을 나타내는 신호가 상기 복잡성 분석기(16)의 출력 터미널에서 생성된다. 상기 복잡성 대표 신호는(도 1의) 상기 비트율 할당기(30)에 공급된다. 상기 복잡성 신호(또한 다른 채널 처리기(10)의 복잡성 신호)에 응답하여, 비트율 할당기(30)는 상기 채널 처리기(10)에 할당된 비트율을 대표하여 상기 채널 처리기(10)(와 상기 다른 채널 처리기(10))의 제어입력 터미널(CONTROL)에 신호를 공급한다. 상기 CBR 엔코더(14)는 일정 비트율로 코드화된 출력 신호를 생성하기 위하여 데이터 입력과 데이터 출력 터미널 사이에 데이터 경로를 제공한다. 상기 일정 비트율은 상기 비트율 할당기(30)로부터 나와서 다시 상기 채널 처리기(10)의 제어 입력 터미널(CONTROL)로부터 나온 상기 할당입력 터미널(Q)에서 상기 상호 신호에 응답하여 설정된다.
상기 CBR 엔코더(14)내의 회로는 또한 복잡상 분석을 수행하는데 있어서 복잡성 분석기(16)에 이용될 수 있다. 이런 경우, 데이터는 도 2에서 점선으로 도시한 것과 같이, 상기 CBR 엔코더(14)로부터 직접 상기 복잡성 분석기(16)로 공급된다. 상기 CBR 엔코더(14)로부터 나온 데이터는 상기 입력 터미널(5)로부터 데이터를 보충하거나, 혹은 그것을 전체적으로 대체하며, 이경우 상기 복잡성 분석기와 상기 데이터 입력 터미널(5)의 직접적인 접속은 없다.
양호한 실시예에서는, 각각의 CBR 엔코더(14)는 MPEG 엔코더라 불리는 동화상 전문가 그룹(MPEG)에 의해 보급된 표준에 따라서 비디오 신호를 압축하고 코드화하는 엔코더이다. 도 3은 MPEG 엔코더(14)의 일부를 도시한 블록 다이어그램이다. 상기 MPEG 엔코더(14)의 공지된 구성요소는 하기에 상세히 기술하지 않을 것이다. MPEG 엔코더는 본 발명을 이해하는데 밀접한 관련이 없는 다른 엘리먼트를 포함하며, 상기 엘리먼트는 도면을 간단히 하기 위하여 도면에서 생략하였다.
도 3에서, MPEG 엔코더(14)의 데이터 입력 터미널(5)(데이터 입력)은 압축되고 코드화된 비디오 신호의 소스(도시되지 않음)에 결합된다. 입력 터미널(5)은 프레임 버퍼(41)의 입력 터미널에 결합된다. 프레임 버퍼(41)는 복수의 프레임 주기 버퍼 혹은 지연 라인 및 상이하지만 시간적으로 가까운 프레임 혹은 픽처의 일부를 나타내는 각각의 신호를 생성하는 복수의 출력 터미널을 포함한다. 상기 프레임 버퍼(41)의 복수의 출력 터미널은 모션 추정기(motion estimator)(42)의 대응하는 입력 터미널에 결합된다. 상기 모션 추정기의 출력 터미널은 이산 코사인 변환(DCT) 회로(43)에 결합된다. DCT 회로(43)의 출력 터미널은 가변 양자화기 회로(46)의 데이터 입력 터미널에 결합된다. 가변 양자화기 회로(46)의 출력 터미널은 가변 길이 코어(VLC)(47)의 입력 터미널에 결합된다. VLC(47)의 출력 터미널은 출력 버퍼(48)의 입력 터미널에 결합된다. 출력 버퍼(48)의 데이터 출력 터미널은 MPEG 엔코더(14)의 데이터 출력 터미널(데이터 출력)에 결합된다. MPEG 엔코더(14)의 데이터 출력 터미널(데이터 출력)은 (도 1의) 멀티플렉서(20)의 대응하는 입력 터미널에 결합된다.
출력 버퍼(48)의 상태 출력 터미널은 비트율 조절기(49)의 상태 입력 터미널에 결합된다. 비트율 조절기(49)의 제어 출력 터미널은 가변 양자화기(46)의 제어 입력 터미널에 결합된다. MPEG 엔코더(14)의 할당 입력 터미널(Q)은 비트율 할당기(30)의 대응 할당 출력 터미널에 결합된다. 상기 MPEG 엔코더(14)의 상기 할당 입력 터미널은 조절기(49)의 제어 입력 터미널에 결합된다.
동작중에, MPEG 엔코더(14)는 Q 입력 터미널에서 상기 신호에 의해 결정된 비트율로 다음 할당 주기동안 입력 터미널에서 상기 비디오 신호를 압축하고 코드화하는 공지된 방식으로 동작한다. 다음의 예에서, 열 두개의 픽처 혹은 프레임으로 이루어진 그룹(GOPs)으로 분할된 비디오 신호를 코드화하는 MPEG 엔코더가 기술된다. 그러나, GOP에서 픽처 혹은 프레임의 수는 변할 수 있음을 주지한다. 또한 다음의 예에서, 각각의 MPEG 엔코더에 대한 비트율 할당은 일단 각각의 GOP로 갱신된다고 가정한다. 즉, 상기 할당 주기는 상기 GOP 주기로 가정한다. 그러나, 또한 상기 할당 주기는 다를 수 있고, 시간에 대하여 변할 수 있음을 주지한다.
프레임 버퍼(41)는 하기에 기술되는 방식으로, 모션 평가를 수행하는데 필요한 현재 코드화될 상기 실시예의 GOP에 열 두개의 프레임의 일부를 나타내는 데이터를 수신하고 저장한다. 상기 데이터는 모션 추정기(42)에 공급된다. 양호한 실시예이서, 상기 열 두개의 프레임 혹은 픽처중 제 1 프레임은 참조 프레임(1 프레임)으로 사용되고, 상기 모션 추정기를 통하여 DCT 회로(43)로 전송된다. 상기 프레임의 나머지를 위하여, 모션 베터가 선행 프레임 단독(P 프레임)으로부터 나오거나 혹은 선행 및 후속 프레임 모두(B 프레임)로부터 삽입된, MPEG 표준 기록에서 매크로 블록이라 불리는, 각각의 픽처 혹은 프레임에서 복수의 16 픽셀 16 라인 블록중 각각의 한 픽셀에 대하여 모션 추정기(42)에서 발생된다. 상기 상술한 바와 같이, 프레임 버퍼(41)는 상기 모션 추정기가 선행 프레임으로부터 평가에 필요한 데이터를 수용하거나 혹은 선행 및 후속 프레임으로부터 삽입되는 데이터를 수용한다. 특정 프레임을 위하여 발생된 모션 백터는 그 다음에 평가된 프레임에서 실제 데이터와 비교되고 모션 차이 신호가 발생되어, DCT 회로(43)에 공급된다.
상기 DCT 회로(43)에서, I 프레임으로부터 나온 공간 데이터의 16픽셀×16라인 메크로블록과 상기 P 프레임과 B 프레임으로부터 나온 모션 차이 신호는 상기 MPEG 표준 기록에 따라서, 본 출원의 나머지에서 마이크로블록이라 불리는 6 개의 8픽셀×8라인 블록(4개의 휘도 블록과, 두개의 부표본 색차 블록)으로 나누어진다. 이산 코사인 변환은 각각의 마이크로블록에서 수행된다. 발생된 DCT 계수의 8픽셀×8라인 블록은 가변 양자화기(46)로 공급된다. 상기 8픽셀×8라인 블록의 계수는 양자화되고, 지그재그 순서로 주사되어 VLC(47)에 공급된다. 상기 양자화된 DCT 계수와, 상기 GOP를 나타내는(상기 코드화된 GOP의 변수와 관련된) 다른측의 정보는 상기 VLC(47)에서 런-길이를 이용하여 코드화되고, 출력 버퍼(48)에 공급된다.
VLC(47)의 출력 비트율을 제어하고, 따라서 상기 MPEG 엔코더(14)를 위하여 할당된 일정 비트율을 유지하는 가장 직접적인 방법은 상기 가변 양자화기(46)에서 DCT 계수의 각 블록을 양자화하기 위해 사용되는 양자화 레벨의 수를 제어하는 것(혹은 다른 방법으로 양자화 스텝 사이즈를 두는 것)이다. 상기 비트율 조절기(49)로부터 가변 양자화기(46)에 공급된 상기 제어 신호(Q)는 상기 제어 기능을 수행한다. 할당 주기 내에서 상기 주기는(도 1)비트율 할당기(30)로부터 나온 연속적인 비트율 할당 갱신 신호 사이의 주기이고, 상기 비트율 할당기(49)는 공지된 방법으로, 제어 신호를 상기 GOP 내의 각각 16 픽셀 16 라인 매크로블록이 상기 할당 주기 동안 할당된 비트율을 유지하기 위하여 양자화되는 레벨의 수를 변화시키는 상기 가변 양자화기(46)에 공급한다. 본 실시예에서 상기 비트율 조절기(49)를 위한 상기 비트율 할당은 하기에서 상술하는 방식으로, 각각의 복수의 채널에서 상기 비디오 신호의 코딩 복잡성 값에 응답하여 각각의 GOP 주기동안 변한다.
양호한 실시예에서, (도 1의)비트율 할당기(30)는 복수의 채널 처리기(10)에서 다양한 회로 구성요소에 결합된 접속부를 가지는 컴퓨터 시스템이다. 도 4는 비트율 할당기(30)를 형성하는 하드웨어의 블록 다이어그램이다. 도 4에서, 마이크로프로세서(μP)(31)는 컴퓨터 시스템 버스(35)를 통하여 판독/기록 메모리(RAM)(32), 판독 전용 메모리(ROM)(33)과, 입력/출력(I/O) 제어기(34)에 결합된다. 대용량 저장 장치와 사용자 터미널과 같은 상기 컴퓨터의 다른 구성요소가 있는데, 이것은 도면을 간단히 하기 위하여 도시하지 않았다. 상기 I/O 제어기(34)는 (도 1의)복수의 채널 처리기의 대응하는 복잡성 출력 터미널에 결합된 복수의 입력 터미널(COMPLEXITY)과 복수의 채널 처리기(10)의 대응하는 할당 입력 터미널에 결합된 복수의 출력 터미널(QUOTA)을 가진다.
상기 마이크로프로세서(31), RAM(32), ROM(33)과 I/O 제어기(34)는 상기 ROM(33)에 저장된 프로그램을 실행하는 공지된 방식으로 컴퓨터 시스템과 같이 동작하고, 상기 RAM(32)에 데이터를 저장하고 검색하며 상기 I/O 제어기(34)에 부착된 상기 장치로부터 데이터를 수신하고 상기 장치로 데이터를 전송한다. (도 1의) 복수의 채널 처리기(10)에서 코드화된 상기 비디오 신호의 현 코딩 복잡성을 나타내는 데이터는 하기에서 기술하는 방식으로 상기 I/O 제어기(34)에서 상기 COMPLEXITY 입력 터미널을 통하여 상기 채널 처리기의 대응하는 출력 터미널로부터 수신된다. 상기 마이크로프로세서(31)는 예를 들면 폴링, 인터럽트 등과 같은 공지된 방식으로 상기 데이터의 수신을 통보받는다. 상기 마이크로프로세서(31)는 상기 컴퓨터 시스템 버스(35)를 통하여 I/O 제어기(34)로부터 상기 신호를 검색하고, 각각의 엔코더의 그다음 할당 주기동안 비트의 할당을 결정하고, 상기 할당을 나타내는 신호를 다음 할당 주기에서 상기 QUOTA 출력 터미널을 통하여 복수의 채널 처리기(10)에 공급한다.
(도 3의) MPEG 엔코더(14)에 의해 코드화도리 비디오 신호의 코딩 복잡성을 결저어하기 위한 양호한 방법은 각각의 16×16 매크로블록에 대하여 양자화 스케일 요소(QMB로 표시됨)를 이용하고 상기 GOP의 각각의 픽처 혹은 프레임내의 모든 매크로블록에 대하여 상기 16×16 매크로블록을 코드화하는데 사용된 비트의 수(TMB로 표시됨)를 이용하는 것이다. 도 5는 (도 3의) MPEG 엔코드(14)의 비트율 조절기(49)와 상기 방법에 따른 코딩 복잡성 대표 신호를 발생하는 (도 2의) 복잡성 분석기(16)의 블록 다이어그램이다. 다양한 클록과 제어 신호는 도면을 단순하게 하기 위하여 도 5에서 생략되었다. 그러나, 요구되는 신호와, 상기 신호의 필요한 타이밍과 전압 특성은 쉽게 이해된다.
도 5에 도시된 복잡성 분석기(16)는 도 2에서 점선으로 도시된 것과 같이, 단지 CBR 엔코더(14)로부터 정보를 이용하는 복잡성 분석기의 예이다. 도 5에서, 비트율 조절기(49)는 (도 3의)출력 버퍼(48)의 상태 출력 터미널에 결합된 상태 입력 터미널(TMB)을 가진다. 비트율 조절기(49)의 제어 출력 터미널(QMB)은 (도 3의) 가변 양자화기(46)의제어 입력 터미널에 결합된다. 조절기(49)는 또한 (도 1의) 비트율 할당기(30)의 대응하는 할당 출력 터미널에 결합된 제어 입력 터미널(Q)을 가진다.
상기 비트율 조절기(49)의 상태 입력 터미널(TMB)은 또한 제 1 가산기(92)의 제 1 입력 터미널에 결합된다. 상기 제 1 가산기(92)의 출력 터미널은 제 1 래치(93)의 입력 터미널에 결합된다. 상기 제 1 래치(93)의 출력 터미널은 승산기(94)의 제 1 입력 터미널과 상기 제 1 가산기(92)의 제 2 입력 터미널에 결합된다. 상기 승산기(94)의 출력 터미널은 제 2 래치(95)의 입력 터미널에 결합된다. 상기 제 2 래치(95)의 출력 터미널은 코딩 복잡성 출력 터미널(XPIC)에 결합된다. 복잡성 출력 터미널(XPIC)은 (도 1의) 비트율 할당기(30)의 대응하는 복잡성 입력 터미널에 결합된다.
비트율 조절기(49)의 제어 출력 터미널(QMB)은 또한 제 2 가산기(96)의 제 1 입력 터미널에 결합된다. 상기 제 2 가산기(96)의 출력 터미널은 제 3 래치(97)의 입력 터미널에 결합된다. 상기 제 3 래치(97)의 출력 터미널은 분할기(98)의 분자입력 터미널(N)에 결합되고 상기 제 2 가산기(96)의 제 2 입력 터미널에 결합된다. 분할기(98)의 출력 터미널은 상기 승산기(94)의 제 2 입력 터미널에 결합된다. 레지스터(99)는 상기 분할기(98)의 분모 입력 터미널(D)에 결합된다.
동작중에, 각각의 매크로블록에 대하여, 비트율 조절기(49)는 공지된 방식으로, 현재의 비트율 할당과 선행 픽처를 코드화하는데 사용된 비트수에 기초된 가변 양자화기(46)를 위한 양자화 스케일 요소 신호(QMB)를 발생하고, 그 다음에 상기 매크로 블록을 코드화하는데 사용된 비트(TMB)의 수를 나타내는 상기 출력 버퍼(48)로부터 신호를 수신한다. (도 3의) 상기 가변 양자화기(46)는 상기 양자화 스케일 요소(QMB)에 따른 각각의 매크로 블록에 상기 DCT 계수를 양자화한다. 상기 양자화 스케일 요소(QMB)는 상기 양자화 스텝 크기, 혹은 각각의 양자화 레벨에서 상기 DCT계수의 전체적인 동적 범위의 백분율을 나타낸다. QMB에 대한 높은 값은 양자화 스텝 크기가 더 크고, 결국 양자화 레벨이 더 적다는 것을 의미한다. 역으로, QMB에 대한 낮은 값은 양자화 스텝 크기가 더 작고, 결국 양자화 레벨이 더 많다는 것을 의미한다. 양호한 실시예에서, QMB는 (1과 31 사이의 값을 가지는) 5 비트 정수이다.
(Qpic로 나타낸) 완전한 픽처 혹은 프레임내의 모든 매크로블록에 대한 평균적인 양자화 스케일 요소는 다음과 같이 계산된다. 각각의 프레임 혹은 픽처의 시작에서, 래치(93과 97)는 소거 신호(도시되지 않음)에 응답하여 0으로 소거된다. 상기 제 2 가산기(96)와 상기 제 3 래치(97)의 결합은 상기 비트율 조절기(49)로부터 매크로블록 양자화 크기 요소(QMB)를 계속적으로 합산하는 누산기로 동작한다. 동시에, 상기 제 1 가산기(92)와 상기 제 1 래치(93)의 결합은 상기 프레임 혹은 픽처를 코드화하는데 사용되는 비트의 수를 계속적으로 합산하는 누산기로 동작한다.
프레임 혹은 픽처(NBM로 표시된 번호)에서 모든 매크로블록이 처리된 후, 매치(97)는 비트율 조절기(49)에 의해 생성된 스케일 요소(QMB)를 양자화하는 모든 매크로블록의 합을 포함하고, 래치(93)는 상기 픽처 혹은 프레임(Tpic)을 코드화하는데 사용된 모든 비트의 합을 포함한다. 상기 분할기(98)는 상기 픽처 혹은 프레임에서 스케일 요소(QMB)를 양자화하는 모든 매크로블록의 합의 몫을 생성하는데, 이것은 상기 픽처 혹은 프레임(NBM)에서 매크로블록의 수로 나누어진다. 상기 몫은 상기 프레임 혹은 픽처를 위한 평균 양자화 스케일 요소(Qpic)이다. 상기 승산기(94)는 상기 픽처(Xpic로 표시됨)에 대하여 코딩 복잡성, 즉 Xpic = Tpic·Qpic 인 Qpic및 Tpic의 곱을 만들어낸다. 상기 픽처 혹은 프레임의 말단에서, 상기 코딩 복잡성 신호 Xpic는 클록 신호(도시되지 않음)에 응답하여 제 2 래치(95)로 래치된다. 상기 상술된 사이클은 그 다음에 코드화될 비디오 신호내의 각각의 프레임 혹은 픽처에 대하여 반복된다.
상기 코딩 복잡성(Xpic)은 그 다음에 래치(95)로부터 상기 GOP에 대한 코딩 복잡성을 얻기 위하여 나머지 처리를 수행하는 (도 4의)비트율 할당기(30)의 상기 I/O 제어기(34)의 복잡성 입력 터미널로 공급된다. GOP(XGOP로 표시됨)에 대한 코딩 복잡성은 상기 GOP내의 모든 픽처에 대한 Xpic의 합이다(방정식(1) 참조).
μP(31)은 상기 I/O 제어기(34)로부터 각각의 Xpic값을 검색하고, 상기 GOP에서 모든 프레임 혹은 픽처에 대하여 합산하여 누산기로 작용한다.
GOP(N으로 표시됨)내의 프레임 혹은 픽처의 수는 일반적으로 일정하다. N이 일정하면, XGOP는 슬라이딩 윈도우 베이시스 상에서, 맨 나중 픽처의 코딩 복잡성 값(Xpic)을 더하고, 상기 GOP내의 가장 오래된 픽처로부터 상기 코딩 복잡성 값을 뺌으로써 계산될 수 있다. 이경우, XGOP의 갱신된 값은 각각의 프레임 혹은 픽처 다음에 이용할 수 있다. 그러나, N은 변한다. 만약 N이 변하면, 방정식(1)에서와 같이, 새롭게 정의된 GOP에 대한 XGOP는 새롭게 정의된 GOP내의 선행 픽처의 새로운 수로부터 상기 코딩 복잡성 값(Xpic)을 더하여 계산되어야 한다.
전술한 와 같이, 상이한 채널은 프레임 혹은 픽처 레이트로 동작할 수 있다. 즉, (미합중국에서)표준 비디오 프레임 레이트는 초당 29.97 프레임인데, 필름 영상어에 대하여 그것은 초당 24 프레임이고, 만화에 대하여는 초당 15 프레임이다. 또한 상이한 채널은 GOP내에 상이한 수의 픽처 혹은 프레임을 가질 수 있다. 따라서, 상이한 채널은 상이한 GOP 시간 주기를 가진다. 비트를 상기 상태하에서 채널에 정확히 할당하기 위하여, 상기 상태에 있는 복수 채널의 상기 GOP 코딩 복잡성 값은 각각의 채널에 대하여 방정식(1)로부터 나온 GOP 복잡성 값을 상기 채널의 GOP 시간 주기(GOPtime)로 나눔으로써 비트율 할당기(30)에서 시간 정규화된다.
상기 표준화된 GOP 코딩 복잡성 값(XnormGOP으로 표시됨)은 그 다음에 상이한 채널 사이에 비트를 할당하는데 사용된다. 상기 복잡성 값의 샘플링 타이밍과, 상기 시스템을 위한 할당 값의 발생은 하기에 더욱 상세히 기술될 것이다.
다시 도 5에 대하여 언급하면, 상기 상술한 바와 같이, 비트율 조절기(49)는 가변 양자화기(46)를 위하여 양자화 스케일 요소 신호(QMB)를 발생하고, 그 다음에 상기 매크로블록을 코드화하는데 사용된 비트(TMB)를 나타내는 출력 버퍼(48)로부터 신호를 수신한다. 상기 신호는 교대로(도 4의) 비트율 할당기(30)내의 상기 I/O 제어기(34)에 직접 공급된다. 상기 μP(31)는(방정식 1 혹은 방정식 2로부터)적절한 코딩 복잡성 기준을 내부적으로 계산할 수 있다.
또한, 상기 전송을 단순하게 하기 위하여, 각각의 픽처(Xpic)에 대한 상기 코딩 복잡성 값은 스케일될 수 있다. 양호한 실시예에서, 승산기(94) 뒤에서 상기 값은 여덟 개의 비트 수로 스케일된다. 상기 스케일된 값은 그다음에 (도 4의) 상기 비트율 할당기(30)를 통과한다. 또한 상기 컴퓨터 시스템이 N 개의 변화가 발생하는 경우 상기 코딩 복잡성 값의 재계산을 허용하는 것과 같은 다른 이유 때문에, 상기 픽처 복잡성 값(Xpic)의 파일, 예을 들면 대용량 기억장치(도시되지 않음)를 유지하는 것도 바람직하다. 한 시간동안 8 비트 Xpic값을 저장하는데 있어서, 표준 비디오는 108 킬로바이트(kB)를 필름은 86kB를 저장할 수 있다.
하기에서, Xi는 i번째 채널 처리기로부터 나온(만약 모든 채널이 동일한 GOP타임 주기를 가진다면) XGOP혹은 XnormGOP중 현재 이용가능한 적절한 것을 나타낸다. (도 1의) 상기 비트율 할당기(30)는 복수의 채널 처리기(10)를 형성하는 K 개의 채널 처리기로부터 나온 상기 코딩 복잡성 갑(Xi)에 기초한 다음 할당 주기동안 전송 링크내의 이용가능한 비트의 할당을 나타내는 각각의 할당(Q) 신호를 발생한다. (도 1의)멀티플렉서(20)(R로 표시됨)의 출력 터미널로부터 나온 선결된 전송 링크 비트율은 복수의 채널 처리기(10) 사이에 할당되어, 상기 i번째 채널 처리기는 Ri로 표시된 비트율 할당을 수신한다.
전송 링크에서 비트율을 상이한 채널에 할당하기 위한 한가지 방법은 (도 1의) 모든 복수의 채널 처리기(10)를 위하여 (상기 상술한 바와 같이, 슬라이딩 윈도우 베이시스상에서) 선행하는 GOP 주기의 현재 이용가능한 코딩 복잡성(Xi)에 기초된 선형 할당이다. 상기 방법에서, 각각의 처리기(i)는 상기 엔코더(Xi)가 상기 모든 엔코더의 총 코딩 복잡성으로 향함에 따라 상기 총 비트 용량(R)의 동일한 비율(Ri)을 수신한다(방정식(3) 참조). 그러나, 재생된 영상의 화질이 급속히 떨어지는 하위 비트율 할당의 존재가 공지되었다.
또한, 도시된 실시예에서, 다음 할당(할당) 주기동안의 상기 비트율 할당은 선행 GOP로부터 나온 복잡성 기준에 달려있다. 따라서, 만약 단순한 영상에서 복잡한 영상로 화면이 바뀐다면, 상기 새로운 화면을 위한 할당이 선행하는 단순한 화면에 기초했기 때문에, 새로운 복잡한 화면을 코드화하기 위해 할당된 비트는 충분하지 못할 것이다.
전송 링크내에서 비트율을 상이한 채널로 할당하기 위한 다른 방법은 각각의 엔코더(i)에 대한 최소 비트율 할당(RGi)을 보장하고 방정식 3 에서와 같이, 상기 나머지 비트를 선형적으로 할당한다(방정식 (4) 참조).
각각의 채널은 상기 채널을 통하여 전송된 비디오의 예기된 전체 복잡성 혹은 상기 비디오 신호 공급기에 대한 상기 채널의 평가에 따라서 다르게 보장된 최소 비트율을 가질 수 있다.
그러나, 비트를 상기 전송 링크에서 상이한 채널로 할당하기 위한 또 다른 방법은 각각의 엔코더(i)를 위한 가중 요소(Pi)를 제공하고 상기 웨이팅 요소(Pi)에 의해 가중됨으로써 상기 코딩 복잡성 값(Xi)에 따라 비트를 적절히 할당한다(방정식 (5) 참조).
방정식 (4)의 상기 보장된 최소 할당 방법에서와 같이, 상기 가중 요소(Pi)는 상기 채널을 통하여 전송된 비디오 신호의 예기된 전체 복잡성 혹은 상기 비디오 신호의 공급기에 대한 채널의 평가에 의존한다.
상이한 채널에 대한 상기 전송 링크에서 비트를 할당하기 위한 양호한 방법은 방정식 (5)의 가중 할당 방법과 방정식 (4)의 보장된 최소 할당 방법을 결합하는 것이다. 상기 방법에서 각각의 채널은 최소 할당을 보장받고, 나머지 비트는 가중된 비율 베이시스에 근거하여 할당된다.(방정식 (6) 참조).
상기에서와 마찬가지로, 상기 보장된 최소 할당과 상기 가중 요소는 모두 상기 채널을 통하여 전송된 비디오 신호의 예기된 전체적인 복잡성과 상기 비디오 신호의 공급기에 대한 채널의 평가에 달려 있다.
또한 상기 시스템의 다른 변수에 응답하여 상기 비트 할당(Ri)을 정제할 수도 있다. 예를 들면, 재생 영상의 화질에 개선이 보이지 않는 상위 비트율 할당값이 존재가 공지되었다. 따라서, 여분의 상기 상위 할당 값을 할당하는 것은 전송 링크에서 비트를 낭비하는 것이다. 또한, 상기 전송 링크의 오퍼레이터는 각각의 채널에 대하여 (상기 상위 비트율 할당 값을 나타낼 수 있는) 최대 비트율 할당(Rmax) 혹은 최소 비트율 할당(Rmin)을 부과할 수 있다.
또한, 비트율 제어 진폭에 대하여 전위를 최소화하고 따라서 비트율 제어 안정성을 최대화하기 위하여 한 할당 주기에서부터 채널에 대한 다음 할당 주기까지 비트율 할당에서 증가(α) 혹은 감소(β)의 최대 증분이 부과될 수 있다. 상기에서와 같이, 상위 비트율 할당 값, 최대 및 최소 비트율 할당, 그리고 증감의 최대 증분에 대한 값은 상이한 채널에 대하여 다를 수 있고, 상기 채널을 통하여 전송되는 비디오 신호의 예기된 전체적인 복잡성 혹은 상기 비디오 신호의 공급기에 대한 채널의 평가에 의존할 수 있다. 또한, 상기 채널에서 버퍼가 비어있는 정도에 따라 증감의 최대 및 최소 증분을 능동적으로 변화시키는 것도 가능하다.
또한, 상기 할당된 비트율은 버퍼를 관리하기 위하여, 즉 (도 1의) 상기 CBR 엔코더의 출력 버퍼와 대응하는 리시버 디코더의 입력 버퍼(48)(도시되지 않음)가 오버플로하거나 언더플로가 되지 않도록 하기 위하여 더 정제될 수 있다. 만약 상기 엔코더 버퍼 크기(E)가 부등식(7)에 도시된 것과 같이 제어되면, 명시적인 버퍼 관리는 필요하지 않다.
여기서, D는 고정된 디코더 버퍼 크기이다. 만약 엔코더 버퍼 크기가 부등식(7)에 따라 선택되면, 상기 비트율 할당은 상기 엔코더 혹은 디코더 버퍼에서 오버플로 혹은 언더플로를 야기하지 않고 Rmin에서 Rmax까지 변할 수 있다. 그러나, 상기 방법은 상기 엔코더 버퍼의 크기를 과도하게 제한하고, 따라서, 비율 제어 유연성을 제한한다.
다른 버퍼 관리 계획이 적응될 수 있고 상기 고정된 파라미터 Rmin과 Rmax보다는 현재의 순간적인 비트율을 사용한다. 상기 디코더 버퍼 크기는 가장 높은 비율, 즉 Rmax로 전송된 데이터를 처리할 수 있도록 선택되었기 때문에, 상기 비트율 할당은 상기 디코더 버퍼를 초과하지 않고(상기 시스템 최대, Rmax까지) 항상 증가될 수 있다. 그러나, 상기 엔코더 버퍼내의 데이터가 디코드 시간전에 이미 상기 디코더 버퍼로 전송되도록 보장하기 위하여 유지되어야 하는 순간적인 최소 비트율도 있다. 따라서, 상기 디코더 버퍼가 언더플로우되지 않도록 하기 위하여 최소 비트율 할당은 동적으로 계산되어져야 한다.
상기 비트율 할당을 동적으로 계산하기 위하여, 상기 비트율 할당이 감소할 때, 새롭게 결정된 엔코더 버퍼 크기와, 선행하는 시간동안 상기 엔코더 버퍼내의 데이터의 양 모두 고려되어야 한다. 프레임(n)에 대한 상기 새롭게 결정된 엔코더 버퍼 크기는 En로 표시되며, 등식 (8)에 따라 결정된다.
여기서 Δ는 시스템 지연 시간이고, 이것은 비디오 프레임이 상기 엔코더에 도착해서 상기 프레임이 상기 디코더에 표시될 때까지의 일정 시간 지연이고, D는 고정된 디코더 버퍼 크기이고, Rnew은 새롭게 제공된 비트율 할당이다. 상기 버퍼 크기는 새로운 비트율을 할당할 때 정상 상태에서 상기 엔코더 및 디코더 버퍼에서 오버플로우나 언더플로우가 없도록 한다.
그러나, 전술한 바와 같이, 만약 새롭게 제공된 비트율 할당이 감소되었다면, 상기 시스템 지연 시간(Δ)과 동일한 전이기간이 조재하고, 상기 기간내에 더 낮은 비율로 상기 디코더에 성공적으로 전송된 너무 많은 비트가 상기 엔코더 버퍼내에 이미 있을 수 있다. 상기 새롭게 제공된 비트율 할당을 정제하기 위하여 제안된 한가지 방법은 상기 시스템 지연 시간(Δ)에 선행하는 Г로 표시된 프레임의 수에 대하여 실제로 상기 엔코더 버퍼(버퍼 충만)로 배치된, e로 표시된 비트의 수를 먼저 검사하는 것이다. 그 다음에 상기 선행 Г프레임에 대한 최대 버퍼 충만수(emax, Г로 표시됨)는 방정식(8)로부터, 새롭게 결정된 엔코더 버퍼 크기(En)와 비교된다. 선행 Г프레임으로부터 나온 모든 비트가 성공적으로 상기 리시버 디코더로 전송되는 채널(i)에 대한 최소 감소 비트율 할당(Rreduced)은 그 다음에 방정식(9)로 주어진다.
만약, 한계가 멀티플렉서 시스템에 부과되면, 비트율 할당이 방정식 (3, 4, 5 혹은 6)에 따라서 계산된 후, 상기 채널에 대한 현재의 상위 및 하위 한계내에 포함되는지를 결정하기 위하여 상기 비트율 할당이 검사된다. 먼저, 각각의 채널(i)에 대한 상기 상위 및 하위 한계가 결정된다. 할당 주기(k)(Ri upper[R]로 표시됨)에 대한 상기 상위 한계 비트율 할당은 이전의 할당 주기(k-1)에 걸쳐서 최대 허용 가능한 증가된 할당과, 최대 비트율 할당 한계의 최소이다(방정식(10) 참고).
어떤 할당 주기(k) 동안의 하위 한계 비트 할당(Ri lower[R])은 최소 비트율 할당 한계와, 이전의 할당 주기(k-1)을 통하여 최소 허용가능한 감소된 할당(그리고 방정식(9)으로부터 최소 버퍼 관리 감소된 비트율 할당)의 최대이다(방정식11) 참고). 그 다음에 상기 채널에 대한 비트율 할당이 조절된다.
만약 어떠한 채널에 대한 할당된 비트율이 각각의 한계 값을 넘어서면, 상기 채널에 대한 비트율 할당은 상기 한계 값으로 되고, 이용가능한 나머지 비트율은 다른 채널가운데 다시 재할당된다. 예를 들면, 만약 방정식 (3, 4, 5 혹은 6)에서 계산된, 채널(i)에 할당된 비트율이 방정식(10)에서 계산된 상기 채널에 대한 상위 한계보다 더 크다면, 채널(i)에 대한 상기 비트율은 상기 상위 한계 (Ri upper)로 된다. 만약, 역으로 상기 비트율이 방정식(11)에서 계산된 상기 하위 한계보다 더 작으면, 상기 비트율은 하위 한계 (Ri lower)로 된다(방정식 (12) 참고).
만약 상기 비트율 할당중 어떤 할당이 방정식(10, 11 및 12)의 한계 연산에 의해 변하게 되면, 나머지 이용가능한 비트율은 방정식(3, 4, 5 혹은 6)에 따라서 제한되지 않은 채널 가운데서 재할당된다. 상기 사이클은 모든 비트율 할당이 종결될 때까지 반복된다. 상기 실시예에서, 상기 코딩 복잡성 주기는 채널에 비트율 할당에서 한 할당 주기로부터 다음 할당 주기로 일반적으로 비교적 변화가 작은 충분히 존속하는, 슬라이딩 윈도우 베이시스상에서 픽쳐대 픽처로 결정된 GOP 주기이다. 결국, 방정식 (10, 11 및 12)은 거의 야기되지 않는다.
상기 코딩 복잡성 샘플링과 상기 코딩 복잡성에 기초된 갱신된 비트율 할당 발생의 타이밍은 만약 상기 채널이 상이한 GOP 시간 주기와 함께 동작하면 복잡하게 된다. 상기 조건에서 정확한 코딩 복잡성 샘플링과 비트율 할당을 제공하는 두가지 방법이 있다. 제 1 방법에서는, 일정 할당 갱신 주기는 각각의 채널이 각각의 GOP에서 동일한 수의 할당 갱신 주기를 가지는 방식으로 계산된다. 상기 방법에서, 샘플의 수와 GOP당 할당 갱신 주기는 채널에서 채널로 변할 수 있지만, 어떤 채널에 있어서는 상기 샘플의 수와 GOP 내의 할당 갱신 주기가 일정하다. 제 2 방법에서는, 샘플이 선택되고, 어떤 채널이 새로운 GOP 를 시작할 때마다 발생된 할당과, 새로운 할당 영역에 할당된 비트수는 이전의 샘플에서부터 현 샘플까지의 주기의 길이를 고려하여 계산된다.
도 7은 제 1 방법을 이용한 시스템내의 샘플링과 할당 갱신을 도시하는 타이밍 다이어그램이다. 상기 도면을 간단히 하기 위하여, 단지 두개의 채널이 도시된다. 도 7에서 채널(1)은 (미합중국에서)초당 약 30 프레임의 프레임 레이트를 가지는 표준 비디오를 전송하는 채널의 예이다. 각각의 상기 채널은 GOP당 12 프레임을 가지는 것으로 추정된다. 따라서, 채널(1)은 매 0.4초마다 새로운 GOP를 시작하거나 혹은 초당 2.5개의 GOP를 시작하는 반면, 채널(2)은 매 0.5초마다 새로운 GOP를 시작하거나 혹은 초당 2개의 GOP를 시작한다. 선택된 샘플링 레이트는 0.1초당 한 개의 샘플이다. 따라서, 채널(1)에는 4개의 샘플과 모든 GOP에 할당이 있고, 채널(2)에는 5 개의 샘플과 모든 GOP에 할당이 있다. 상기 샘플링 시간(ts)은 수직 사선으로 도시된다.
샘플 사이의 시간 주기(Δt)는 일정(0.1초)하기 때문에, 상기 방정식(3 내지 12)은 다음 샘플 주기동안 상기 비트율 할당을 계산하는데 어떠한 변형없이 사용될 수 있다. 상기 비트율 할당은 축적될 수 있고 "토큰과 리키 버킷(token and leaky bucket)"계획이라 불리는 공지된 계획에 따라서 (도 1의) 채널 처리기(10)에 사용될 수 있다.
도 8은 코딩 복잡성 값의 샘플링과 전술한 제 2 방법을 이용하는 시스템에서의 할당 갱신을 도시하는 타이밍 다이어그램이다. 도 8에 도시된 각각의 채널은 도 7에서와 같은 신호를 운반한다. 도 8에서, 모든 채널로부터 나온 현재의 코딩 복잡성 값의 샘플은 어떤 채널이 새로운 GOP 를 시작할 때마다 선택된다. 새로운 할당은 상기 샘플 값과 마지막 샘플 이후의 시간 주기(Δt)에 기초되어 발생된다. 상기 샘플 시간은 수직 대쉬선(t1 내지 t8)으로 도 8에 도시되고, 여기서 t2, t3, t4, t6 및 t8은 채널(1)에서 GOP의 시작에 대응하고, t1, t3, t5 및 t7은 채널(2)에서 GOP의 시작에 대응한다. 비록 t3이 두 채널(1과 2)에서 GOP의 시작에 대응하는 샘플링 시간을 나타내지만, 이러한 시간에 대한 요구는 없다.
각각의 샘플 시간에서, (선행 GOP, 즉, 슬라이딩 윈도우 베이시스상에서 이용가능한 픽처대 픽처로부터 나온)모든 채널 내의 상기 현 코딩 복잡성 값은 샘플링된다. 방정식(3 내지 12)은 다음 비트율 할당 비트율 계산하는데 이용될 수 있지만, 할당되는데 이용가능한 실제 비트 수를 결정하는데 있어서, 마지막 샘플 이후의 시간(Δt)은 고려되어져야 한다. 상이한 샘플 주기를 적절히 보상하기 위하여, 방정식(3 내지 12)에서 총 이용가능한 비트율(R)은 C로 표시된 할당에 대하여 이용가능한 비트수와 교체되고, 상기 C는 총 이용가능한 비트율(R)과 상기 샘플 주기(Δt)와의 곱, 즉 C=RΔt 이다. 방정식(3 내지 12)에 의해 계산된 비트 수는 그 다음에 상기에서와 같이, 상기 할당된 비트를 축적하고 사용하기 위하여 "토큰과 리키 버킷" 계획을 이용하는 (도 1의) 각각의 채널 처리기(10)에 할당된다. 상기 방법중 어떤 한 방법은 상이한 채널(5)로부터 나오는 상기 비디오 신호가 상이한 GOP 시간 주기를 가질 때 비트율을 정확히 각각의 채널 처리기(10)에 할당할 것이다.
[산업상이용가능성]
코딩 복잡성 샘플링과 상이한 채널을 위하여 갱신된 비트율 할당 s의 발생 타이밍은 만약 모든 채널이 동일한 프레임 레이트로 동작하고, GOP에 동일한 프레임 수를 가진다면, 즉 모든 채널이 동일한 GOP 시간 주기, GOPtime를 가진다면, 단술화될 것이다. 도 6은 그런 시스템에서의 코딩 복잡성 샘플과 할당 갱신 주기를 나타내는 타이밍 다이어그램이다. 도 6에서, 각각의 수평선은 각각의 채널(1-K)에 대응한다. 상기 수평선으로부터 상향으로 연장되는 짧은 수직성은 I 프레임의 코딩이 상기 채널에 대하여 시작된 시간을 나타내며, 상기 시간은 상기 채널에 대한 GOP의 시작으로 간주된다. GOP, GOPtime에 대한 시간 주기는 모든 채널에서 동일하지만, 도면에서 알 수 있듯이 각각의 채널에 대한 GOP의 시작 시간은 다르다. 사실, I 프레임의 코딩이 겹치지 않도록 각각의 채널을 위한 GOP에 대하여 상이한 시작 시간을 가지는 것이 바람직한 것으로 공지되었다. 이것은 상이한 채널을 가로질러 복잡성 변화를 증가시킨다. 상기 코딩 복잡성 값을 계산하는데 동일한 수의 I 프레임, P 프레임 및 B 프레임이 고려되는한, 상기 프레임이 상이한 GOP로부터 나오는 것은 문제되지 않는다고 알려져 있다. 따라서, 모든 채널의 시간축을 가로질러 연장하는 실선으로 도시된 것과 같이, 코딩 복잡성 값 샘플은 GOP 내의 어떤 시간에서 모든 채널로부터 동시에 선택되어질 수 있다. 그 다음에 모든 상기 채널에 대한 비트율 할당 s의 갱신은 상기 샘플로부터 발생되어 다시(도 1의) 상기 채널 처리기(10)로 전송될 수 있다.
상기 멀티플렉서 시스템은 병치된 시스템으로 상술되었다. 그러나, 복수의 채널 처리기(10)는 상기 비트율 할당기(30)와 멀티플렉서(20)로부터 먼 쪽에 위치될 수도 있다. 그런 시스템에서, 통신 링크는 엔코더와 상기 비트율 할당기 사이에 위치할 수 있다. 이 경우, 상기 처리기(10)와 상기 멀티플렉서 사이에서 전송된 일리부 비트는 상기 처리기로부터 복잡성 정보를 전송하는데 이용된다.

Claims (9)

  1. 멀티플렉싱 시스템에 있어서,
    각각의 다른 픽처를 나타내는 복수의 데이터 신호 소스들(5)과,
    복수의 입력 터미널들(1-K)과 출력 터미널(15)을 가지며, 소정의 일정 비트율을 가진 신호를 상기 출력 단자(15)에서 발생하는 멀티플렉서(20)와,
    복수의 채널 처리기들(10)로서, 상기 복수의 채널 처리기들(10)은 각각 데이터 신호 소스들(5)중 각각 한 소스에 결합된 데이터 입력 터미널과, 상기 데이터 입력 터미널의 상기 데이터 신호의 픽처의 복잡성을 나타내는 신호를 발생시키는 복잡성 출력 터미널과, 제어 입력 터미널과, 상기 멀티플렉서(20)의 입력 터미널들(1-K)중 각각 하나의 터미널에 결합되고 상기 제어 입력 터미널에서의 신호에 응답하여 설정된 일정 비트율로 코드화된 신호를 발생시키는 데어터 출력 터미널을 가진, 상기 복수의 채널 처리기들(10)과,
    복수의 쌍들의 관련된 입력 및 출력 터미널을 가진 비트율 할당기(30)로서, 각각의 쌍은 상기 채널 처리기들의 각각 하나의 처리기와 관련되며, 각 쌍의 상기 입력 터미널은 상기 관련된 채널 처리기의 상기 복잡성 출력 터미널에 결합되고, 각 쌍의 상기 출력 터미널은 상기 관련된 처리기의 상기 제어 입력 터미널에 결합되고 비트율 할당(quota) 신호를 발생시킴으로써, 각각의 채널 처리기(10)에 모든 복수의 쌍들의 입력 터미널들에서의 상기 신호들에 의해 표시된 결합된 복잡성에 대한 각각의 쌍의 상기 관련된 입력 터미널에서의 상기 신호에 의해 표시된 복잡성의 비율과 동일한 상기 소정의 일정 비트율의 비율이 할당되는 멀티플렉싱 시스템.
  2. 제 1 항에 있어서, 상기 멀티플렉서(20)는 소정의 일정 비트율을 가진 출력 터미널에서 신호를 발생시키고,
    각각의 채널 처리기(10)에는 각각의 소정의 최소 비트율이 할당되고,
    상기 비트율 할당기(30)는 관련된 입력과 출력 터미널들의 각각의 쌍의 출력 터미널에서 각각의 비트율 할당 신호들을 발생시킴으로써, 각각의 채널 처리기(10)에는 할당된 소정의 최소 비트율이 할당되며, 나머지 비트율의 비율이 추가로 할당되며, 상기 나머지 비트율은 상기 소정의 일정 비트율로부터 상기 미리 할당된 소정의 최소 비트율을 뺀 것과 동일하고, 상기 추가로 할당된 비율은 모든 복수의 쌍들의 입력 터미널들에서의 상기 신호들에 의해 표시된 결합된 복잡성에 대한 상기 쌍의 관련된 입력 터미널의 상기 신호에 의해 표시된 복잡성의 비율과 동일한 멀티플렉싱 시스템.
  3. 제 1 항에 있어서, 상기 멀티플렉서(20)는 소정의 일정 비트율을 가진 출력 터미널에서 신호를 발생시키고,
    각각의 채널 처리기(10)에는 각각의 소정의 가중 요소가 할당되고,
    상기 비트율 할당기(30)는 관련된 입력 및 출력 터미널들의 각각의 쌍의 출력 터미널에서 각각의 비트율 할당 신호들을 발생시킴으로써, 각각의 채널 처리기에, 관련된 채널 처리기에 할당된 소정의 가중 요소에 위해 가중되는, 모든 복수의 쌍들의 입력 터미널들에서의 상기 신호들에 의해 표시된 결합된 복잡성에 대한 상기 쌍의 관련된 입력 터미널의 신호에 의해 표시된 복잡성의 비율과 동일한 상기 소정의 일정 비트율의 비율이 할당되는 멀티플렉싱 시스템.
  4. 제 1 항에 있어서, 상기 멀티플렉서(20)는 소정의 일정 비트율을 가진 출력 터미널(15)에서 신호를 발생시키고,
    각각의 채널 처리기(10)에는 각각의 소정의 최소 비트율과 소정의 가정 요소가 할당되고,
    상기 비트율 할당기(30)는 관련된 입력과 출력 터미널들의 각각의 쌍의 출력터미널에서 각각의 비트율 할당 신호들을 발생시키므로써, 각각의 채널 처리기에는 할당된 소정의 최소 비트율이 할당되며, 나머지 비트율의 비율이 추가로 할당되고, 상기 나머지 비트율은 상기 소정의 일정 비트율로부터 상기 미리 할당된 소정의 최소 비트율들을 뺀 것과 동일하며, 상기 추가로 할당된 비율은, 관련된 채널 처리기에 할당된 소정의 가중 요소에 의해 가중되는, 모든 복수의 쌍들의 입력 터미널들에서의 상기 신호들에 의해 표시된 결합된 복잡성에 대한 상기 쌍의 관련된 입력 터미널의 신호에 의해 표시된 복잡성의 비율과 동일한 멀티플렉싱 시스템.
  5. 제 1 항에 있어서, 각각의 채널 처리기(10)에는 각각의 소정의 비트율 할당 한계가 할당되고,
    상기 비트율 할당기(30)는, 각 채널 처리기(10)에 비트율들을 할당하는 각각의 비트율 할당 신호들을 발생시킨 후에, 상기 각각의 비트율 할당들을 상기 각각의 소정의 비트율 할당 한계들과 비교하고, 만약 비트율 할당이 할당된 소정의 비트율 할당 한계를 초과하면, 상기 관련된 채널 처리기를 위해 미리 발생된 비트율 할당 대신에, 상기 소정의 비트율 할당 한계를 나타내는 비트율 할당 신호를 발생시키는 멀티플렉싱 시스템.
  6. 제 1 항에 있어서, 각각의 채널 처리기(10)에는 각각의 소정의 비트율 할당 증분 한계가 할당되고,
    상기 비트율 할당기(30)는, 관련된 채널 처리기(10)들에 대한 할당된 비트율들을 나타내는 각각의 비트율 할당 신호들을 발생시킨 후에, 각각의 비트율 할당 신호들을 발생시킨 후에, 각각의 비트율 할당 증분들을 결정하기 위하여 상기 각각의 비트율 할당들과 바로 이전의 각각의 비트율 할당 신호들에 의해 표시된 대응하는 비트율 할당들을 비교하고, 만약 비트율 할당 증분이 할당된 소정의 비트율 할당 증분 한계를 초과하면, 상기 관련된 채널 처리기를 위해 이미 발생된 비트율 할당 대신에, 상기 소정의 비트율 할당 증분 한계에 의해 변화된 상기 바로 이전의 각각의 비트율 할당 신호에 의해 표시된 비트율 할당을 나타내는 비트율 할당 신호를 발생시키는 멀티플렉싱 시스템.
  7. 제 1 항에 있어서, 각각의 채널 처리기(10)는 소정의 시간 주기 내에 상기 멀티플렉서(20)에 공급될 데이터를 일시적으로 저장하기 위해, 버퍼 용량을 가진 출력 버퍼(48)를 포함하고,
    상기 비트율 할당기(30)는, 관련된 채널 처리기들(10)에 대한 할당된 비트율들을 나타내는 각각의 비트율 할당 신호들을 발생시킨 후에, 상기 각각의 비트율 할당들을 바로 이전의 각각의 비트율 할당 신호들에 의해 표시된 대응하는 비트율 할당들과 비교하면, 만약 비트율 할당이 감소했다면, 상기 관련된 채널 처리기의 출력 버퍼에 일시적으로 저장된 상기 데이터가 상기 감소된 비트율 할당으로 소정의 시간 주기내에 상기 멀티플렉서(20)에 공급될지를 결정하고, 만약 아니라면, 상기 관련된 채널 처리기를 위해 미리 발생된 비트율 할당 대신에, 상기 관련된 채널 처리기의 출력 버퍼내에 일시적으로 저장된 상기 데이터가 소정의 시간 주기내에 상기 멀티플렉서(20)로 공급되도록 허용하는 새로운 비트율 할당을 나타내는 비트율 할당 신호를 발생하는 멀티플렉싱 시스템.
  8. 제 1 항에 있어서, 상기 복수의 채널 처리기들(10)은 각각, 상기 채널 처리기(10)의 상기 데이터 신호 소스인 데이터 입력 터미널(5)과 데이터 출력 터미널 사이에 결합된 데이터 경로와, 상기 채널 처리기(10)의 상기 제어 입력 터미널(CONTROL)에 결합된 할당 입력 터미널(Q)을 가진, 코드화 신호를 발생시키는 일정 비트율 엔코더(14)와,
    상기 채널 처리기(10)의 상기 데이터 입력 터미널(5)과 상기 복잡성 출력 터미널(COMPLEXITY) 사이에 결합되며, 상기 데이터 입력 터미널(5)에서 신호의 복잡성을 분석하고 상기 복잡성 표시 신호를 발생시키는 복잡성 분석기(16)를 구비하는 멀티플렉싱 시스템.
  9. 제 1 항에 있어서, 각각의 데이터 신호 소스(5)는 각각 소정 수의 프레임들을 포함하는 순차적인 픽처들의 그룹들을 포함하는 비디오 신호인 데이터 신호를 발생시키고,
    각각의 채널 처리기(10)는 각각의 순차적인 픽처들의 그룹 동안에 적어도 한번 복잡성 표시 신호를 발생시키며,
    상기 비트율 할당기(30)는 상기 복자성 표시 신호들에 응답하여, 각각의 순차적인 픽처들의 그룹들 동안에 적어도 한 번 비트율 할당 신호를 발생시키는 멀티플렉싱 시스템.
KR1019960705919A 1994-04-20 1994-04-20 일정비트율엔코더를이용하는멀티플렉서 KR100314329B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US1994/004333 WO1995029559A1 (en) 1994-04-20 1994-04-20 A multiplexer system using constant bit rate encoders

Publications (2)

Publication Number Publication Date
KR970702663A KR970702663A (ko) 1997-05-13
KR100314329B1 true KR100314329B1 (ko) 2001-12-28

Family

ID=22242479

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960705919A KR100314329B1 (ko) 1994-04-20 1994-04-20 일정비트율엔코더를이용하는멀티플렉서

Country Status (6)

Country Link
EP (1) EP0803163B1 (ko)
JP (1) JPH09512396A (ko)
KR (1) KR100314329B1 (ko)
AU (1) AU6816094A (ko)
DE (1) DE69435216D1 (ko)
WO (1) WO1995029559A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4388598B2 (ja) * 1995-02-22 2009-12-24 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 伝送チャネルを介して複数のビデオプログラムを同時に送信するシステム
US5835498A (en) * 1995-10-05 1998-11-10 Silicon Image, Inc. System and method for sending multiple data signals over a serial link
US5862140A (en) * 1995-11-21 1999-01-19 Imedia Corporation Method and apparatus for multiplexing video programs for improved channel utilization
US5956088A (en) * 1995-11-21 1999-09-21 Imedia Corporation Method and apparatus for modifying encoded digital video for improved channel utilization
US5877812A (en) * 1995-11-21 1999-03-02 Imedia Corporation Method and apparatus for increasing channel utilization for digital video transmission
US5793425A (en) * 1996-09-13 1998-08-11 Philips Electronics North America Corporation Method and apparatus for dynamically controlling encoding parameters of multiple encoders in a multiplexed system
FR2764156B1 (fr) * 1997-05-27 1999-11-05 Thomson Broadcast Systems Dispositif de pretraitement pour codage mpeg ii
KR100495101B1 (ko) * 1997-12-24 2005-09-30 주식회사 팬택앤큐리텔 무선가입자망 시스템에서의 기지국내 트래픽 데이터다중/역다중 처리장치
US6570922B1 (en) * 1998-11-24 2003-05-27 General Instrument Corporation Rate control for an MPEG transcoder without a priori knowledge of picture type
KR100796177B1 (ko) 2000-04-18 2008-01-21 코닌클리케 필립스 일렉트로닉스 엔.브이. 공동 비트율 트랜스코딩의 비트율 할당
US20120249869A1 (en) * 2009-12-14 2012-10-04 Thomson Licensing Statmux method for broadcasting
US20140112386A1 (en) * 2012-10-22 2014-04-24 General Instrument Corporation Algorithms for determining bitrate for a statistical multiplexing system to account for signal complexity including film mode and gop structural changes

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5115309A (en) * 1990-09-10 1992-05-19 At&T Bell Laboratories Method and apparatus for dynamic channel bandwidth allocation among multiple parallel video coders
US5134476A (en) * 1990-03-30 1992-07-28 At&T Bell Laboratories Video signal encoding with bit rate control

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1253255A (en) * 1983-05-16 1989-04-25 Nec Corporation System for simultaneously coding and decoding a plurality of signals
JPH0624341B2 (ja) * 1986-12-18 1994-03-30 三菱電機株式会社 マルチメディアデータ伝送方式
WO1990010993A1 (en) * 1989-03-16 1990-09-20 Fujitsu Limited Video/audio multiplex transmission system
IT1237668B (it) * 1989-10-31 1993-06-15 Telettra Lab Telefon Sistema e multiplatore/demultiplatore per la trasmissione/ricezione di informazione digitale televisiva.
US5231484A (en) * 1991-11-08 1993-07-27 International Business Machines Corporation Motion video compression system with adaptive bit allocation and quantization
JP2500582B2 (ja) * 1993-03-17 1996-05-29 日本電気株式会社 動画像信号の多重化伝送方法とその装置
BE1007490A3 (nl) * 1993-09-10 1995-07-11 Philips Electronics Nv Inrichting voor het overdragen van een pluraliteit van televisie signalen over een transmissie kanaal.

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5134476A (en) * 1990-03-30 1992-07-28 At&T Bell Laboratories Video signal encoding with bit rate control
US5115309A (en) * 1990-09-10 1992-05-19 At&T Bell Laboratories Method and apparatus for dynamic channel bandwidth allocation among multiple parallel video coders

Also Published As

Publication number Publication date
EP0803163A4 (en) 1998-05-20
EP0803163A1 (en) 1997-10-29
EP0803163B1 (en) 2009-07-08
KR970702663A (ko) 1997-05-13
JPH09512396A (ja) 1997-12-09
AU6816094A (en) 1995-11-16
DE69435216D1 (de) 2009-08-20
WO1995029559A1 (en) 1995-11-02

Similar Documents

Publication Publication Date Title
US6055270A (en) Multiplexer system using constant bit rate encoders
US5838686A (en) System for dynamically allocating a scarce resource
US5933451A (en) Complexity determining apparatus
US5719632A (en) Motion video compression system with buffer empty/fill look-ahead bit allocation
AU695550B2 (en) Buffering for digital video signal encoders using joint bit-rate control
KR20030005320A (ko) 픽처그룹의 구조의 변경을 수용하는 통계적 멀티플렉서 및리멀티플렉서
KR100314329B1 (ko) 일정비트율엔코더를이용하는멀티플렉서
US5877814A (en) Asynchronous control signal generating apparatus
US5864583A (en) Parameter sampling apparatus
KR100340826B1 (ko) 디지털통신시스템
US5933450A (en) Complexity determining apparatus
KR100309938B1 (ko) 비동기 제어 신호 발생장치
KR100340827B1 (ko) 복잡성결정장치
KR100337103B1 (ko) 데이터신호의복잡도결정장치
KR100337104B1 (ko) 파라미터샘플링장치
CN1067203C (zh) 利用恒定位率编码器的多路复用系统
CN1078782C (zh) 异步控制信号发生装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20101027

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee