KR19990088475A - 다수의비디오프레임스트림처리방법및그장치 - Google Patents

다수의비디오프레임스트림처리방법및그장치 Download PDF

Info

Publication number
KR19990088475A
KR19990088475A KR1019990018430A KR19990018430A KR19990088475A KR 19990088475 A KR19990088475 A KR 19990088475A KR 1019990018430 A KR1019990018430 A KR 1019990018430A KR 19990018430 A KR19990018430 A KR 19990018430A KR 19990088475 A KR19990088475 A KR 19990088475A
Authority
KR
South Korea
Prior art keywords
encoding
video frame
stream
streams
statistics
Prior art date
Application number
KR1019990018430A
Other languages
English (en)
Other versions
KR100329892B1 (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 KR19990088475A publication Critical patent/KR19990088475A/ko
Application granted granted Critical
Publication of KR100329892B1 publication Critical patent/KR100329892B1/ko

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/114Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • 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/142Detection of scene cut or scene change
    • 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/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/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/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/179Methods 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 scene or a shot
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • 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
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/87Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving scene cut or scene change detection in combination with video compression

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)
  • Television Systems (AREA)
  • Time-Division Multiplex Systems (AREA)

Abstract

본 발명은 비디오 데이터로 된 다수의 스트림을 병렬로 동적 부호화하여 일정한 비트 레이트 채널 상으로 멀티플렉싱하는 제어 방안을 제공하는 것이다. 제어 방안은 부호화기와 일정한 비트 레이트 채널 사이에 접속되는 채널 버퍼의 충진도 및 압축된 비디오 데이터 버퍼의 충진도는 물론 다수의 비디오 데이터 스트림의 상대적인 복잡도에 부분적으로 기반하여 각 비디오 데이터 스트림에 대한 개별적인 부호화 비트 레이트를 동적으로 적응시키는 단일 패스 방안이다. 제어 방안은 다수의 비디오 프레임 스트림을 병렬로 부호화하는 단계와, 비디오 프레임의 상대적인 복잡도에 기반하여 적어도 하나의 비디오 프레임 스트림에 대한 부호화를 동적으로 적응시키는 단계를 포함한다. 각 비디오 프레임 스트림에 대한 비트 레이트는 오직 GOP 경계에서 또는 장면 전환이 발생하는 경우에만 변화된다. 바람직하게는 계산된 비트 레이트가 버퍼 충진도에 기반하여 더 변형된다.

Description

다수의 비디오 프레임 스트림 처리 방법 및 그 장치{CONTROL STRATEGY FOR DYNAMICALLY ENCODING MULTIPLE STREAMS OF VIDEO DATA IN PARALLEL FOR MULTIPLEXING ONTO A CONSTANT BIT RATE CHANNEL}
본 특허 출원은 보로츠키(Boroczky)등에 의해 "ADAPTIVE REAL­TIME ENCODING OF VIDEO SEQUENCE EMPLOYING IMAGE STATISTICS"이란 명칭으로 출원되어 본 출원인에게 공동 양도되고 동시 계류 중인 미국 특허 출원 번호 09/948,442호에 연관된다. 이 공동 양도되고 동시 계류 중인 특허 출원은 본 명세서에서 전체로서 참조로 인용된다.
본 발명은 전반적으로 디지털 시각 영상의 압축에 관한 것으로, 특히 비디오 데이터의 다수의 스트림을 병렬로 동적 부호화하여 일정한 비트 레이트 채널 상으로 멀티플렉싱하기 위한 제어 방안에 관한 것이다. 제어 방안은 다수의 비디오 데이터 스트림의 상대적인 복잡도에 부분적으로 기반하여 개별적인 부호화 비트 레이트를 각 비디오 데이터 스트림 내에서 동적으로 조정하는 단일 패스 방안을 포함한다. 상대적인 복잡도는 예지(look­ahead) 접근 방안을 부분적으로 사용하여 평가되는데, 예지 접근 방안에서 각 비디오 데이터 스트림에 대한 화상 통계는 그 스트림의 부호화 전에 사전 결정된다.
방송 텔레비젼, 통신 네트워크, 가전 제품, 멀티미디어 컴퓨터와 같은 산업 분야에서 다양한 디지털 비디오 기술의 출현이 놀랄만한 속도로 계속하여 증가하고 있다. 디지털 비디오 애플리케이션을 이렇게 폭넓게 사용하는 이유는 디지털 정보의 신호 처리, 편집, 데이터 전달이 아날로그로 표현된 정보의 처리에 비해 훨씬 쉽다는 사실 때문이다. 그러나 중요한 것은 디지털 비디오의 명성이 최근 디지털 비디오 압축을 위해 향상된 몇 가지 표준에 기인한다는 점이다.
디지털 비디오 압축 해법은 틀림없이 모든 디지털 비디오 플랫폼의 가장 중요한 구성 요소이다. 디지털 비디오가 압축되지 않은 포맷에서 상당한 양의 정보를 포함하는 것으로 알려져 있기 때문에 디지털 비디오의 생성, 저장, 전송은 비록 불가능하지는 않을지라도 매우 많은 시간과 비용을 소비할 수 있다. 따라서 디지털 비디오 압축 기법은 그 내용의 인지되는 화질을 유지하면서 데이터의 과도한 용량을 줄이기 위해 개선되어 왔다. 그 다음에 호환성 있는 비디오 압축 해제 방안을 사용하여 데이터를 재생하기 위해 압축 해제 상태로 만든다.
동영상 전문가 그룹(Moving Pictures and Expert Group)에 의해 형성된 MPEG­2 국제 표준은 상기에 언급한 산업 분야에서의 압축을 표준화하기 위한 것으로 ISO/IEC 13818­2, "Information Technology­Generic Coding of Moving Pictures and Associated Audio Information: Video 1996"에 개시되어 있고, 그 내용은 전체로서 본 명세서에 참조로서 인용된다. ISO MPEG­2 표준은 부호화된 비트 스트림의 구문론과 복호화 공정의 의미론을 기술한다. 그러나 성능 대 복잡도에서 부호화 파라미터와 트레이드오프(tradeoff)의 선택권은 부호화기 개발자에게 남겨진다.
MPEG­2 부호화 장치의 효율은 고정된 통신 대역폭으로 전송되거나 디지털 매체 내에 저장되는 인지 비디오의 화질에 의해 평가된다. 디지털 위성 장치와 같은 몇몇 애플리케이션에서 다수의 프로그램을 하나의 큰 방송용 스트림으로 멀티플렉싱하고, 일련의 MPEG­2 부호화기를 사용하여 모든 프로그램을 모니터링하고 부호화하면서 수신된 채널의 질을 유지하게 한다. 비동기 전달 모드(asynchronous transfer mode: ATM) 네트워크에서와 같이 고정된 통신 대역폭 또는 동적 대역폭으로 MPEG­2 스트림을 전송한다.
직접 방송 위성(direct broadcast satellite: DBS) 애플리케이션과 같은 전형적인 통계적 멀티플렉싱 장치에서, 몇몇 비디오 비트 스트림(또는 프로그램)은 하나의 단일한 일정한 비트 레이트 채널 상으로 멀티플렉싱 된다. 불행하게도 프로그램 내에서 장면 내용이 시간에 걸쳐 변화하기 때문에 사전 규정된 일정한 비트 레이트에서 각 프로그램을 부호화하는 것은 화질 저하를 일으킬 수 있다. 비디오 소스가 상이한 부호화를 수행하고/하거나 상기한 화상 그룹(GOP) 구조를 갖는 경우와 같이, 부호화기의 작동이 시간 상으로 정렬되어 있지 않은 경우 프로그램이 더 복잡해진다.
그러므로 장치의 전체 비디오 질을 최적화 하기 위해 사용 가능한 대역폭을 동적으로 프로그램 간에 분배하는 다중 프로그램 압축 기법에 대한 필요성이 당업계에 존재하고 있다. 본 발명은 부호화 공정 중에 개별적인 부호화기를 동적으로 안내하는 결합 레이트 제어 방안을 사용함으로써 상기 압축 기법을 제공하기 위한 것이다.
본 발명에 따른 제 1 실시예를 간략하게 기술한다. 본 발명의 원리에 따를 한 측면에서 비디오 프레임에 대한 다수의 스트림을 처리하는 방법을 제공한다. 이 방법은 다수의 비디오 프레임 스트림을 병렬로 부호화하는 단계와, 다수의 비디오 프레임 스트림을 포함하는 비디오 프레임의 상대적인 복잡도에 기반하여 다수의 비디오 프레임 스트림 중 적어도 하나의 비디오 프레임 스트림에 대한 부호화를 동적으로 적응시키는 부호화 동적 적응 단계를 포함한다. 개선된 실시예에서, 부호화 동적 적응 단계는 다수의 스트림을 포함하는 비디오 프레임의 복잡도에 기반하여 제어 가능한 부호화 파라미터를 조정하는 단계를 포함한다. 조정 단계는 적어도 하나의 비디오 프레임 내에서 장면 전환을 감지하거나 또는 신규 화상 그룹을 시작하는 경우에 수행하는 것이 바람직하다.
또다른 측면에서 다수의 비디오 프레임 스트림을 처리하는 방법은 각 비디오 프레임 스트림에 대한 적어도 하나의 제어 가능한 부호화 파라미터를 사용하여 다수의 비디오 프레임 스트림을 부호화하는 단계와, 부호화 단계 동안에 각 비디오 프레임 스트림을 분석하여 그 스트림의 적어도 하나의 특성에 대한 정보를 유도하되, 적어도 하나의 특성은 인터 프레임(interframe) 특성 또는 인트라 프레임(intraframe) 특성 중의 적어도 하나를 포함하는 분석 단계와, 다수의 비디오 프레임 스트림의 각 스트림에서 얻어진 적어도 하나의 특성에 관한 상대적인 정보를 사용하여 각 비디오 프레임 스트림에 대한 부호화를 동적으로 적응시키는 단계를 포함한다. 각 비디오 프레임 스트림에 대한 동적 적응 단계는 부호화에서 사용되는 적어도 하나의 제어 가능한 부호화 파라미터를 조정하는 단계를 포함하고, 비디오 프레임의 부호화 단계는 다수의 비디오 프레임 스트림으로부터 얻어진 적어도 하나의 특성에서의 상대적인 변화에 따라 동적으로 적응된다.
또다른 측면에서 다수의 비디오 프레임 스트림을 처리하는 장치를 제공한다. 이 장치는 다수의 비디오 프레임 스트림을 병렬로 부호화하는 다수의 부호화기를 포함한다. 각 부호화기는 다수의 비디오 프레임 스트림 중 하나의 비디오 프레임 스트림을 수신하기 위해 접속되어 있다. 다수의 비디오 프레임 스트림을 포함하는 비디오 프레임의 상대적인 복잡도에 기반하여 다수의 비디오 프레임 스트림 중 적어도 하나의 비디오 프레임 스트림에 대한 부호화를 동적으로 적응시키기 위해 각 부호화기에는 결합 제어기가 접속되어 있다.
또다른 측면에서 본 발명은 다수의 비디오 프레임 스트림을 처리하는 장치를 포함한다. 본 장치는 다수의 비디오 프레임 스트림을 부호화하는 다수의 부호화기를 포함한다. 각 부호화기는 적어도 하나의 제어 가능한 부호화 파라미터를 사용하여 하나의 비디오 프레임 스트림을 부호화한다. 각 비디오 프레임 스트림을 분석하여 그 스트림에 대한 적어도 하나의 특성에 대한 정보를 유도하기 위한 분석 수단을 제공한다. 적어도 하나의 특성은 인터 프레임 특성 또는 인트라 프레임 특성 중 적어도 하나를 포함한다. 또한, 각 비디오 프레임 스트림으로부터 얻은 적어도 하나의 특성에 대한 상대적인 정보를 사용하여 각 비디오 프레임 스트림에 대한 부호화를 동적으로 적응시키는 수단도 제공된다. 동적으로 적응시키는 수단은 각 비디오 프레임 스트림에 대하여 그 스트림을 부호화하는 데 사용되는 적어도 하나의 제어 가능한 부호화 파라미터를 동적으로 조정하는 수단을 포함한다. 그러므로 각 비디오 프레임 스트림에 대한 부호화는 다수의 비디오 프레임 스트림으로부터 얻어진 적어도 하나의 특성에서의 상대적인 변화에 따라 동적으로 적응된다.
또다른 측면에서, 다수의 비디오 프레임 스트림을 처리하기 위해 자체에 내장된 컴퓨터 판독 가능한 프로그램 부호화 수단을 갖는 적어도 하나의 컴퓨터 사용 가능한 매체를 포함하는 제조물을 제공한다. 제조물 내에서의 상기 컴퓨터 판독 가능한 프로그램 부호화 수단은 컴퓨터로 하여금 다수의 비디오 프레임 스트림을 부호화하게 하는 컴퓨터 판독 가능한 프로그램 부호화 수단과, 컴퓨터로 하여금 비디오 프레임의 상대적인 복잡도에 기반하여 다수의 비디오 프레임 스트림 중 적어도 하나의 비디오 프레임 스트림에 대한 부호화를 동적으로 적응시키게 하는 컴퓨터 판독 가능한 프로그램 부호화 수단을 포함한다.
또다른 측면에서, 다수의 비디오 프레임 스트림을 처리하기 위해 자체에 내장된 컴퓨터 판독 가능한 프로그램 부호화 수단을 갖는 적어도 하나의 컴퓨터 사용 가능한 매체를 포함하는 제조물을 제공한다. 제조물 내에서의 컴퓨터 판독 가능한 프로그램 부호화 수단은 컴퓨터로 하여금 다수의 비디오 프레임 스트림을 부호화하게 하되, 그 부호화는 각 비디오 프레임 스트림에 대한 적어도 하나의 제어 가능한 부호화 파라미터의 사용을 포함하는 컴퓨터 판독 가능한 프로그램 부호화 수단과, 컴퓨터로 하여금 각 비디오 프레임 스트림을 분석하게 하여 인터 프레임 특성 또는 인트라 프레임 특성 중 적어도 하나를 포함하는 그 스트림에 대한 적어도 한 특성에 관한 정보를 유도하는 컴퓨터 판독 가능한 프로그램 부호화 수단과, 컴퓨터로 하여금 각 비디오 프레임 스트림으로부터 얻은 적어도 하나의 특성에 관한 상대적인 정보를 사용하여 비디오 프레임 스트림에 대한 부호화를 동적으로 적응시키게 하는 컴퓨터 판독 가능한 프로그램 부호화 수단을 포함한다. 부호화의 동적 적응은 각 비디오 프레임 스트림에 대하여 그 스트림의 부호화에 사용되는 적어도 하나의 제어 가능한 부호화 파라미터의 조정을 포함한다. 그러므로 각 비디오 프레임에 대한 부호화는 다수의 비디오 프레임 스트림으로부터 얻어진 적어도 하나의 특성에서의 상대적인 변화에 따라 동적으로 적응된다.
다시 말해서, 예를 들어 MPEG­2 호환형 비디오 부호화기를 사용하여 몇몇 비디오 프로그램을 부호화하는 통계적 멀티플렉싱에 대한 해결책으로서의 장치를 본 명세서에 제시한다. 다수의 부호화기에 비트 레이트를 동적으로 할당하는 결합 레이트 제어 방안을 제공한다. 각 부호화기의 비트 레이트는 부호화될 프로그램 내에서 발생하는 장면 전환과 프로그램의 상대적인 복잡도에 기반하여 결정된다. 이러한 기법은 입력 비디오 신호에 대한 외부적인 사전 처리를 필요로 하지 않는다. 더구나, 비디오 소스의 부호화는 각 부호화기 내에서 동일한 GOP 구조와 GOP 길이를 요구하지 않는다. 각 부호화기는 GOP 내에서 일정한 비트 레이트로 작동되는 반면 GOP 경계에서 그 비트 레이트를 변화시킬 수 있는 것이 유리하다. 이러한 방안에 따라 구분적으로는 일정하지만 전체적으로는 가변인 비트 레이트 압축이 된다. 부호화기는 상이한 GOP 길이 및 구조로 동작할 수 있고 상이한 회수로 부호화될 수 있다. 그러므로 개별적인 비트 레이트의 합이 사전 규정된 채널 비트 레이트보다 크거나 작은 시간 간격이 있을 수 있다. 또한, 장면 전환에 대해 장치가 빠르게 반응하도록 하여 결과적으로 화질을 향상시키는 장면 전환에 대한 방안을 제공한다.
본 발명에 따른 제 2 실시예를 이하에서 간략하게 기술한다. 한 측면에서 본 발명의 원리에 따라 다수의 비디오 프레임 스트림을 처리하는 방법을 제공한다. 이 방법은 다수의 비디오 프레임 스트림을 분석하여 다수의 비디오 프레임 스트림을 포함하는 비디오 프레임의 상대적인 복잡도를 결정하는 분석 단계 ― 상기 분석 단계는 다수의 비디오 프레임 스트림을 부호화하기 전에 비디오 프레임의 상대적인 복잡도에 대한 화상 통계를 얻는 단계를 포함함 ― 와, 비디오 프레임의 상대적인 복잡도를 사용하여 다수의 비디오 프레임 스트림을 병렬로 부호화하는 부호화 단계 ― 상기 부호화 단계는 비디오 프레임의 상대적인 복잡도 내의 변화로 다수의 비디오 프레임 스트림에 대한 부호화를 적응시키는 단계를 포함함 ― 와, 상기 부호화 단계 동안에 각 비디오 프레임 스트림을 분석하여 그 스트림의 적어도 하나의 특성에 대한 부호화 통계를 유도하는 단계 ― 부호화 통계는 인터 프레임 특성 또는 인트라 프레임 특성 중 적어도 하나를 포함하며, 적응적 부호화는 화상 통계와 부호화 통계를 사용하여 다수의 비디오 프레임 스트림을 적응적으로 부호화하는 단계를 포함함 ― 를 포함한다.
또다른 측면에서, 다수의 비디오 프레임 스트림을 분석하여 그 스트림의 적어도 하나의 특성에 관한 화상 통계를 유도하는 분석 단계 ― 적어도 하나의 특성은 인터 프레임 특성 또는 인트라 프레임 특성 중 적어도 하나를 포함함 ―와, 다수의 비디오 프레임 스트림을 병렬로 부호화하는 단계 ― 부호화 단계는 각 비디오 프레임 스트림에 대하여 적어도 하나의 제어 가능한 부호화 파라미터를 사용하는 단계를 포함함 ― 와, 다수의 비디오 프레임 스트림으로부터 얻은 화상 통계에 관한 상대적인 정보를 사용하여 다수의 비디오 프레임 스트림에 대한 부호화를 적응시키는 단계 ― 적응 단계는 적어도 하나의 비디오 프레임 스트림의 부호화에서 사용되는 적어도 하나의 제어 가능한 부호화 파라미터를 조정하는 단계를 포함하고, 다수의 비디오 프레임 스트림의 부호화는 적어도 하나의 특성 내에서의 상대적인 변화에 적응적임 ― 와, 부호화 단계 동안에 각 비디오 프레임 스트림을 분석하여 적어도 하나의 부호화 특성에 대한 부호화 통계를 유도하는 단계 ― 적어도 하나의 부호화 통계는 인터 프레임 부호화 특성 또는 인트라 프레임 부호화 특성 중 적어도 하나를 포함하고, 적응 단계는 화상 통계와 함께 부호화 통계를 사용하여 적어도 하나의 비디오 프레임 스트림의 부호화를 적응시키는 단계를 포함함 ― 를 포함하는 다수의 비디오 프레임 스트림 처리 방법을 제공한다.
또다른 측면에서, 다수의 비디오 프레임 스트림을 처리하는 장치를 제공한다. 이 장치는 다수의 비디오 프레임 스트림을 분석하여 다수의 비디오 프레임 스트림을 포함하는 비디오 프레임의 상대적인 복잡도를 나타내는 화상 통계를 결정하는 수단과, 다수의 비디오 프레임 스트림을 병렬로 부호화하는 다수의 부호화기를 포함한다. 각 부호화기는 다수의 비디오 프레임 스트림 중 한 비디오 프레임 스트림을 수신한다. 다수의 부호화기는 각각 그 부호화기에 의해 부호화될 비디오 프레임 스트림의 적어도 하나의 부호화 특성에 대한 부호화 통계를 생성하는 수단을 포함하되, 부호화 통계는 인터 프레임 특성 또는 인트라 프레임 특성 중 적어도 하나를 포함한다. 이 장치는 각 부호화기와 상기 분석 수단에 접속되는 결합 제어기를 더 포함함으로써 다수의 비디오 프레임 스트림을 포함하는 비디오 프레임으로부터 유도된 부호화 통계와 화상 통계에 기반하여 다수의 비디오 프레임 스트림 중 적어도 하나의 비디오 프레임 스트림에 대한 부호화를 동적으로 적응시킨다.
또다른 측면에서, 본 발명은 다수의 비디오 프레임 스트림을 처리하는 장치를 포함한다. 이 장치는 다수의 비디오 프레임 스트림을 분석하여 그 스트림의 적어도 하나의 특성에 관한 화상 통계를 유도하는 분석수단을 포함하되, 적어도 하나의 특성은 인터 프레임 특성 또는 인트라 프레임 특성 중 적어도 하나를 포함한다. 다수의 비디오 프레임 스트림을 병렬로 부호화하는 다수의 부호화기를 제공하는 데, 각 부호화기는 다수의 비디오 프레임 스트림 중 한 비디오 프레임 스트림을 수신하고, 각 부호화기는 적어도 하나의 제어 가능한 부호화 파라미터를 사용하여 그 비디오 프레임 스트림을 부호화한다. 다수의 부호화기는 부호화 중에 각 비디오 프레임 스트림을 분석하여 적어도 하나의 부호화 특성에 관한 부호화 통계를 유도하는 부호화 수단을 포함한다. 적어도 하나의 부호화 특성은 인터 프레임 특성 또는 인트라 프레임 특성 중 적어도 하나를 포함한다. 이 장치는 각 부호화기와 분석 수단에 접속되는 결합 제어기를 더 포함함으로써, 화상 통계와 부호화 통계로부터 유도된 상대적인 정보에 기반하여 다수의 비디오 프레임 스트림 중 적어도 한 비디오 프레임 스트림에 대한 부호화를 동적으로 적응시킨다. 부호화의 적응은 적어도 하나의 비디오 프레임에 대한 부호화에 사용되는 적어도 하나의 제어 가능한 부호화 파라미터의 조정을 포함하는데, 다수의 비디오 프레임 스트림의 부호화는 상대적인 정보에서의 변화에 적응적이다.
또다른 측면에서, 다수의 비디오 프레임 스트림을 처리하기 위해 자체에 내장된 컴퓨터 판독 가능한 프로그램 부호화 수단을 갖는 적어도 하나의 컴퓨터 사용 가능한 매체를 포함하는 제조물을 제공한다. 제조물 내에서의 컴퓨터 판독 가능한 프로그램 부호화 수단은 컴퓨터로 하여금 다수의 비디오 프레임 스트림을 분석하게 하여 다수의 비디오 프레임 스트림을 포함하는 비디오 프레임의 상대적인 복잡도를 결정하는 컴퓨터 판독 가능한 프로그램 부호화 수단 ― 분석은 다수의 비디오 프레임 스트림을 부호화하기 전에 비디오 프레임의 상대적인 복잡도에 관한 화상 통계를 얻는 것을 포함함 ― 과, 컴퓨터로 하여금 비디오 프레임의 상대적인 복잡도를 사용하여 다수의 비디오 프레임 스트림을 병렬로 부호화하게 하는 컴퓨터 판독 가능한 프로그램 부호화 수단 ― 부호화는 상대적인 복잡도 내에서의 변화로 다수의 비디오 프레임 스트림을 적응적으로 부호화하는 것을 포함함― 과, 컴퓨터로 하여금 부호화 중에 각 비디오 프레임 스트림을 분석하게 하여 그 스트림의 적어도 하나의 특성에 관한 부호화 통계를 유도하는 컴퓨터 판독 가능한 프로그램 부호화 수단 ― 부호화 통계는 인터 프레임 특성 또는 인트라 프레임 특성 중 적어도 하나를 포함하고, 컴퓨터로 하여금 적응적으로 부호화하게 하는 컴퓨터 판독 가능한 프로그램 부호화 수단은 컴퓨터로 하여금 화상 통계와 부호화 통계를 사용하게 하여 다수의 비디오 프레임 스트림을 적응적으로 부호화하는 컴퓨터 판독 가능한 프로그램 부호화 수단을 포함함 ― 을 포함한다.
또다른 측면에서, 다수의 비디오 프레임 스트림을 처리하기 위해 자체에 내장된 컴퓨터 판독 가능한 프로그램 부호화 수단을 갖는 적어도 하나의 컴퓨터 사용 가능한 매체를 포함하는 제조물을 제공한다. 제조물 내에서의 컴퓨터 판독 가능한 프로그램 부호화 수단은, 컴퓨터로 하여금 다수의 비디오 프레임 스트림을 분석하게 하여 그 스트림의 적어도 하나의 특성에 관한 화상 정보를 유도하는 컴퓨터 판독 가능한 프로그램 부호화 수단 ― 적어도 하나의 특성은 인트라 프레임 특성 또는 인터 프레임 특성중의 적어도 하나를 포함함 ― 과, 컴퓨터로 하여금 다수의 비디오 프레임 스트림을 병렬로 부호화하게 하는 수단 ― 부호화는 각 비디오 프레임 스트림에 대한 적어도 하나의 제어 가능한 부호화 파라미터를 사용하는 것을 포함함 ― 과, 컴퓨터로 하여금 다수의 비디오 프레임 스트림으로부터 얻은 화상 통계에 대한 상대적인 정보를 사용하여 다수의 비디오 프레임 스트림에 대한 부호화를 적응시키게 하는 컴퓨터 판독 가능한 프로그램 부호화 수단 ― 적응은 적어도 하나의 비디오 프레임의 부호화에서 사용되는 적어도 하나의 제어 가능한 부호화 파라미터를 조정하는 것을 포함하고, 다수의 비디오 프레임 스트림에 대한 부호화는 상대적인 정보 내에서의 변화에 적응적임 ― 과, 컴퓨터로 하여금 부호화 동안에 각 비디오 프레임 스트림을 분석하게 하여 적어도 하나의 부호화 특성에 관한 부호화 통계를 유도하는 컴퓨터 판독 가능한 프로그램 부호화 수단 ― 적어도 하나의 부호화 특성은 인터 프레임 부호화 특성 또는 인트라 프레임 부호화 특성 중 적어도 하나를 포함하고, 컴퓨터로 하여금 적응시키게 하는 컴퓨터 판독 가능한 프로그램 부호화 수단은 컴퓨터로 하여금 화상 통계와 함께 부호화 통계를 사용하게 하여 적어도 하나의 비디오 프레임 스트림에 대한 부호화를 적응시키는 컴퓨터 판독 가능한 프로그램 부호화 수단을 포함함 ― 을 포함한다.
다시 말해서, 예를 들어 MPEG­2 호환 가능한 비디오 부호화기를 사용하여 몇몇 비디오 프로그램을 병렬로 부호화하는 통계적 멀티플렉싱에 대한 해결책으로서의 장치를 본 명세서에 제시한다. 다수의 부호화기에 비트 레이트를 동적으로 할당하는 결합 레이트 제어 방안을 제공한다. 각 부호화기의 비트 레이트는 예를 들어 부호화될 프로그램 내에서 발생하는 장면 전환과 프로그램의 상대적인 복잡도에 기반하여 결정된다. 상대적인 복잡도는 특정 화상을 부호화하기 전에 얻어지는 "화상 통계"와 특정 화상의 부호화 결과로서 얻은 "부호화 통계"중 하나 또는 둘 모두를 사용하여 평가된다. 그러므로 화상 통계는 부호화될 현재 화상에 대한 특성이고 부호화 통계는 부호화된 이전 화상에 관한 정보를 제공한다.
이들 두 유형의 통계로부터 다수의 비디오 프레임 스트림 사이에 비트 레이트의 개선된 할당 방법을 제시한다. 또한 시작 단계와 장면 전환에서 예지 처리 방안을 사용하여 신규 장면에 대한 기록 부재에도 불구하고 비트 레이트를 정확하게 분배하게 한다. 예를 들어, 순수한 피드백 접근법에서 필요로 하는 사전 규정된 고정된 비트 레이트를 사용하는 대신에, 비디오 소스의 장면 내용에 기반하여 부호화를 시작할 때 부호화기에 채널 비트 레이트를 적응적으로 분배할 수 있다. 또한 순수한 피드백 접근 방안은 지연을 피할 수 없는 반면, 예지 접근 공정은 장면 전환에 대해 신속하게 반응하게 된다.
비디오 소스의 부호화는 각 부호화기 내에 동일한 GOP 구조와 GOP 길이를 요구할 필요가 없다. 각 부호화기가 GOP 내에서는 여전히 일정한 비트 레이트로 동작하는 반면 GOP 경계에서는 그 비트 레이트를 변화시킬 수 있는 것이 유리하다. 이러한 방안에 따라 구분적으로는 일정하지만 전체적으로는 가변인 비트 레이트 압축이 된다. 부호화기는 상이한 GOP 길이 및 구조로 동작할 수 있고 상이한 회수로 부호화될 수 있다. 그러므로 개별적인 비트 레이트의 합이 사전 규정된 채널 비트 레이트보다 크거나 작아지는 시간 간격이 있을 수 있다. 또한, 장면 전환에서 장치가 빠르게 반응하도록 하여 결과적으로 화질을 향상시킬 수 있는 장면 전환에 대한 방안을 제공한다.
도 1은 본 발명의 원리에 따라 통계적 멀티플렉서 장치 내에 사용되는 일반화된 MPEG­2 부합 부호화기(11)의 흐름도,
도 2는 I, P, B 화상과, 그들의 디스플레이 및 전송 순서의 예와, 전방 및 후방 움직임 예측을 설명하는 도면,
도 3은 본 발명의 제 1 실시예에 따라 구현된 다수의 스트림 비디오 압축 통계적 멀티플렉서 장치의 일 예에 대한 도면,
도 4는 본 발명에 따라 장면 전환 시의 화상 그룹 구조 변화의 일 예에 대한 도면,
도 5는 본 발명에 따른 통계적 멀티플렉서 장치의 시간에 대한 채널 버퍼 충진도의 일 예에 대한 도면,
도 6은 본 발명에 따른 통계적 멀티플렉서에서 16 메가비트/초의 채널 비트 레이트로 제 1 비디오 소스 세트를 부호화하는 비트 레이트의 일 예에 대한 도면,
도 7은 도 6의 제 1 비디오 소스 세트(Rc=16 메가비트/초)를 부호화하는 전체 비트 레이트에 대한 그래프,
도 8은 16 메가비트/초의 채널 버퍼를 사용하여 32 메가비트/초의 채널 비트 레이트로 도 6의 제 1 비디오 소스 세트를 부호화하는 경우의 채널 버퍼 충진도의 그래프,
도 9는 본 발명에 따른 통계적 멀티플렉서 내에서 24 메가비트/초 채널 비트 레이트로 제 2 비디오 소스 세트를 부호화하는 경우의 비트 레이트의 일 예에 대한 도면,
도 10은 도 9의 제 2 비디오 소스 세트(Rc=24 메가비트/초)를 부호화하는 경우의 전체 비트 레이트에 대한 도면,
도 11은 12 메가비트/초의 채널 버퍼를 사용하여 24 메가비트/초의 채널 비트 레이트로 도 9의 제 2 비디오 소스 세트를 부호화하는 경우의 채널 버퍼 충진도의 그래프,
도 12는 본 발명의 제 1 실시예에 따른 통계적 멀티플렉서 레이트 제어 처리의 일 실시예에 대한 흐름도.
도 13은 본 발명의 제 2 실시예에 따라 구현된 다수의 스트림 비디오 압축 통계적 멀티플렉서 장치의 일 예에 대한 도면,
도 14는 본 발명의 제 2 실시예에 따른 통계적 멀티플렉서 레이트 제어 처리의 일 실시예에 대한 흐름도.
도면의 주요 부분에 대한 부호의 설명
300: 통계 수집 단계
310 : 장면 전환 플래그 세팅 여부 결정 단계
320 : 신규 장면의 제 1 화상을 부호화하고 신규 GOP를 시작하는 단계
330 : 신규 장면의 복잡도 예측 단계
340 : 비트 레이트 계산 단계
350 : 장면 전환 플래그의 세팅 여부 결정 단계
360 : 버퍼 충진도 오차 방안 이용 단계
370 : 채널 버퍼 제어 방안 구현 단계
380 : 현재 프레임이 부호화기에서 부호화되는 비디오 프레임의 스트림의 GOP 경계에 있는 지의 여부를 결정하는 단계
390 : 신규 비트 레이트를 부호화기로 전송하는 단계
본 발명에 대한 전술한 목적, 장점, 특성은 물론 이밖의 다른 목적, 장점, 특성은 본 발명의 바람직한 실시예에 대한 후술하는 상세한 설명과 첨부된 도면으로부터 보다 용이하게 이해될 것이다.
Ⅰ. 제 1 실시예
위에서 간략히 언급한 바와 같이, 본 발명은 다수의 비디오 부호화기를 이용하여 비디오 프로그램의 다수의 스트림(예를 들면 채널)을 병렬로 부호화하기 위한통계적 멀티플렉싱 제어 방안에 관한 것이다. (MPEG 부합형 부호화기 및 상기 참조로서 인용되는 MPEG 국제 표준에 기술된 바와 같은 부호화 과정을 포함하는) 부호화기에 비트 레이트를 동적으로 할당하는 외부 결합 레이트 제어 방안이 이용된다. 각 부호화기의 비트 레이트는 프로그램의 상대적인 복잡도에 기반하여 결정되고 프로그램 내에서의 장면 전환 및 GOP 경계에서 조정이 이루어진다. 제안된 기법은 입력 소스의 외부 전처리를 전혀 필요로 하지 않는다. 도 1 내지 2는 본 발명에 따른 장치에 이용되는 단일 비디오 부호화기의 동작을 도시한다.
예시를 위해 MPEG 부합형 부호화의 일반화된 흐름도를 도 1에 도시한다. 이 흐름도에서 i번째 화상과 (i+1)번째 화상의 이미지가 처리되어 움직임 벡터가 생성된다. 움직임 벡터는 이전 및/또는 후속 화상의 어디에 화소 매크로 블럭이 있을 것인지를 예측한다. 움직임 벡터를 사용하는 것은 MPEG 표준에서의 시간적 압축의 중요한 특징이다. 도 1에 도시한 바와 같이, 일단 생성되면 움직임 벡터를 이용하여 일단 생성되면 i번째 화상으로부터 (i+1)번째 화상으로 화소 매크로 블럭이 병진 이동된다.
도 1의 부호화 과정에서, i번째 화상과 (i+1)번째 화상의 이미지가 부호화기(11) 내에서 처리되어 움직임 벡터가 생성된다. 후속 화상의 입력 이미지(111)는 부호화기의 움직임 추정 유닛(43)으로 간다. 움직임 벡터(113)는 움직임 추정 유닛(43)의 출력으로서 형성된다. 움직임 보상 유닛(41)은 이 움직임 벡터를 이용하여 이전 및/또는 미래 화상으로부터 참조 데이터로 지칭되는 매크로 블럭 데이터를 인출함으로써 이 유닛의 출력을 생성한다. 움직임 추정 유닛(43)으로부터의 출력에서 움직임 보상 유닛(41)의 하나의 출력이 감산되어, 이 감산된 값이 이산 코사인 변환기(DCT)(21)의 입력값으로 들어 간다. 이산 코사인 변환기(21)의 출력은 양자화기(23)에서 양자화된다. 양자화기(23)의 출력은 두 개의 출력(121, 131)으로 나눠지는데, 하나의 출력(121)은 전송하기 전에, 추가적인 압축 및 처리를 위해 가변 길이 부호화기(25)와 같은 다운 스트림 요소로 가고, 다른 출력(131)은 프레임 메모리(42) 내에서의 저장을 위해 부호화된 화소 매크로 블럭의 재구성을 거친다. 예시를 위해 도시한 부호화기에서, 이 제 2 출력(131)은 역 양자화기(29)와 역 이산 코사인 변환기(31)를 거쳐 차이 매크로 블럭의 유손실 버전을 리턴한다. 이 데이터는 움직임 보상 유닛(41)의 출력에 더해져 원래 화상의 유손실 버전을 프레임 메모리(42)로 리턴한다.
도 2에 도시된 바와 같이, 화상에는 세 가지 유형이 있다. "인트라 화상" 또는 "I 화상"은 전체적으로 부호화되고 전송되며 움직임 벡터를 정의할 필요가 없다. 이 "I 화상"은 움직임 추정의 참조 이미지로서 기능한다. "예측 화상" 또는 "P 화상"은 이전 화상으로부터의 움직임 벡터에 의해 형성되어 후속 화상에 대한 움직임 추정을 위한 참조 이미지로서 기능할 수 있다. 마지막으로, "양방향 화상" 또는 "B 화상"은 두 개의 다른 화상, 즉 하나의 이전 화상과 하나의 후속 화상으로부터의 움직임 벡터를 이용하여 형성되고, 움직임 추정의 참조 이미지로서는 기능하지 않는다.
다양한 유형의 화상이 몇 단계를 거쳐 부호화기(11)에 의해 양자화된다. 첫째로, 화상 유형에 따라 고유한 양자화 매트릭스가 8x8 DCT 블럭에 가해진다. 저주파 계수에 중요성이 부여되도록 매트릭스의 요소(가중치)가 선택된다. 이들 저주파 계수는 더 많은 정보를 구비하고 화상의 인지되는 화질에 더 큰 영향을 미친다. 국부 이미지 활성도, 화상 유형의 복잡도, 버퍼 충진도의 측정값에 기반하여 양자화 스케일링 팩터를 계산한다. 이 스케일링 팩터는 화상에 할당되는 비트 수 및 그 화상의 인지적 화질에 직접 관계된다. 실제 비트 수는 MPEG-2 표준에 정의된 공정을 따라 먼저 각 DCT 블럭을 스캐닝한 다음 양자화된 계수를 함께 그룹핑(grouping)함으로써 얻어진다. 각 그룹은 허프만(Huffman) 조견표를 이용하여 고유한 가변 길이 부호(VLC)로 엔트로피 부호화된다. DC 계수는 (움직임 벡터의 부호화와 유사한) 차분 펄스 부호 변조(DPCM) 및 균일 양자화를 이용하여 부호화된다.
엔트로피 부호화기의 출력은 엔트로피 복호화기의 입력이 된다. 복호화기의 출력은 역 주사, 역 양자화, 역 이산 코사인 변환을 거쳐 차이 매크로 블럭의 유손실 버전을 출력한다. 그 다음에 해당 분야에서 알려진 바와 같이 복호화된 화상은 지연기를 거쳐 움직임 추정 및/또는 움직임 보상부로 간다.
MPEG-2 부호화기의 동작 작용은 1997년 4월 1일에 카(Carr) 등에 의해 출원되어 공동 양도되고 동시 계류중이며 본 명세서에서 전체적으로 참조로 인용되는 카(Carr)등에 의한 "Control Scheme For Shared-Use Dual-Port Predicted Error Array" 라는 명칭의 미국 특허 출원 제 08/831,157 호에서 상세히 언급된다. 화상 그룹(Group of Pictures: GOPs) 또는 프레임에 대한 일정한 비트 레이트(constant bit rate: CBR) 및 가변 비트 레이트(Variable Bit Rate: VBR) 부호화 방안의 기초적인 내용은 1998년 3월 19일에 모세니안(Mohsenian)에 의해 출원되어 공동 양도되고 동시 계류중이며 본 명세서에서 전체적으로 참조로 인용되는 "Real Time Single Pass Variable Bit Rate Control Strategy And Encoder" 라는 명칭의 미국 특허 출원 제 09/044,642 호에서 상세히 언급되어 있다. 이하에서 언급되는 것과 같은 화상 통계 기법을 이용한 일련의 프레임에 대한 적응적 부호화는 1998년 3월 20일에 보이스(Boice) 등에 의해 출원되어 공동 양도되고 동시 계류중이며 본 명세서에서 또한 전체적으로 참조로 인용되는 "Adaptive Encoding of a Sequence of Still Frames or Partially Still Frames Within Motion Video" 라는 명칭의 미국 특허 출원 제 09/046,118 호에 보다 상세히 언급되어 있다.
이상의 정보를 배경으로 하여 본 발명의 원리에 따른 통계적인 멀티플렉싱 및 레이트 제어 방안을 도 3 내지 12를 참조로 이하에서 기술한다.
전형적인 통계적 멀티플렉싱 장치에 있어서, 몇 개의 비디오 비트 스트림이 하나의 단일한 일정한 비트 레이트 채널로 멀티플렉싱된다. 불행하게도, 사전 정의된 일정한 비트 레이트에서의 각 프로그램의 부호화는 시간의 경과에 따른 장면 내용의 전환에 의한 화질 저하를 초래할 수 있다. 따라서, 본 발명에 따른 다중 프로그램 압축의 제 1의 목적은 이용 가능한 대역폭을 프로그램에 동적으로 배분하여 장치의 전반적인 화질을 최대화하는 것이다. 이것은 개별적인 부호화기를 안내하는 결합 레이트 제어 알고리즘을 이용하여 모든 프로그램의 화질을 동등하게 하는 것에 해당한다. 본 발명은 고정된 채널 비트 레이트의 요구 조건을 만족시키면서, 비디오 소스의 상대적인 장면 내용에 따라 부호화기에 비트 레이트를 할당한다.
더 구체적으로는, MPEG-2 부합형 비디오 부호화기를 이용하여 몇개의 비디오 프로그램을 병렬로 부호화하는 통계적 멀티플렉싱에 대한 해결책으로서의 장치를 제공한다. 부호화기에 비트 레이트를 동적으로 할당하는 외부 결합 레이트 제어 알고리즘에 대해 기술하고자 한다. 각 부호화기의 비트 레이트는 프로그램의 상대적인 복잡도 및 프로그램 내에서의 장면 전환에 기반하여 결정된다. 본 발명에 따른 장치/방법은 입력 소스의 외부 사전 처리를 전혀 필요로 하지 않는다. 또한 비디오 소스의 부호화는 각 부호화기 내에서 동일한 GOP 구조 또는 GOP 길이를 갖는 것으로 제한되지 않는다. 각 부호화기는 GOP 내에서 일정한 비트 레이트로 동작하면서도 결합 레이트 제어에 따라 GOP 경계에서 그 비트 레이트를 변화시킨다. 이 방안은 구분적으로는 일정하지만 전반적으로는 가변인 비트 레이트 압축이 이뤄지도록 한다. 실험 결과에 따르면 본 발명에 따른 다중 프로그램 비디오 압축 장치는 그 상대적인 단순함에도 불구하고 외부 사전 처리 없이도 좋은 화질을 나타내고 있다. 또한 상업적으로 이용 가능한 MPEG-2 부호화기 칩을 이 장치에 성공적으로 사용할 수 있다.
기본적으로, 결합 레이트 제어, 피드백(feedback) 접근 방안, 예지 접근 방안에 대해 두 개의 상이한 접근 방안이 가능하다. 피드백 접근 방안에 있어서, 통계가 부호화기에 의해 부호화 과정의 부산물로서 생성된다. 그 다음 이들 통계를 사용하여 후속 화상에 대한 비트 할당을 제어한다. 예지 접근 방안에서, 통계는 부호화에 앞서 전처리기에 의해 계산되는데, 그 다음에 이들 통계를 사용하여 화상의 부호화에 앞서 비트 레이트를 조정한다. 어느 접근 방안을 사용하든 프로그램의 복잡도를 기술하는 최적의 통계를 찾아낼 수 있다. 피드백 접근 방안에 있어서, 통계는 대부분 관련된 양의 부호화에 한정된다. 예지 접근 방안은 선택에 있어서 더 자유롭기는 하지만 계산상의 복잡함 및/또는 디바이스의 추가라는 문제가 따른다.
이 두 접근 방안에서, 결합 레이트 제어 알고리즘이 각 화상에 대한 비트 레이트를 계산하고 개별적인 부호화기의 각각에 대한 전체적인 레이트 제어를 수행할 것이다. 이로써 가변 비트 레이트 부호화가 이뤄지게 된다. 통상적으로, 이와 같은 레이트 제어 알고리즘은 각 부호화기 내에서 대부분 동일한 GOP 구조를 필요로 할 것이지만 이것은 실제와는 거리가 멀다. 부호화기는 상이한 GOP 길이 및 구조에서 동작할 수 있고 동작한다.
본 발명에 따라 피드백 접근 방안을 이용하여 부호화기에 비트 레이트를 동적으로 할당함으로써 통계적 멀티플렉싱에 대한 해법을 개시한다. 레이트 제어 방안은 프로그램의 상대적인 복잡도에 기반하여 부호화기에 채널 비트 레이트를 분배한다. 프로그램의 복잡도는 압축된 비트 스트림과 함께 부호화기에 의해 생성된 부호화 통계를 이용하여 결정된다.
결합 레이트 제어 알고리즘에 의해 각 화상에 대한 목표 비트 레이트를 계산하는 대신에, GOP 경계에서 또는 장면 전환이 발생하면 비트 레이트를 변화시킨다. 이 방안은 부호화기가 GOP 내에서 일정한 비트 레이트로 동작하게 함으로써 구분적으로는 일정하지만 가변인 비트 레이트 압축이 이뤄지도록 한다. 부호화기가 반드시 동일한 GOP 구조를 가져야 하는 것은 아니다. 즉, GOP 경계는 각 부호화기 내에서 상이한 회수로 발생할 수 있다. 부호화기의 상이한 GOP 구조로 인해, 채널 버퍼 및 해당 버퍼 제어 피드백 루프가 본 발명에 따른 장치에 도입된다. 장면 전환시에 GOP 구조를 동적으로 변화시키고 적당한 비트 레이트 변화를 허용함으로써 신속한 반응을 보증한다. 본 발명의 장치/방법은 예를 들어 IBM 사의 단일 칩 MPEG-2 비디오 부호화기, 파트 번호 IBM39 MPEGS422 PBA 17C를 이용하여 구현될 수 있다.
이하의 섹션 1은 본 발명에 따른 다중 프로그램 비디오 압축 장치를 기술한다. 본 발명의 결합 레이트 제어 방안에 대해서는 섹션 2에서 상세히 기술한다. 장면 전환 시의 결합 레이트 제어 방안에 대해서는 섹션 3에서 상세히 기술한다. 채널 버퍼의 최소 크기의 결정 및 해당 채널 버퍼 제어에 대해서는 섹션 4에서 상세히 기술한다. 본 발명의 장치에서 상업적으로 이용 가능한 단일 칩 MPEG-2 부호화기를 사용하는 것에 대해서는 섹션 5에서 강조한다. 실험 결과는 섹션 6에서 기술된다.
1. 다중 프로그램 비디오 압축 장치
도 3은 본 발명의 피드백 접근 방안을 이용하여 몇 개의 프로그램(소스(1), 소스(2),...., 소스(n))을 병렬로 부호화하는 다중 프로그램 비디오 압축 장치(200)를 도시한다. 예시적 장치(200)는 몇개의 MPEG-2 부호화기(210), 부호화기(210)에 접속된 개별적인 버퍼(220), 결합 레이트 제어기(230), 멀티플렉서(240), 채널 버퍼(250)로 구성된다. 각 부호화기는 방금 부호화된 화상에 관한 통계를 생성한다. 이 통계들은 결합 레이트 제어 알고리즘(230)에 대한 입력 파라미터들인데, 결합 레이트 제어 알고리즘(230)은 이하에서 기술하는 바와 같이 각각의 개별적인 부호화기의 비트 레이트를 동적으로 계산한다.
제안된 장치(200)에서, 각 부호화기(210)의 비트 레이트는 해당 프로그램 내에서 장면 전환이 일어날 때 프로그램(소스 1, 소스 2, 소스 3,... 소스 n)의 상대적인 복잡도에 기반하여 결정된다. 부호화기는 바람직하게는 MPEG-2 표준에 부합하는 비트 스트림을 생성한다. 장면 전환을 감지한 경우 이외에는 통상적으로 부호화기(210)의 안쪽 또는 바깥쪽에서 행해질 수 있는 입력 소스에 대한 부가적인 전처리가 필요하지 않다. 각 부호화기는 결합 레이트 제어기(230)에 따라 장면 전환시에 또는 GOP 경계에서 또는 비트 레이트를 변화시킨다. 이것은 부호화기가 MPEG-2 표준에 따라 CBR(일정한 비트 레이트) 비디오 버퍼 검정 모델을 이용하여 GOP 내에서 CBR로 동작하도록 한다. 전반적으로 이 방안은 구분적으로는 일정하지만 전반적으로는 가변인 비트 레이트 압축이 이뤄지도록 한다.
비디오 소스의 부호화가 각 부호화기에서 동일한 GOP 구조 또는 GOP 길이를 갖는 것에 제한되지 않는다. GOP 경계가 각 부호화기 내에서 상이한 회수로 발생할 수 있고 비트 레이트 변화가 GOP 경계에서만 효과를 발휘하기 때문에, 채널 버퍼(250)를 사용하여 채널 레이트의 가능한 언더 플로우 또는 오버 플로우를 보상한다. 채널 버퍼 제어 피드백(255)은 또한 채널 버퍼(250)의 오버 플로우나 언더 플로우를 방지하기 위해 결합 레이트 제어 알고리즘(230) 내에 도입된다.
본 발명의 다음 설명에서, 결합 레이트 제어 방안, 채널 버퍼의 최소 크기의 결정, 대응되는 채널 버퍼 제어를 보다 상세히 설명하고자 한다.
2. 결합 레이트 제어
본 명세서에 제시한 결합 레이트 제어 방안은 피드백 개념에 기반하는데, (압축된 비트 스트림과 함께) 부호화기에 의해 생성된 통계는 채널 버퍼(250)의 충진도에 대한 정보와 함께 결합 레이트 제어기(230)로 공급된다. 부호화되는 프로그램의 비트 레이트는 그 프로그램의 복잡도와 병렬로 부호화되는 모든 프로그램의 복잡도의 합 사이의 비율에 비례한다고 가정한다. 이 비율은
로 표현되는데, 여기서 Ri는 프로그램 i의 비트 레이트이고 Rc는 채널 레이트이며 Xi는 프로그램 i의 복잡도이다.
화상 복잡도의 결정은 MPEG-2 시험 모델 5(1993년 4월에 발간된 ISO/IEC JTCI/SC29/WG11 N0400, "시험 모델 5" 참조)에서 제안된 것과 유사한 사용 비트 생성 모델에 기반한다. 이 결정은
로 표현되는데, 여기서 cj는모델 파라미터이고 화상 내에서 목표 비트 수 bj를 생성하기 위해서는 소정의 양자화 스케일 Qj가 세팅되어야 한다. 수학식 2에 기반하여, GOP를 디스플레이하는 시간 간격 동안에 프로그램 i의 비트 레이트가
와 같이 계산되는데, 여기서 cij는 화상 j에 대한 비트 생성 모델 파라미터이고, Qij는 화상 j에 대한 양자화 파라미터이며, Ni는 GOP 내의 화상 수이고, fi는 프로그램 i의 프레임 레이트이다. 통계적 멀티플렉서(stat-mux) 장치의 목적은 프로그램에 다음 수학식 4가 만족되도록 채널 대역 폭을 배분하는 것이다.
모든 프로그램의 화질을 동등하게 하기 위한 목적을 성취하기 위해, 이상적인 양자화 파라미터가 수학식 3과 수학식 4를 이용하여 다음 수학식 5에 의해 유도될 수 있다.
이러한 이상적인 양자화 파라미터는 각 프로그램 내의 모든 화상에 대해 동등한 화질이 나타나게 할 수 있다. 수학식 5에서의 Qideal을 이용하여, 각 프로그램의 비트 레이트는 다음 수학식 6에 의해 계산된다.
본 발명에 따른 통계적 멀티플렉서 장치에서, cij는 bijQij와 같으며, bij는 화상을 부호화하는 데 사용되는 비트이고, Qij는 평균 양자화 파라미터이다. 또한 프로그램의 복잡도는 GOP 크기인 슬라이딩 윈도우을 이용하여 화질 복잡도의 평균으로 계산된다.
프로그램 복잡도의 관련성으로 인해, 프로그램 내에서 장면 전환이 일어나지 않았더라도 그 프로그램 내의 모든 GOP 경계에서 비트 레이트 변화가 일어날 수 있다. 장면 컷(scene cut)이 없는 프로그램 내에서 비트 레이트가 너무 급작스럽게 변하면 비록 장치의 전체 화질이 개선되더라도 화질이 GOP 단위로 심각하게 변할 수 있다. 이런 상황을 방지하기 위해, 비트 레이트 변화는 GOP 경계에 국한될 것이지만 장면 전환시에는 그렇지 않으며, 바람직하게는 어떤 제한도 부여되지 않는다. 예를 들면, 장면 전환이 일어나지 않는 경우에 GOP 경계에서의 이전 비트 레이트에 비해 약 10 % 정도 변하는 것은 허용될 수 있다. 장면 컷이 발생하면, 비트 레이트 변화에는 아무런 제한이 없다.
3. 장면 전환시의 결합 레이트 제어
비디오 데이터의 스트림에서, 장면 전환은 언제든지 일어날 수 있다. 장면 전환은 임의의 화상 유형 및 임의의 GOP 위치에서 발생할 수 있다. 이상에서, 비트 레이트 변화는 GOP 경계에서만 유효하고, GOP 내에서는 부호화기가 일정한 비트 레이트(CBR) 모드로 동작한다고 가정하였다. 이 접근 방안의 단점은 이러한 방안이 프로그램의 복잡도 변화에 대한 장치의 신속한 반응을 방해한다는 점이다. 이러한 문제점을 극복하기 위해 바람직하게는 장면 전환 상황에서 특수 공정이 도입된다.
부호화기 내부에서 또는 부호화기 외부에서 각 프로그램의 연속 화상 간의 장면 전환 감지 분석을 수행하여 신규 장면의 제 1 화상을 부호화하기에 앞서 장면 전환이 알려지게 된다. 장면 전환이 일어나면 현재 GOP는 조기에 종료된다. 본 발명의 일 실시예에 있어서 신규 장면의 제 1 화상은 조기에 종료된 GOP의 마지막 화상으로서 부호화되며, 그 다음에 제 1 화상의 통계를 사용하여 신규 장면의 복잡도를 예측하고, 결과적으로 수학식 6을 이용하여 후속 GOP에 대한 비트 레이트를 계산한다. 도 4는 장면 전환이 일어나는 경우 신규의 GOP 구조화 함께 원래의 GOP 구조의 예를 도시한다. 장면 전환이 어떤 화상 유형에서 일어나는 가에 따라 세 가지 경우가 구별된다.
신규 장면 복잡도의 예측은 상이한 화상 유형에 대하여 경험적으로 결정된 상대적 복잡도에 기반한다. 종료된 GOP의 마지막 화상인 신규 장면의 제 1 화상이 P 화상이고 모든 매크로 블럭이 인트라 부호화되면, 이 화상의 복잡도는 I 복잡도로서 고려된다. 이 I 복잡도에 기반하여 신규 장면의 평균 복잡도(Xi)가 다음 수학식 7에 의해 계산된다.
여기서, XI는 I 화상의 복잡도이고, nP와 nB는 각각 GOP 내에서의 P 화상의 수와 B 화상의 수이며, rP와 rB는 각각 I 화상 복잡도에 대한 P 화상 복잡도와 B 화상 복잡도의 비율이다. rP와 rB의 전형적인 값은 각각 0.5와 0.25이다. 복잡도 Xi는 수학식 7에서 비트 레이트 계산을 위해 사용된다. 더 많은 화상이 신규 GOP 내에서 부호화될수록 사용되는 실제 비트 및 화상을 부호화하는 데 사용되는 평균 양자화 파라미터를 적용함으로써 바람직하게는 복잡도가 계속적으로 갱신된다. GOP의 부호화가 계속됨에 따라, 신규 장면의 복잡도의 예측은 실제 부호화 통계를 이용하여 변화될 것이다.
앞서서, 부호화기는 GOP 내에서 CBR 모드로 작동하며 각 부호화기는 CBR 비디오 버퍼 검정 모델을 사용한다고 한 바 있다. 버퍼의 언더 플로우(underflow)도 오버 플로우(overflow)도 허용되지 않는다. 예를 들면, CBR 레이트 제어 알고리즘의 목적은 GOP의 끝에서의 버퍼 충진도가 초기 버퍼 충진도(예를 들어 버퍼 크기의 약 80% 정도)와 같아지게 보장하는 것일 수 있다. 그러나 목표 비트 할당과 화상 당 사용되는 실제 비트 사이의 불일치로 인해 항상 같아지는 아니다. GOP 내에서 비트의 과대 생성 또는 과소 생성 때문에 버퍼 충진도는 각각 초기 레벨보다 높거나 낮을 수 있다. 상당히 큰 버퍼 충진도 오차가 누적될 수 있다. 이 오차는 이월되어 그 다음의 GOP 내에서 보상되도록 시도된다. GOP 경계에서 비트 레이트의 변화가 없거나 또는 매우 작은 경우에는 이 레이트 제어가 잘 된다. 그러나, 장면 전환에서와 같이 비트 레이트가 급격하게 변하면 본 발명에 따른 버퍼 충진도 오차(Buffer fullness error: BFE) 방안을 적용하여 화질을 더욱 개선한다.
장면 전환이 일어나면 장면 전환 후의 신규 GOP의 시작에서 버퍼 충진도 오차는 0으로 간주된다. 각 부호화기에 접속된 버퍼의 언더 플로우나 오버 플로우를 방지하기 위해 수학식 6에 의해 계산된 비트 레이트는 다음 수학식 8에 의해 변형된다.
여기서, Ri는 수학식 6에 따라 프로그램 i에 대한 계산된 비트 레이트이고, E는 버퍼 충진도 오차 비트이며, Ni는 GOP 내의 화상의 수이고, fi는 프로그램 i에 대한 프레임 레이트이다. 프로그램의 비트 레이트는 버퍼 충진도 오차가 양이면(GOP의 시작에서 버퍼 충진도는 초기 버퍼 충진도보다 작았다) 증가될 것이고 E가 음이면 감소될 것이다. GOP 내에서의 레이트 제어를 위해 초기 버퍼 충진도는 예를 들면 버퍼 크기의 약 80%를 사용하는 대신에 이전 GOP의 끝에서의 버퍼 충진도로 간주된다. BFE 방안은 장면 전환 후 개선된 화질이 이뤄지도록 한다.
4. 채널 버퍼 크기 및 피드백 제어
부호화기가 상이한 GOP 길이 및 구조에서 동작할 수 있거나 또는 상이한 회수로 부호화를 시작할 수 있다는 사실 때문에, 개별적인 비트 레이트의 합이 사전 규정된 채널 비트 레이트보다 크거나 작은 시간 간격이 있을 수 있다. 이것을 해결하기 위해 정확히 채널 비트 레이트로 비트 스트림을 출력할 채널 버퍼가 필요하다. 두 개의 논점이 이 버퍼와 관련하여 고려되어야 한다. 이들 두 논점은 버퍼의 최소 크기의 결정과 채널 버퍼의 언더 플로우나 오버 플로우를 방지하기 위한 제어 방안이다.
채널 비트 레이트로부터의 최대 전체 편차가 ΔRmax라고 가정하고, 최악의 경우 이 편차의 최대 지속 시간이 부호화기의 가장 긴 최대 GOP 시간만큼 클 수 있다고 가정한다. 이 경우에, 필요한 채널 버퍼의 최소 크기는 다음 수학식 9로 결정된다.
여기서, ΔRmax는 ΣRi-Rc와 동일하고tgopmax는 최대 GOP 시간이다.
수학식 9에서 채널 비트 레이트의 과대 생성(overproduction)은 물론 과소 생성이 가정되고, 버퍼가 먼저 채널 버퍼의 최소 크기인 Bs의 절반이 될 때까지 충진되고 그 후에 그 버퍼가 계속적으로 Rc의 레이트로 비트를 출력하기 때문에 배수 2가 사용된다. 이 경우에 초기 지연은 버퍼를 그 크기의 절반까지 충진시키는 데 요구되는 시간에 해당한다. 일 예로, 채널 버퍼 레이트가 16 메가비트/초이고, ΔRmax는 8 메가비트/초 이며, tgopmax는 0.5 초일 경우에, 최소 버퍼 크기는 8 메가비트이고, 30 프레임/초의 프레임 레이트에서의 대응되는 초기 지연은 0.25 초가 된다. 수학식 9에 의해 결정된 것보다 더 작은 채널 버퍼를 통계적 멀티플렉서 장치에 사용하기를 원한다면 채널 비트 레이트로부터의 최대 전체 편차는 그에 따라 제한되어야 함에 주목해야 한다.
채널 버퍼가 언더 플로우 또는 오버 플로우 되는 것을 방지하기 위해 (도 5에서 도시한) 버퍼 모델이 바람직하게 사용된다. 채널 버퍼 모델은 버퍼의 상부 및 하부에서 사전 규정된 감시 대역(guard band)을 포함한다. 이들 감시 대역을 사용하여 비트 레이트의 분배를 조절한다. 언더 플로우 또는 오버 플로우를 방지하기 위해 임의의 시간에서의 버퍼 충진도(Bf)는 다음 수학식 10을 만족해야 한다.
실제 버퍼 충진도(Bf)에 따라 세 가지 경우가 구별될 수 있다. 이 세 가지 경우를 해당 비트 레이트의 변형과 함께 이하에 기술한다.
경우 1
이 경우는 버퍼 충진도가 감시 대역 사이에 있는 경우로서, 다음 수학식 11이 성립한다.
여기서 파라미터 "a"는 감시 대역의 크기를 결정하는데, 그것은 예를 들어 0.25로 선택될 수 있다.
이 경우에 프로그램에 대한 계산된 비트 레이트는 극단적인 환경을 제외하고는 일반적으로 변형되지 않는다.
수학식 12와 수학식 13이외의 경우에는 아무런 조치도 취하지 않는다.
경우 2
이 경우는 버퍼 충진도가 상한 감시 대역 내에 있는 경우로서 다음 수학식 14가 성립한다.
이 경우에는 버퍼 충진도를 감소시키거나 Bf에 머무르게 하는 비트 레이트 변화만이 허용된다.
수학식 15와 수학식 16이외의 경우에는 아무런 조치도 취하지 않는다.
경우 3
이 경우는 버퍼 충진도가 하한 감시 대역 내에 있는 경우로서 다음 수학식 17이 성립한다.
이 경우는 버퍼 충진도를 증가시키거나 Bf에 머무르게 하는 비트 레이트 변화만이 허용된다.
수학식 18과 수학식 19이외의 경우에는 아무런 조치도 취하지 않는다.
5. 통계적 멀티플렉서 장치에서의 MPEG-2 부호화기의 사용
본 발명의 원리에 따른 다중 프로그램 비디오 압축 장치에 사용되는 모든 MPEG-2 부호화기는 적어도 앞에서 기술한 결합 레이트 제어 알고리즘에 의해 요구되는 필수 불가결한 통계를 제공할 수 있어야 한다. 부호화기는 또한 GOP 경계에서 비트 레이트를 변화시킬 수 있어야 한다. 본 발명의 장점을 더 잘 이용하기 위하여 장면 전환이 있는 경우에, 부호화기는 GOP 구조를 동적으로 변화시키고, 버퍼 충진도 오차를 계산하기 위한 양을 제공하며, 외부적으로 또는 내부적으로 장면 전환 감지 및 반응을 수행할 수 있어야 한다.
6. 실험 결과
본 발명에 따라 구현된 장치의 성능을 보여 주기 위해, 상이한 장면 내용의 화상 시퀀스를 이용하여 시뮬레이션을 통해 몇 가지 실험 결과을 수행했다. 개발된 다중 프로그램 비디오 압축 장치를 4 개의 MPEG-2 부호화기(부호화기(1), 부호화기(2), 부호화기(3), 부호화기(4))를 이용하여 시뮬레이션 했다. 각각의 부호화기는 요구되는 화상 통계를 출력할 수 있는 능력을 지녔다. 장면 전환 감지를 부호화기 내부에서 수행했다. 비디오 소스는 그 각각이 예를 들면 스포츠 장면, 자연 풍경, 상반신 화상 장면 등과 같은 상이한 장면 내용을 나타내며 각각 장면 전환을 포함하는 방식으로 선택되었다.
비디오 소스의 제 1 세트는 4:4:2 크로마(chroma) 포맷인 일본 IBM사의 광고, 탁구, 화단과 모빌 달력(화당 뒤에 모빌 달력이 뒤따름)과 MTV 로고가 새겨진 케어(care)였다. 이 소스는 4:2:0 크로마 포맷으로 부호화 되었다. 두개의 B 화상은 앵커 화상 사이에 위치되었다. 닫힌 GOP 길이는 부호화기(1, 2)에서 16으로 선택되었고 부호화기(3, 4)에서 13으로 선택되었다. 프레임 레이트는 각 부호화기에서 29.97 프레임/초였다. 수학식 9에 따라 채널 레이트는 16 메가비트/초였고 채널 버퍼 크기는 8 메가비트/초였다. 각 부호화기는 4 메가비트/초의 비트 레이트로 부호화를 시작하였다. 이러한 초기 비트 레이트는 본 발명의 결합 레이트 제어 방안에 따라 동적으로 변화되었다.
도 6에서 결합 레이트 제어기를 이용하여 각 부호화기에 동적으로 할당되는 비트 레이트를 도시한다. 일본 IBM사 광고와 MTV 시퀀스가 다른 두 소스에 대해 더 낮은 비트 레이트를 가졌음을 알 수 있었다.
도 7에서 비디오 소스의 제 1 세트를 이용하여 4 개의 부호화기에 의해 생성된 전체 비트 레이트를 도시한다. 그래프는 채널 버퍼 및 피드백 제어의 필요성을 보여주면서 16 메가비트/초에서 채널 비트 레이트의 과소 생성 또는 과대 생성을 도시한다.
제안된 장치의 성능은 각 부호화기가 고정된 비트 레이트로 그 소스를 부호화 하는 방안과 비교되었다. 이들 부호화기는 자체적으로 장면 전환 감지를 수행하였다. 표 1은 본 발명의 장치를 사용하여 비디오 시퀀스의 제 1 세트에 대한 CBR 모드에서의 고정된 비트 레이트(4 메가비트/초)로 달성된 평균 PSNR 값을 나타낸다.
표 1에서 나타나 있듯이, 쉬운 소스(일본 IBM, MTV)가 고정된 4 메가비트/초의 레이트에서보다 통계적 멀티플렉서 장치에서 약간 더 낮은 화질로 부호화되었다. 그러나, 이것은 더 복잡한 소스(탁구, FG&MC)가 고정된 CBR 모드에서보다 제안된 장치에서 더 높은 화질로 부호화되게 한다. 따라서 본 발명에 따른 통계적 멀티플렉서 장치는 고정된 비트 레이트의 장치에 비해 전반적으로 더 우수한 화질을 제공하였다.
표 2는 동일한 비디오 소스를 이용하는 16 메가비트/초의 채널를 갖는 32 메가비트/초의 채널 비트 레이트에 대한 평균 PSNR 값과 8 메가비트/초 CBR 모드의 고정된 비트 레이트에 대한 평균 PSNR 값을 나타낸다.
채널 버퍼 모델 및 피드백 제어의 효과를 보여 주기 위해, 도 8은 32 메가비트/초의 채널 비트 레이트로 시퀀스를 부호화하는 동안의 버퍼 채널 충진도를 도시한다. 도 8에서 볼 수 있듯이, 부호화 중에 어떤 언더 플로우 또는 오버 플로우도 일어나지 않았다.
16 메가비트/초의 채널 비트 레이트에 대해 표 3에서 제안된 버퍼 충진도 오차(BFE) 방안을 이용한 경우와 BFE 방안을 이용하지 않은 경우의 장면 전환 후의 제 1 화상에 대한 PSNR 값을 제시한다. 표 3에서 나타나듯이, BFE 방안을 사용하지 않는 알고리즘에 비교하여 본 명세서에서 기술하는 BFE 방안을 사용함으로써 약 0.64 내지 2.17 dB만큼 PSNR 값이 개선되었다.
두 번째 실험 세트에서, IBM사의 월드북 광고(부호화기(1)), 혼합 영상 d (부호화기(2)), 미식 축구 (부호화기(3)), 혼합 영상 e (부호화기(4))를 입력 소스로서 사용했다. 혼합 영상 e 내에는 수지(Susie) 시퀀스에 이어 오두막이 있는 숲이 등장하는 반면 혼합 영상 d는 자전거, 초고층 빌딩, 야구 시퀀스가 등장한다. 이들 소스들은 비디오 소스의 제 1 세트보다 다소 더 복잡하며, 따라서 채널 비트 레이트가 24 메가비트/초로 선택되었고 채널 버퍼가 12 메가비트로 선택되었다. 부호화기(3, 4)에 대해서는 닫혀진 GOP 길이가 16인 반면 부호화기(1, 2)에 대해서는 닫혀진 GOP 길이가 13인 것을 제외하고는, 부호화 파라미터가 제 1 실험 세트에서와 동일하였다. CBR의 경우에, 비트 레이트는 6 메가비트/초로 고정되었다. 도 9는 본 발명의 결합 레이트 제어 방안에 따른 부호화기에 대한 동적인 비트 레이트 변화를 도시한다. 도 10은 제 2 비디오 소스 세트를 부호화하기 위한 전체 비트 레이트를 도시하는데, 도 10은 24 메가비트/초에서 채널 비트 레이트의 과소 생성 또는 과대 생성을 표시한다.
표 4는 CBR 모드에서의 고정된 비트 레이트(6 메가비트/초)와 제안된 장치에 의해 달성된 평균 PSNR 값을 나타낸다. 표 4는 화질면에서 제 1 실험 세트에 대해 달성한 것과 같은 경향을 보여 준다. 본 발명의 통계적 멀티플렉서 장치는 CBR 모드에 비해 좀더 복잡한 소스(복합 영상 d, 미식 축구)의 화질을 개선한 반면 단순 소스(IBM 월드북, 혼합 영상 e)에 대해 약간 낮은 화질을 나타냈다.
도 11은 버퍼 오버 플로우 또는 언더 플로우를 나타내지 않으면서 24 메가비트/초의 채널 비트 레이트에서 제 2 비디오 소스 세트를 부호화하는 채널 버퍼 충진도를 도시한다.
7. 공정 개요
도 12는 본 발명에 따른 부호화 공정의 개요를 도시한다. 통계는 피드백으로서 개별 부호화기로부터 레이트 제어기로 공급된다. 통계 획득 단계(300)에서 이 통계는 사용되는 비트, 평균 MQUANT, 버퍼 충진도를 포함할 수 있다. 또한 전술한 바와 같이 장치에서 발생하는 최대 GOP 길이와 채널 버퍼 충진도와 각각의 비디오 프레임 스트림에서 발생하는 장면 전환에 관한 정보도 제공된다. 채널 버퍼 충진도는 채널 버퍼 그 자체로부터 피드백 신호로서 수신된다. 단계(310)에서 비트 레이트 제어기는 장면 전환을 표시하는 장면 전환 플래그가 세팅되었는 지의 여부를 먼저 결정한다. 이 단계에서의 판단 결과가 긍정적(YES)이면 단계(320)에서신규 장면의 제 1 프레임을 이전 장면의 마지막 프레임으로서 부호화하거나 신규 화상 GOP의 제 1 화상으로서 부호화한다. 그 다음 단계(330)에서 이 신규 장면의 제 1 화상을 이용하여 신규 장면의 복잡도를 예측한다. 공정은 단계(330) 이후에 단계(340)로 진행한다. 한편, 단계(310)에서의 결과가 부정적(NO)이면 공정은 단계(340)로 간다.
단계(340)에서 각 부호화기에 대한 비트 레이트(Ri)를 계산한다. 그 다음 단계(350)에서 장면 전환 플래그가 세팅되었는 지의 여부를 다시 결정하는데, 그 결과가 긍정적이면 단계(360)에서 버퍼 충진도 오차 방안(BFE)을 이용하여 부호화기에 대한 비트 레이트(Ri)를 변형된 비트 레이트(Rmod)로 변형한다. 공정은 단계(360) 이후에 단계(370)로 진행한다. 한편, 단계(350)에서의 결과가 부정적(NO)이면 공정은 단계(370)로 진행한다. 단계(370)에서는 채널 버퍼 제어 방안을 전술한 바와 같이 구현한다. 그 다음, 단계(380)에서 현재 프레임이 부호화기(i)에서 부호화되는 비디오 프레임 스트림의 GOP 경계에 있는 지 여부를 결정한다. 이 결과가 부정적이면 공정은 단계(300)으로 되돌아 가서 다음 입력 파라미터 세트를 수집한다. 그러나 이 결과가 긍정적이면, 즉 현재 프레임이 GOP의 경계에 있으면 단계(390)에서 신규 비트 레이트(Ri)를 부호화기(i)로 전송한다.
본 발명을 다시 요약하면, 비디오 스트림을 병렬로 부호화하여 공통 채널 상으로 멀티플렉싱하는 다수의 부호화기에 비트 레이트를 동적으로 할당하는 결합 레이트 제어 방안을 제공한다. 프로그램의 상대적인 복잡도 및 프로그램에서 일어나는 장면 전환에 기반하여 부호화기에 채널 비트 레이트를 분배한다. 본 명세서에서 기술한 방안은 입력 소스의 외부 전처리를 필요로 하지 않는다. 프로그램의 복잡도는 압축된 비트 스트림과 함께 부호화기에 의해 생성되는 부호화 통계 및 장면 전환 감지에 기반하여 결정된다. 각 화상에 대한 목표 비트 레이트를 계산하는 대신에 GOP 경계에서 또는 장면 전환이 일어나는 경우에 비트 레이트가 변화된다. 이렇게 함으로써 부호화기는 GOP 내에서 일정한 비트 레이트(CBR)로 동작한다.
GOP 경계에서만 비트 레이트를 변화시키는 것은 프로그램의 복잡도 변화에 대한 결합 레이트 제어기의 반응 시간을 제한한다. 이 문제를 처리하기 위해, 비디오 프레임 스트림 내에서 각각의 연속하는 화상 사이에서 장면 전환 감지가 수행되고 신규 장면 내의 제 1 프레임의 부호화에 앞서서 장면 전환 감지가 알려진다고 가정한다. 또한 부호화기가 GOP 구조를 동적으로 변화시킬 수 있다고 가정하는데, 이러한 가정은 상업적으로 이용 가능한 부호화기 상에서 이용 가능한 성능이다. 장면 전환이 발생하면 현재 GOP는 조기에 종료되고 신규 장면의 제 1 화상이 부호화 된다. 그 다음 이 신규 장면의 제 1 화상으로부터의 통계를 사용하여 신규 장면의 복잡도를 예측하고, 결과적으로 후속 GOP에 대한 비트 레이트를 계산한다.
Ⅱ. 제 2 실시예
위에서 간략히 언급한 바와 같이, 본 발명은 다수의 비디오 부호화기를 이용하여 비디오 프로그램의 다수의 스트림(예를 들면 채널)을 병렬로 부호화하기 위한통계적 멀티플렉싱 제어 방안에 관한 것이다. (MPEG 부합형 부호화기 및 상기 참조로서 인용되는 MPEG 국제 표준에 기술된 바와 같은 부호화 과정을 포함하는) 부호화기에 비트 레이트를 동적으로 할당하는 외부 결합 레이트 제어 방안이 이용된다. 각 부호화기의 비트 레이트는 프로그램의 상대적인 복잡도에 기반하여 결정되고 프로그램 내에서의 장면 전환 및 GOP 경계에서 조정이 이루어진다. 제안된 기법은 화상 통계와 부호화 통계 둘다 또는 이 둘중 어느 하나를 이용하여 상대적인 복잡도를 결정한다. 여기서 언급한 "화상 통계" 또는 "이미지 통계"는 부호화될 화상을 예지하고 평가하여 모아진 적어도 하나의 화상 특성에 관한 정보를 지칭한다. 따라서, 이 기법의 이러한 측면은 예지 접근 방안으로 지칭된다. "부호화 통계"는 화상의 부호화에 비례하여 생성되어 다음 화상을 부호화하는 데 사용하기 위해 피드백되는 통계들을 포함한다. 따라서 부호화 통계는 화상 복잡도에 대한 이력을 표시한다. 이하에서 더 언급되듯이 부호화를 시작할 때 또는 비디오 데이터의 스트림 중의 하나에 장면 전환이 있을 때마다 본 발명은 예를 들면 화상 통계만을 선택적으로 이용하던가 아니면 화상 통계와 부호화 통계의 조합을 사전 규정된 관련성을 갖고 선택적으로 이용한다. 도 1 내지 2는 본 발명에 따른 장치에 이용되는 단일 비디오 부호화기의 동작을 도시한다.
예시를 위해 MPEG 부합형 부호화의 일반화된 흐름도를 도 1에 도시한다. 이 흐름도에서 i번째 화상과 (i+1)번째 화상의 이미지가 처리되어 움직임 벡터가 생성된다. 움직임 벡터는 이전 및/또는 후속 화상의 어디에 화소 매크로 블럭이 있을 것인지를 예측한다. 움직임 벡터를 사용하는 것은 MPEG 표준에서의 시간적 압축의 중요한 특징이다. 도 1에 도시한 바와 같이, 일단 생성되면 움직임 벡터를 이용하여 일단 생성되면 i번째 화상으로부터 (i+1)번째 화상으로 화소 매크로 블럭이 병진 이동된다.
도 1의 부호화 과정에서, i번째 화상과 (i+1)번째 화상의 이미지가 부호화기(11) 내에서 처리되어 움직임 벡터가 생성된다. 후속 화상의 입력 이미지(111)는 부호화기의 움직임 추정 유닛(43)으로 간다. 움직임 벡터(113)는 움직임 추정 유닛(43)의 출력으로서 형성된다. 움직임 보상 유닛(41)은 이 움직임 벡터를 이용하여 이전 및/또는 미래 화상으로부터 참조 데이터로 지칭되는 매크로 블럭 데이터를 인출함으로써 이 유닛의 출력을 생성한다. 움직임 추정 유닛(43)으로부터의 출력에서 움직임 보상 유닛(41)의 하나의 출력이 감산되어, 이 감산된 값이 이산 코사인 변환기(DCT)(21)의 입력값으로 들어 간다. 이산 코사인 변환기(21)의 출력은 양자화기(23)에서 양자화된다. 양자화기(23)의 출력은 두 개의 출력(121, 131)으로 나눠지는데, 하나의 출력(121)은 전송하기 전에, 추가적인 압축 및 처리를 위해 가변 길이 부호화기(25)와 같은 다운 스트림 요소로 가고, 다른 출력(131)은 프레임 메모리(42) 내에서의 저장을 위해 부호화된 화소 매크로 블럭의 재구성을 거친다. 예시를 위해 도시한 부호화기에서, 이 제 2 출력(131)은 역 양자화기(29)와 역 이산 코사인 변환기(31)를 거쳐 차이 매크로 블럭의 유손실 버전을 리턴한다. 이 데이터는 움직임 보상 유닛(41)의 출력에 더해져 원래 화상의 유손실 버전을 프레임 메모리(42)로 리턴한다.
도 2에 도시된 바와 같이, 화상에는 세 가지 유형이 있다. "인트라 화상" 또는 "I 화상"은 전체적으로 부호화되고 전송되며 움직임 벡터를 정의할 필요가 없다. 이 "I 화상"은 움직임 추정의 참조 이미지로서 기능한다. "예측 화상" 또는 "P 화상"은 이전 화상으로부터의 움직임 벡터에 의해 형성되어 후속 화상에 대한 움직임 추정을 위한 참조 이미지로서 기능할 수 있다. 마지막으로, "양방향 화상" 또는 "B 화상"은 두 개의 다른 화상, 즉 하나의 이전 화상과 하나의 후속 화상으로부터의 움직임 벡터를 이용하여 형성되고, 움직임 추정의 참조 이미지로서는 기능하지 않는다.
다양한 유형의 화상이 몇 단계를 거쳐 부호화기(11)에 의해 양자화된다. 첫째로, 화상 유형에 따라 고유한 양자화 매트릭스가 8x8 DCT 블럭에 가해진다. 저주파 계수에 중요성이 부여되도록 매트릭스의 요소(가중치)가 선택된다. 이들 저주파 계수는 더 많은 정보를 구비하고 화상의 인지되는 화질에 더 큰 영향을 미친다. 국부 이미지 활성도, 화상 유형의 복잡도, 버퍼 충진도의 측정값에 기반하여 양자화 스케일링 팩터를 계산한다. 이 스케일링 팩터는 화상에 할당되는 비트 수 및 그 화상의 인지적 화질에 직접 관계된다. 실제 비트 수는 MPEG-2 표준에 정의된 공정을 따라 먼저 각 DCT 블럭을 스캐닝한 다음 양자화된 계수를 함께 그룹핑(grouping)함으로써 얻어진다. 각 그룹은 허프만(Huffman) 조견표를 이용하여 고유한 가변 길이 부호(VLC)로 엔트로피 부호화된다. DC 계수는 (움직임 벡터의 부호화와 유사한) 차분 펄스 부호 변조(DPCM) 및 균일 양자화를 이용하여 부호화된다.
엔트로피 부호화기의 출력은 엔트로피 복호화기의 입력이 된다. 복호화기의 출력은 역 주사, 역 양자화, 역 이산 코사인 변환을 거쳐 차이 매크로 블럭의 유손실 버전을 출력한다. 그 다음에 해당 분야에서 알려진 바와 같이 복호화된 화상은 지연기를 거쳐 움직임 추정 및/또는 움직임 보상부로 간다.
MPEG-2 부호화기의 동작 작용은 1997년 4월 1일에 카(Carr) 등에 의해 출원되어 공동 양도되고 동시 계류중이며 본 명세서에서 전체적으로 참조로 인용되는 카(Carr)등에 의한 "Control Scheme For Shared-Use Dual-Port Predicted Error Array" 라는 명칭의 미국 특허 출원 제 08/831,157 호에서 상세히 언급된다. 화상 그룹(Group of Pictures: GOPs) 또는 프레임에 대한 일정한 비트 레이트(constant bit rate: CBR) 및 가변 비트 레이트(Variable Bit Rate: VBR) 부호화 방안의 기초적인 내용은 1998년 3월 19일에 모세니안(Mohsenian)에 의해 출원되어 공동 양도되고 동시 계류중이며 본 명세서에서 전체적으로 참조로 인용되는 "Real Time Single Pass Variable Bit Rate Control Strategy And Encoder" 라는 명칭의 미국 특허 출원 제 09/044,642 호에서 상세히 언급되어 있다. 이하에서 언급되는 것과 같은 화상 통계 기법을 이용한 일련의 프레임에 대한 적응적 부호화는 1998년 3월 20일에 보이스(Boice) 등에 의해 출원되어 공동 양도되고 동시 계류중이며 본 명세서에서 또한 전체적으로 참조로 인용되는 "Adaptive Encoding of a Sequence of Still Frames or Partially Still Frames Within Motion Video" 라는 명칭의 미국 특허 출원 제 09/046,118 호에 보다 상세히 언급되어 있다.
이상의 정보를 배경으로 하여 본 발명의 원리에 따른 통계적인 멀티플렉싱 및 레이트 제어 방안을 도 13 및 도 15를 참조로 이하에서 기술한다.
전형적인 통계적 멀티플렉싱 장치에 있어서, 몇 개의 비디오 비트 스트림이 하나의 단일한 일정한 비트 레이트 채널로 멀티플렉싱된다. 불행하게도, 사전 정의된 일정한 비트 레이트에서의 각 프로그램의 부호화는 시간의 경과에 따른 장면 내용의 전환에 의한 화질 저하를 초래할 수 있다. 따라서, 본 발명에 따른 다중 프로그램 압축의 제 1의 목적은 이용 가능한 대역폭을 프로그램에 동적으로 배분하여 장치의 전반적인 화질을 최대화하는 것이다. 이것은 개별적인 부호화기를 안내하는 결합 레이트 제어 알고리즘을 이용하여 모든 프로그램의 화질을 동등하게 하는 것에 해당한다. 본 발명은 고정된 채널 비트 레이트의 요구 조건을 만족시키면서, 비디오 소스의 상대적인 장면 내용에 따라 부호화기에 비트 레이트를 할당한다.
더 구체적으로는, MPEG-2 부합형 비디오 부호화기를 이용하여 몇개의 비디오 프로그램을 병렬로 부호화하는 통계적 멀티플렉싱에 대한 해결책으로서의 장치를 제공한다. 부호화기에 비트 레이트를 동적으로 할당하는 외부 결합 레이트 제어 알고리즘에 대해 기술하고자 한다. 각 부호화기의 비트 레이트는 프로그램의 상대적인 복잡도 및 프로그램 내에서의 장면 전환에 기반하여 결정된다. 본 발명에 따른 장치/방법은 입력 소스의 외부 사전 처리를 전혀 필요로 하지 않는다. 또한 비디오 소스의 부호화는 각 부호화기 내에서 동일한 GOP 구조 또는 GOP 길이를 갖는 것으로 제한되지 않는다. 각 부호화기는 GOP 내에서 일정한 비트 레이트로 동작하면서도 결합 레이트 제어에 따라 GOP 경계에서 그 비트 레이트를 변화시킨다. 이 방안은 구분적으로는 일정하지만 전반적으로는 가변인 비트 레이트 압축이 이뤄지도록 한다. 실험 결과에 따르면 본 발명에 따른 다중 프로그램 비디오 압축 장치는 그 상대적인 단순함에도 불구하고 외부 사전 처리 없이도 좋은 화질을 나타내고 있다. 또한 상업적으로 이용 가능한 MPEG-2 부호화기 칩을 이 장치에 성공적으로 사용할 수 있다.
기본적으로, 결합 레이트 제어, 피드백(feedback) 접근 방안, 예지 접근 방안에 대해 두 개의 상이한 접근 방안이 가능하다. 피드백 접근 방안에 있어서, 통계가 부호화기에 의해 부호화 과정의 부산물로서 생성된다. 그 다음 이들 통계를 사용하여 후속 화상에 대한 비트 할당을 제어한다. 예지 접근 방안에서, 통계는 부호화에 앞서 전처리기에 의해 계산되는데, 그 다음에 이들 통계를 사용하여 화상의 부호화에 앞서 비트 레이트를 조정한다. 어느 접근 방안을 사용하든 프로그램의 복잡도를 기술하는 최적의 통계를 찾아낼 수 있다. 피드백 접근 방안에 있어서, 통계는 대부분 관련된 양의 부호화에 한정된다. 예지 접근 방안은 선택에 있어서 더 자유롭기는 하지만 계산상의 복잡함 및/또는 디바이스의 추가라는 문제가 따른다.
이 두 접근 방안에서, 결합 레이트 제어 알고리즘이 각 화상에 대한 비트 레이트를 계산하고 개별적인 부호화기의 각각에 대한 전체적인 레이트 제어를 수행할 것이다. 이로써 가변 비트 레이트 부호화가 이뤄지게 된다. 통상적으로, 이와 같은 레이트 제어 알고리즘은 각 부호화기 내에서 대부분 동일한 GOP 구조를 필요로 할 것이지만 이것은 실제와는 거리가 멀다. 부호화기는 상이한 GOP 길이 및 구조에서 동작할 수 있고 동작한다.
본 발명에 따라 피드백 접근 방안을 이용하여 부호화기에 비트 레이트를 동적으로 할당함으로써 통계적 멀티플렉싱에 대한 해법을 개시한다. 레이트 제어 방안은 프로그램의 상대적인 복잡도에 기반하여 부호화기에 채널 비트 레이트를 분배한다. 프로그램의 복잡도는 압축된 비트 스트림과 함께 부호화기에 의해 생성된 부호화 통계를 이용하여 결정된다. 이와 달리, 본 명세서에서 제공된 논의에 기반하여 당업자에게 명백한 바와 같이, 부호화기는 자체 내에 전처리 기능을 도입함으로써 화상 통계 및 부호화 통계를 모두 생성하도록 변형될 수 있다.
결합 레이트 제어 알고리즘에 의해 각 화상에 대한 목표 비트 레이트를 계산하는 대신에, GOP 경계에서 또는 장면 전환이 발생하면 비트 레이트를 변화시킨다. 이 방안은 부호화기가 GOP 내에서 일정한 비트 레이트로 동작하게 함으로써 구분적으로는 일정하지만 가변인 비트 레이트 압축이 이뤄지도록 한다. 부호화기가 반드시 동일한 GOP 구조를 가져야 하는 것은 아니다. 즉, GOP 경계는 각 부호화기 내에서 상이한 회수로 발생할 수 있다. 부호화기의 상이한 GOP 구조로 인해, 채널 버퍼 및 해당 버퍼 제어 피드백 루프가 본 발명에 따른 장치에 도입된다. 장면 전환시에 GOP 구조를 동적으로 변화시키고 적당한 비트 레이트 변화를 허용함으로써 신속한 반응을 보증한다. 본 발명의 장치/방법은 예를 들어 IBM 사의 단일 칩 MPEG-2 비디오 부호화기, 파트 번호 IBM39 MPEGS422 PBA 17C를 이용하여 구현될 수 있다.
이하의 섹션 1은 본 발명에 따른 다중 프로그램 비디오 압축 장치를 기술한다. 본 발명의 결합 레이트 제어 방안에 대해서는 섹션 2에서 상세히 기술한다. 장면 전환 시의 결합 레이트 제어 방안에 대해서는 섹션 3에서 상세히 기술한다. 채널 버퍼의 최소 크기의 결정 및 해당 채널 버퍼 제어에 대해서는 섹션 4에서 상세히 기술한다. 본 발명의 장치에서 상업적으로 이용 가능한 단일 칩 MPEG-2 부호화기를 사용하는 것에 대해서는 섹션 5에서 강조한다. 실험 결과는 섹션 6에서 기술된다.
1. 다중 프로그램 비디오 압축 장치
도 13은 본 발명의 접근 방안을 이용하여 몇 개의 프로그램(소스(1), 소스(2),....,소스(n))을 병렬로 부호화하기 위한 다중 프로그램 비디오 압축 장치(2200)를 도시한다. 예시적 장치(2200)는 몇 개의 전처리기(2205)(전처리기(1), 전처리기(2), 전처리기(3),....,전처리기(n))를 포함하는데, 각 전처리기에는 몇 개의 프로그램 중 해당하는 하나를 수신하여 각각의 비디오 프로그램을 병렬로 분석하고 그 분석 결과로부터 예를 들어 평균 화상 활성도를 나타내기 위한 화상 통계를 유도한다.
장치(2200)는 다수의 MPEG-2 부호화기(2210), 다수의 부호화기(2210)에 접속된 개별적인 버퍼(2220), 결합 레이트 제어기(2230), 멀티플렉서(2240), 채널 버퍼(2250)를 또한 포함한다. 각 부호화기(2210)는 부호화를 위해 각각의 지연된 프로그램(지연된 소스(1), 지연된 소스(2), 지연된 소스(3),...., 지연된 소스(n))을 수신하다. 전처리기(2205)가 이하에서 언급될 분석을 수행할 수 있도록 충분히 지연되어야 한다. 또다른 실시예에서, 필요하다면 화상 통계 생성 기능을 MPEG-2 부호화기(2210) 내로 통합할 수도 있음에 주목할 필요가 있다. 각 부호화기(2210)는 또한 방금 부호화된 화상에 관한 부호화 통계를 생성한다. 이들 부호화 통계와화상 통계는 결합 레이트 제어 알고리즘(2230)에 대한 입력 파라미터인데, 결합 레이트 제어 알고리즘(2230)은 이하에서 기술하는 바와 같이 각각의 개별적인 부호화기의 비트 레이트를 동적으로 계산한다.
제안된 장치(2200)에서, 각 부호화기(2210)의 비트 레이트는 해당 프로그램 내에서 장면 전환이 일어날 때 프로그램(소스 1, 소스 2, 소스 3,... 소스 n)의 상대적인 복잡도에 기반하여 결정된다. 부호화기는 바람직하게는 MPEG-2 표준에 부합하는 비트 스트림을 생성한다. 장면 전환을 감지한 경우 이외에는 통상적으로 부호화기(2210)의 안쪽 또는 바깥쪽에서 행해질 수 있는 입력 소스에 대한 부가적인 전처리가 필요하지 않다. 각 부호화기는 결합 레이트 제어기(2230)에 따라 장면 전환시에 또는 GOP 경계에서 또는 비트 레이트를 변화시킨다. 이것은 부호화기가 MPEG-2 표준에 따라 CBR(일정한 비트 레이트) 비디오 버퍼 검정 모델을 이용하여 GOP 내에서 CBR로 동작하도록 한다. 전반적으로 이 방안은 구분적으로는 일정하지만 전반적으로는 가변인 비트 레이트 압축이 이뤄지도록 한다.
비디오 소스의 부호화가 각 부호화기에서 동일한 GOP 구조 또는 GOP 길이를 갖는 것에 제한되지 않는다. GOP 경계가 각 부호화기 내에서 상이한 회수로 발생할 수 있고 비트 레이트 변화가 GOP 경계에서만 효과를 발휘하기 때문에, 채널 버퍼(2250)를 사용하여 채널 레이트의 가능한 언더 플로우 또는 오버 플로우를 보상한다. 채널 버퍼 제어 피드백(2255)은 또한 채널 버퍼(2250)의 오버 플로우나 언더 플로우를 방지하기 위해 결합 레이트 제어 알고리즘(2230) 내에 도입된다.
본 발명의 다음 설명에서, 결합 레이트 제어 방안, 채널 버퍼의 최소 크기의 결정, 대응되는 채널 버퍼 제어를 보다 상세히 설명하고자 한다.
2. 결합 레이트 제어
본 명세서에서 제공된 결합 레이트 제어 방안은 예지 및 피드백을 조합한 개념에 기반하는데, 통계는 부호화 중(여기서 "부호화 통계"로 지칭함)뿐만 아니라 부호화에 앞서(여기서 "화상 통계"로 지칭함)서도 생성된다. 이들 통계는 채널 버퍼(2250)의 충진도에 대한 정보와 함께 결합 레이트 제어기(2230)로 공급된다. 부호화 공정 중에 개별적인 부호화기를 안내하는 결합 레이트 제어 방안은 프로 그램의 상대적인 복잡도에 따라 이용 가능한 대역폭을 프로그램에 동적으로 배분한다. 본 명세서에서 프로그램의 상대적인 복잡도는 화상 통계 및 부호화 통계에 기반하여 결정된다.
프레임의 화상 장면 내용에 연관되는 정보는 예를 들면 프레임의 평균 활성도로서 계산될 수 있다. 그 정보는 전체 프레임에 대한 평균 매크로 블럭 활성도로서 계산된다. 화상을 부호화하기에 앞서서 몇 개의 프레임에 대한 평균 활성도를 계산함으로써 결합 레이트 제어 알고리즘에 따라 예지할 수 있다. 언급한 바와 같이 평균 활성도는 부호화기의 내부에서 계산될 수도 있고 전처리기(예를 들면 도 13의 전처리기)에 의해 계산될 수도 있다. 프로그램의 부호화 복잡도는 각 부호화기에 의해 부호화 과정의 부산물로서 생성되는 부호화 통계를 이용하여 계산된다. 예를 들면, 부호화 복잡도는 화상을 부호화하는 데 사용되는 비트 및 화상에 사용되는 평균 양자화 파라미터에 기반하여 결정될 수 있다.
화상 및 부호화 복잡도를 이용하는 경우 부호화기의 비트 레이트는 두 비율에 대한 가중치가 부여된 합에 비례한다고 가정한다. 여기서 언급한 두 비율 중 한 비율은 그 프로그램의 부호화 복잡도와 모든 프로그램의 부호화 복잡도의 합 사이의 비율이다. 다른 한 비율은 몇 개의 프레임 예지를 이용하여 얻은 그 프로그램의 평균 활성도와 모든 프로그램의 평균 활성도의 합 사이의 비율이다. 장면 전환이 일어나거나 부호화를 시작할 때, 프로그램의 복잡도는 바람직하게는 평균 프레임 활성도(즉, 화상 통계)에 기반하여 단독으로 결정된다. 장면 전환이 일어나지 않는 경우에는, 화상 및 부호화 통계 비율은 사전 규정된 관련성으로, 예를 들어 동등한 비율로 사용된다. 본 발명에 따른 결합 레이트 제어 방안의 일 실시예를 다음에 기술한다.
프레임의 화상 장면 내용에 관련된 정보는 프레임의 평균 활성도로서 결정된다. 먼저, 프레임 내의 각 매크로 블럭의 활성도는 다음 수학식 21로 계산된다.
여기서 lum(i, j)는 화소(i, j)의 휘도 값이고 <lum>는 매크로 블럭의 평균 휘도 값이다. 프레임의 평균 활성도는 다음 수학식 21를 사용하여 전체 프레임에 걸친 매크로 블럭의 활성도를 평균함으로써 결정된다.
여기서 NMB는 프레임 내의 매크로 블럭의 수이다.
몇 개의 프레임의 예지는 수학식 20 및 수학식 21를 사용함으로써 결합 레이트 제어 알고리즘에 도입된다. 예를 들면, 실험에서 우리는 부호화될 화상에 앞서 있는 네 개의 프레임에 대한 활성도를 계산하였다.
프로그램의 부호화 복잡도는 실시예 1에서 제안된 바에 따라 계산될 수 있다. 화상 복잡도의 결정은 MPEG-2 시험 모델 5(1993년 4월에 발행된 ISO/IEC JTC/SC29/WG11 N0400, "시험 모델 5" 참조)에서 제안된 것과 유사한 사용 비트 생성 모델에 기반한다. 프로그램(i)의 부호화 복잡도(Xi)는 다음 수학식 22에 의해 계산된다.
여기서, fi는 프로그램(i)의 프레임 레이트이고, Ni는 프로그램(i)의 GOP 내에서의 화상의 수이며, bij는 화상(j)을 부호화하기 위해 사용되는 비트이고 Qij는 화상(j)의 평균 양자화 파라미터이다.
화상 및 부호화 복잡도를 사용하는 경우, 부호화기(i)의 비트 레이트(Ri)가 다음 수학식 23에 의해 결정된다.
여기서, Rc는 채널 비트 레이트이고, Xi는 부호화 복잡도이며, <activi>는, 본 실험에서는 4개의 프레임 활성도의 평균으로서 계산된, 프로그램(i)의 평균 복잡도이다. 파라미터(α)는 부호화를 시작할 때 또는 장면 전환 발생 시에 0으로 선택된다. 그렇지 않으면 그 값은 실험적으로 0.5로 결정된다. 따라서, 부호화를 시작할 때 또는 장면 전환 발생 시에 프로그램의 복잡도는 평균 프레임 활성도에 기반하여 단독으로 결정된다. 장면 전환이 발생하지 않으면, 화상 및 부호화 통계는 동등한 비율로 사용된다.
장면 전환이 발생하면, 현재 GOP는 조기에 종료되고 신규 GOP가 신규 장면의 시작으로서 즉시 시작된다. 이전 장면의 마지막 화상이 B 화상이었다면 이전 화상과 현재 화상 사이의 참조를 방지하기 위해 후방 예측을 불가능하게 한다. 실시예 1에서 언급한 버퍼 충진도 오차 방안을 이 접근 방안에도 사용할 수 있다.
프로그램 복잡도의 관련성으로 인해, 프로그램 내에서 장면 전환이 일어나지 않았더라도 그 프로그램 내의 모든 GOP 경계에서 비트 레이트 변화가 일어날 수 있다. 장면 컷(scene cut)이 없는 프로그램 내에서 비트 레이트가 너무 급작스럽게 변하면 비록 장치의 전체 화질이 개선되더라도 화질이 GOP 단위로 심각하게 변할 수 있다. 이런 상황을 방지하기 위해, 비트 레이트 변화는 GOP 경계에 국한될 것이지만 장면 전환시에는 그렇지 않으며, 바람직하게는 어떤 제한도 부여되지 않는다. 예를 들면, 장면 전환이 일어나지 않는 경우에 GOP 경계에서의 이전 비트 레이트에 비해 약 10 % 정도 변하는 것은 허용될 수 있다. 장면 컷이 발생하면, 비트 레이트 변화에는 아무런 제한이 없다.
3. 장면 전환시의 결합 레이트 제어
앞서서, 부호화기는 GOP 내에서 CBR 모드로 작동하며 각 부호화기는 CBR 비디오 버퍼 검정 모델을 사용한다고 한 바 있다. 버퍼의 언더 플로우(underflow)도 오버 플로우(overflow)도 허용되지 않는다. 예를 들면, CBR 레이트 제어 알고리즘의 목적은 GOP의 끝에서의 버퍼 충진도가 초기 버퍼 충진도(예를 들어 버퍼 크기의 약 80% 정도)와 같아지게 보장하는 것일 수 있다. 그러나 목표 비트 할당과 화상 당 사용되는 실제 비트 사이의 불일치로 인해 항상 같아지는 아니다. GOP 내에서 비트의 과대 생성 또는 과소 생성 때문에 버퍼 충진도는 각각 초기 레벨보다 높거나 낮을 수 있다. 상당히 큰 버퍼 충진도 오차가 누적될 수 있다. 이 오차는 이월되어 그 다음의 GOP 내에서 보상되도록 시도된다. GOP 경계에서 비트 레이트의 변화가 없거나 또는 매우 작은 경우에는 이 레이트 제어가 잘 된다. 그러나, 장면 전환에서와 같이 비트 레이트가 급격하게 변하면 본 발명에 따른 버퍼 충진도 오차(Buffer fullness error: BFE) 방안을 적용하여 화질을 더욱 개선한다.
장면 전환이 일어나면 장면 전환 후의 신규 GOP의 시작에서 버퍼 충진도 오차는 0으로 간주된다. 각 부호화기에 접속된 버퍼의 언더 플로우나 오버 플로우를 방지하기 위해 수학식 23에 의해 계산된 비트 레이트는 다음 수학식 8에 의해 변형된다.
(수학식 8)
여기서, Ri는 수학식 23에 따라 프로그램 i에 대한 계산된 비트 레이트이고, E는 버퍼 충진도 오차 비트이며, Ni는 GOP 내의 화상의 수이고, fi는 프로그램 i에 대한 프레임 레이트이다. 프로그램의 비트 레이트는 버퍼 충진도 오차가 양이면(GOP의 시작에서 버퍼 충진도는 초기 버퍼 충진도보다 작았다) 증가될 것이고 E가 음이면 감소될 것이다. GOP 내에서의 레이트 제어를 위해 초기 버퍼 충진도는 예를 들면 버퍼 크기의 약 80%를 사용하는 대신에 이전 GOP의 끝에서의 버퍼 충진도로 간주된다. BFE 방안은 장면 전환 후 개선된 화질이 이뤄지도록 한다.
4. 채널 버퍼 크기 및 피드백 제어
부호화기가 상이한 GOP 길이 및 구조에서 동작할 수 있거나 또는 상이한 회수로 부호화를 시작할 수 있다는 사실 때문에, 개별적인 비트 레이트의 합이 사전 규정된 채널 비트 레이트보다 크거나 작은 시간 간격이 있을 수 있다. 이것을 해결하기 위해 정확히 채널 비트 레이트로 비트 스트림을 출력할 채널 버퍼가 필요하다. 두 개의 논점이 이 버퍼와 관련하여 고려되어야 한다. 이들 두 논점은 버퍼의 최소 크기의 결정과 채널 버퍼의 언더 플로우나 오버 플로우를 방지하기 위한 제어 방안이다.
채널 비트 레이트로부터의 최대 전체 편차가 ΔRmax라고 가정하고, 최악의 경우 이 편차의 최대 지속 시간이 부호화기의 가장 긴 최대 GOP 시간만큼 클 수 있다고 가정한다. 이 경우에, 필요한 채널 버퍼의 최소 크기는 다음 수학식 9로 결정된다.
(수학식 9)
여기서, ΔRmax는 ΣRi-Rc와 동일하고tgopmax는 최대 GOP 시간이다.
수학식 9에서 채널 비트 레이트의 과대 생성(overproduction)은 물론 과소 생성이 가정되고, 버퍼가 먼저 채널 버퍼의 최소 크기인 Bs의 절반이 될 때까지 충진되고 그 후에 그 버퍼가 계속적으로 Rc의 레이트로 비트를 출력하기 때문에 배수 2가 사용된다. 이 경우에 초기 지연은 버퍼를 그 크기의 절반까지 충진시키는 데 요구되는 시간에 해당한다. 일 예로, 채널 버퍼 레이트가 16 메가비트/초이고, ΔRmax는 8 메가비트/초 이며, tgopmax는 0.5 초일 경우에, 최소 버퍼 크기는 8 메가비트이고, 30 프레임/초의 프레임 레이트에서의 대응되는 초기 지연은 0.25 초가 된다. 수학식 9에 의해 결정된 것보다 더 작은 채널 버퍼를 통계적 멀티플렉서 장치에 사용하기를 원한다면 채널 비트 레이트로부터의 최대 전체 편차는 그에 따라 제한되어야 함에 주목해야 한다.
채널 버퍼가 언더 플로우 또는 오버 플로우 되는 것을 방지하기 위해 (도 4에서 도시한) 버퍼 모델이 바람직하게 사용된다. 채널 버퍼 모델은 버퍼의 상부 및 하부에서 사전 규정된 감시 대역(guard band)을 포함한다. 이들 감시 대역을 사용하여 비트 레이트의 분배를 조절한다. 언더 플로우 또는 오버 플로우를 방지하기 위해 임의의 시간에서의 버퍼 충진도(Bf)는 다음 수학식 10을 만족해야 한다.
(수학식 10)
실제 버퍼 충진도(Bf)에 따라 세 가지 경우가 구별될 수 있다. 이 세 가지 경우를 해당 비트 레이트의 변형과 함께 이하에 기술한다.
경우 1
이 경우는 버퍼 충진도가 감시 대역 사이에 있는 경우로서, 다음 수학식 11이 성립한다.
(수학식 11)
여기서 파라미터 "a"는 감시 대역의 크기를 결정하는데, 그것은 예를 들어 0.25로 선택될 수 있다.
이 경우에 프로그램에 대한 계산된 비트 레이트는 극단적인 환경을 제외하고는 일반적으로 변형되지 않는다.
(수학식 12)
(수학식 13)
수학식 12와 수학식 13이외의 경우에는 아무런 조치도 취하지 않는다.
경우 2
이 경우는 버퍼 충진도가 상한 감시 대역 내에 있는 경우로서 다음 수학식 14가 성립한다.
(수학식 14)
이 경우에는 버퍼 충진도를 감소시키거나 Bf에 머무르게 하는 비트 레이트 변화만이 허용된다.
(수학식 15)
(수학식 16)
수학식 15와 수학식 16 이외의 경우에는 아무런 조치도 취하지 않는다.
경우 3
이 경우는 버퍼 충진도가 하한 감시 대역 내에 있는 경우로서 다음 수학식 17이 성립한다.
(수학식 17)
이 경우는 버퍼 충진도를 증가시키거나 Bf에 머무르게 하는 비트 레이트 변화만이 허용된다.
(수학식 18)
(수학식 19)
수학식 18와 수학식 19 이외의 경우에는 아무런 조치도 취하지 않는다.
5. 통계적 멀티플렉서 장치에서의 MPEG-2 부호화기의 사용
본 발명의 원리에 따른 다중 프로그램 비디오 압축 장치에 사용되는 모든 MPEG-2 부호화기는 적어도 앞에서 기술한 결합 레이트 제어 알고리즘에 의해 요구되는 필수 불가결한 통계를 제공할 수 있어야 한다. 부호화기는 또한 GOP 경계에서 비트 레이트를 변화시킬 수 있어야 한다. 본 발명의 장점을 더 잘 이용하기 위하여 장면 전환이 있는 경우에, 부호화기는 GOP 구조를 동적으로 변화시키고, 버퍼 충진도 오차를 계산하기 위한 양을 제공하며, 외부적으로 또는 내부적으로 장면 전환 감지 및 반응을 수행할 수 있어야 한다.
6. 공정 개요
도 14는 본 발명에 따른 부호화 처리의 개요를 도시한다. 통계는 개별적인 전처리기 및 부호화기로부터 레이트 제어기로 공급된다. 이들 통계는 전처리기로부터의 (평균 프레임 활성도와 같은) 화상 통계와 사용되는 비트, 평균 MQUANT, 버퍼 충진도(2300)를 포함하는 부호화 통계를 포함한다. 또한 전술한 바와 같이 장치에서 발생하는 최대 GOP 길이, 채널 버퍼 충진도, 각각의 비디오 프레임 스트림에서 발생하는 장면 전환에 관한 정보를 제공한다. 채널 버퍼 충진도는 채널 버퍼 그 자체로부터 피드백 신호로서 수신된다. 단계(2310)에서 비트 레이트 제어기는 먼저 부호화의 시작인지 또는 장면 전환을 표시하는 장면 전환 플래그가 세팅되었는 지의 여부를 결정한다. 이 단계에서의 판단 결과가 긍정적(YES)이면 단계(2320)에서 신규 장면의 제 1 프레임을 신규 GOP의 제 1 화상으로 부호화한다. 그 다음 단계(2330)에서 수학식 23의 변수 α를 0으로 세팅한다. α를 0으로 세팅함으로써 이 신규 GOP를 시작하는 경우 전처리기에 의해 제공된 화상 통계만을 사용하여 전술한 바와 같이 부호화기에 비트 레이트를 할당한다. 공정은 단계(2330) 이후에 단계(2350)로 진행한다. 한편, 단계(2310)에서의 결과가 부정적(NO)이면, 즉, 장면 전환 플래그가 세팅되지 않고 부호화의 시작이 아닌 경우 단계(2340)에서 변수 α를 0.5로 세팅한다. 변수 α를 0.5로 세팅함으로써 수학식 23에서 화상 통계 및 부호화 통계 정보에 필연적으로 동등한 가중치를 부여하여 비트 레이트를 결정한다. 당업자라면 본 발명을 일탈하지 않고 이 두 통계의 가중치를 상이하게 할당할 수 있음을 인식할 수 있을 것이다.
단계(2350)에서 각 부호화기에 대한 비트 레이트(Ri)를 계산한다. 그 다음 단계(2360)에서 장면 전환 플래그가 세팅되었는 지의 여부를 다시 결정하는데, 그 결과가 긍정적이면 단계(2370)에서 버퍼 충진도 오차 방안(BFE)을 이용하여 부호화기에 대한 비트 레이트(Ri)를 변형한다. 공정은 단계(2370) 이후에 단계(2380)로 진행한다. 한편, 단계(2360)에서의 결과가 부정적(NO)이면 공정은 단계(2380)로 진행한다. 단계(2380)에서는 채널 버퍼 제어 방안을 전술한 바와 같이 구현한다. 그 다음, 단계(2390)에서 공정은 부호화기(i)에서 부호화되는 비디오 프레임의 스트림의 GOP 경계에 현재 프레임이 있는 지의 여부를 결정한다. 이 결정의 결과가 부정적이면, 공정은 다음의 입력 파라미터 세트를 수집하기 위해 단계(2300)로 되돌아 간다. 그러나, 이 결정의 결과가 긍정적이면, 즉 현재 프레임이 GOP의 경계에 있으면, 단계(2400)에서 신규 비트 레이트(Ri)를 부호화기(i)로 전송한다.
본 발명을 다시 요약하면, 비디오 스트림을 병렬로 부호화하여 공통 채널 상으로 멀티플렉싱하는 다수의 부호화기에 비트 레이트를 동적으로 할당하는 결합 레이트 제어 방안을 제공한다. 프로그램의 상대적인 복잡도 및 프로그램에서 일어나는 장면 전환에 기반하여 부호화기에 채널 비트 레이트를 분배한다. 프로그램의 복잡도는 장면 전환 감지뿐만 아니라 예지 화상 통계, 피드백 부호화 통계에 기반하여 결정된다. 화상 통계는 예를들어 전처리기에 의해 생성될 수 있고, 화상 통계 및 장면 전환 감지 신호는 압축된 비트 스트림과 함께 부호화기에 의해 생성된다. 각 화상에 대한 목표 비트 레이트를 계산하는 대신에 GOP 경계에서 또는 장면 전환이 일어나는 경우에 비트 레이트가 변화된다. 이렇게 함으로써 부호화기는 GOP 내에서 일정한 비트 레이트(CBR)로 동작한다.
GOP 경계에서만 비트 레이트를 변화시키는 것은 프로그램의 복잡도 변화에 대한 결합 레이트 제어기의 반응 시간을 제한한다. 이 문제를 처리하기 위해, 비디오 프레임 스트림 내에서 각각의 연속하는 화상 사이에서 장면 전환 감지가 수행되고 신규 장면 내의 제 1 프레임의 부호화에 앞서서 장면 전환 감지가 알려진다고 가정한다. 또한 부호화기가 GOP 구조를 동적으로 변화시킬 수 있다고 가정하는데, 이러한 가정은 상업적으로 이용 가능한 부호화기 상에서 이용 가능한 성능이다. 장면 전환이 발생하면 현재 GOP는 조기에 종료되고 신규 장면의 제 1 화상이 부호화 된다. 그 다음 이 신규 장면의 제 1 화상으로부터의 통계를 사용하여 신규 장면의 복잡도를 예측하고, 결과적으로 후속 GOP에 대한 비트 레이트를 계산한다.
본 발명에 따라 장면 전환의 경우에 화질을 개선하기 위해 추가적인 변형을 개발했다. 특히, GOP 내에서의 비트의 과소 생성 또는 과대 생성으로부터 생긴 버퍼 충진도 오차를 장면 전환 후의 신규 GOP의 시작에서 0으로 간주한다. 각 부호화기에 접속된 버퍼에서의 언더 플로우 또는 오버 플로우를 방지하기 위해 결합 레이트 제어기에 의해 계산된 비트 레이트를 변형한다. 버퍼 충진도 오차가 양이면(GOP의 시작에서 버퍼 충진도는 초기 버퍼 충진도(예를 들면 버퍼 크기의 80%)보다 작았다) 프로그램의 비트 레이트가 증가될 것이고 버퍼 충진도가 음이면 프로그램 비트 레이트가 감소될 것이다. 이 방안에 따라 장면 전환 후 더 좋은 화질을 얻는다. 동적인 GOP 구조 능력이 없고 장면 전환 감지가 외부적으로 수행되는 부호화기에 대해서도 이 개념이 확장될 수도 있다.
부호화기는 바람직하게는 동일한 프레임 레이트로 동작하지만 상이한 GOP 길이 및 구조를 가질 수 있거나 상이한 회수로 부호화를 시작할 수 있다. 따라서, 개별적인 비트 레이트의 합이 사전 규정된 채널 비트 레이트보다 크거나 작은 시간 간격이 있을 수 있다. 멀티플렉싱된 비트 스트림을 정확히 채널 비트 레이트로 출력할 장치 내에 채널 버퍼가 도입된다. 채널의 최소 크기를 결정하기 위한 방안도 또한 개발했다. 그것은 채널 비트 레이트로부터의 허용 가능한 전체 편차와 장치 내에서 발생하는 최대 GOP 시간에 기반한다. 채널 버퍼의 언더 플로우나 오버 플로우를 방지하기 위해 버퍼 피드백을 또한 결합 레이트 제어기 내에 도입한다.
본 발명은 예를 들면 컴퓨터 사용 가능한 매체를 구비하는 예를 들어 제조 물품(예를 들어 하나 이상의 컴퓨터 프로그램 제품) 내에 포함될 수 있다. 이 매체는 그 내부에 예를 들면 본 발명의 능력을 제공하고 용이하게 하는 컴퓨터 판독 가능한 프로그램 부호화 수단을 구현하였다. 제조 물품은 컴퓨터 장치의 일부로서 포함될 수 있거나 또는 별도로 판매될 수 있다.
또한, 본 발명의 능력을 달성하기 위해 기계에 의해 수행 가능한 적어도 하나의 명령 프로그램을 실제로 구현하면서 기계에 의해 판독 가능한 적어도 하나의 프로그램 저장 소자를 제공할 수 있다.
본 명세서에서 기술한 흐름도는 예로서 제공된 것이다. 본 발명의 사상을 벗어나지 않고 본 명세서에서 기술한 이들 다이어그램 또는 단계(또는 동작)에 대한 다양한 변형이 가능하다. 예를 들어, 어떤 경우에는 상이한 순서로 단계를 수행할 수도 있으며 단계를 추가, 생략, 변형할 수도 있다. 이러한 모든 변형은 첨부하는 청구항에 언급된 바와 같이 본 발명의 일부를 포함하는 것으로서 간주된다.
본 명세서에서는 특정한 실시예를 참조하여 본 발명을 상세히 기술하였지만, 당업자라면 본 발명 내에서 다양한 변형 및 변화를 가할 수 있다. 따라서 첨부하는 청구항에 의해 본 발명의 사상 및 범주 내에서 그와 같은 모든 변형 및 변화가 망라될 것이 의도된다.
본 발명에 따라 일정한 비트 레이트 채널 상으로 멀티플렉싱하기 위해 비디오 데이터로 된 다수의 스트림을 병렬로 동적으로 부호화하는 제어 방안이 제공되는데, 부호화 공정 동안 전체적인 화질을 최적화 하면서도 개별적인 부호화기를 동적으로 안내하는 결합 레이트 제어 방안을 사용함으로써 비디오 데이터 프로그램 내에서 장면 전환되는 경우에도 화질을 떨어뜨리지 않고 효율적인 동적 부호화를 할 수 있다.

Claims (97)

  1. 다수의 비디오 프레임 스트림을 처리하는 방법에 있어서,
    상기 다수의 비디오 프레임 스트림을 병렬로 부호화하는 단계와,
    상기 다수의 비디오 프레임 스트림을 구비하는 비디오 프레임의 상대적인 복잡도에 기반하여 상기 다수의 비디오 프레임 스트림 중 적어도 하나의 비디오 프레임 스트림에 대한 부호화를 동적으로 적응시키는 부호화 동적 적응 단계
    를 포함하는 다수의 비디오 프레임 스트림 처리 방법.
  2. 제 1 항에 있어서,
    상기 방법은,
    상기 적어도 하나의 비디오 프레임 스트림 내에서 장면 전환이 감지되는 경우에 상기 적어도 하나의 비디오 프레임 스트림에 대한 상기 부호화 동적 적응 단계를 수행하는 단계를 더 포함하는 다수의 비디오 프레임 스트림 처리 방법.
  3. 제 2 항에 있어서,
    상기 부호화 동적 적응 단계는 상기 부호화 단계에서 사용되는 제어 가능한 부호화 파라미터를 조정하여 상기 적어도 하나의 비디오 프레임 스트림을 부호화 하는 단계를 포함하되, 상기 조정 단계는 상기 적어도 하나의 비디오 프레임 내에서 상기 장면 전환이 감지되는 경우에 수행되는 다수의 비디오 프레임 스트림 처리 방법.
  4. 제 3 항에 있어서,
    상기 방법은,
    상기 적어도 하나의 비디오 프레임 스트림 내에서 상기 장면 전환을 감지하는 단계를 더 포함하는 다수의 비디오 프레임 스트림 처리 방법.
  5. 제 1 항에 있어서,
    상기 부호화 동적 적응 단계는 상기 다수의 비디오 프레임 스트림을 구비하는 상기 비디오 프레임의 상대적인 복잡도에 기반하여 상기 다수의 비디오 프레임 스트림의 각 비디오 프레임 스트림에 대한 부호화를 동적으로 적응시키는 단계를 포함하는 다수의 비디오 프레임 스트림 처리 방법.
  6. 제 5 항에 있어서,
    상기 부호화 동적 적응 단계는 상기 부호화 단계에서 사용되는 제어 가능한 부호화 파라미터를 조정하여 각 비디오 프레임 스트림을 부호화하는 조정 단계를 포함하는 다수의 비디오 프레임 스트림 처리 방법.
  7. 제 6 항에 있어서,
    상기 비디오 프레임 스트림 내에서 장면 전환이 감지되거나 신규 프레임 그룹(group of frame: GOP)을 시작하는 경우에 각 비디오 프레임 스트림에 대한 상기 제어 가능한 부호화 파라미터에 대한 상기 조정 단계가 수행되는 다수의 비디오 프레임 스트림 처리 방법.
  8. 제 7 항에 있어서,
    상기 방법은,
    상기 비디오 프레임 스트림 내에서 장면 전환이 감지되지 않고 신규 프레임 그룹을 시작하는 경우 상기 제어 가능한 부호화 파라미터의 조정을 사전 규정된 백분율 조정으로 제한하는 단계를 더 포함하는 다수의 비디오 프레임 스트림 처리 방법.
  9. 제 8 항에 있어서,
    장면 전환이 감지되는 경우에 상기 부호화 동적 적응 단계는 현재 프레임 그룹(GOP)을 종료하고 신규 GOP를 시작하는 단계를 포함하고,
    상기 제어 가능한 부호화 파라미터에 대한 상기 조정 단계는 상기 사전 규정된 백분율 조정을 사용하지 않고 상기 제어 가능한 부호화 파라미터를 조정하는 단계를 포함하는
    다수의 비디오 프레임 스트림 처리 방법.
  10. 제 9 항에 있어서,
    상기 방법은, 장면 전환을 감지하기 위해 상기 다수의 비디오 프레임 스트림의 한 비디오 프레임 스트림에 대한 인접 비디오 프레임을 모니터링(monitering)하는 단계를 더 포함하는 다수의 비디오 프레임 스트림 처리 방법.
  11. 제 7 항에 있어서,
    각 비디오 프레임 스트림에 대한 상기 제어 가능한 부호화 파라미터는 부호화 비트 레이트를 포함하는 다수의 비디오 프레임 스트림 처리 방법.
  12. 제 11 항에 있어서,
    각 비디오 프레임 스트림에 대한 상기 부호화 단계는 상기 비디오 프레임 스트림 내에서 장면 전환을 감지하는 경우에 신규 프레임 그룹(GOP)을 시작하는 단계를 포함하되, 각 비디오 프레임에 대해 상기 부호화 비트 레이트는 각 GOP 내에서 일정하고 GOP 사이에서 가변인 다수의 비디오 프레임 스트림 처리 방법.
  13. 제 11 항에 있어서,
    상기 부호화 단계는 다수의 압축된 비디오 스트림을 생성하고,
    상기 방법은 각각의 압축된 비디오 스트림을 버퍼 내에서 버퍼링(buffering)하는 단계를 더 포함하며,
    상기 부호화 동적 적응 단계는 각 비디오 프레임 스트림에 대하여 상기 압축된 비디오 스트림을 수신하는 상기 버퍼 충진도에 기반하여 상기 부호화 비트 레이트를 변경하는 단계를 포함하는
    다수의 비디오 프레임 스트림 처리 방법.
  14. 제 13 항에 있어서,
    상기 부호화 비트 레이트 변경 단계는 상기 부호화 비트 레이트를
    (수학식 8)
    와 같이 변경하는 단계를 포함하되, Ri는 비디오 프레임 스트림(i)에 대한 계산된 비트 레이트이고, E는 버퍼 충진도 오차 비트이며, Ni는 스트림(i)에 대한 GOP 내에서의 화상 수이고, fi는 스트림(i)에 대한 프레임 레이트인 다수의 비디오 프레임 스트림 처리 방법.
  15. 제 13 항에 있어서,
    상기 방법은 상기 다수의 압축된 비디오 스트림을 일정한 비트 레이트 채널 상으로 멀티플렉싱하는 단계를 더 포함하는 다수의 비디오 프레임 스트림 처리 방법.
  16. 제 15 항에 있어서,
    상기 방법은 상기 일정한 비트 레이트 채널에 접속된 채널 버퍼 내에 상기 멀티플레싱되고 압축된 비디오 스트림을 버퍼링하는 단계를 더 포함하고,
    각 비디오 프레임 스트림에 대한 상기 부호화 동적 적응 단계는 상기 채널 버퍼 충진도에 기반하여 상기 부호화 비트 레이트를 변경하는 단계를 포함하는
    다수의 비디오 프레임 스트림 처리 방법.
  17. 제 16 항에 있어서,
    상기 방법은,
    채널 버퍼의 상한 및 하한에서 감시 대역을 사전 규정하는 단계와,
    버퍼 충진도가 상기 채널 버퍼의 상기 상한 및 하한 감시 대역 중 하나에 있는 경우에 상기 부호화 비트 레이트를 변경하는 단계
    를 더 포함하는 다수의 비디오 프레임 스트림 처리 방법.
  18. 제 17 항에 있어서,
    상기 부호화 비트 레이트 변경 단계는,
    버퍼 충진도가 상한 감시 대역 내에 있으면 부호화 비트 레이트 내에서의 변화량이 버퍼 충진도를 감소시키거나 버퍼 충진도를 동일하게 유지시키는 경우에만 상기 변화량을 허용하도록 하는 단계를 포함하고,
    상기 버퍼 충진도가 하한 감시 대역 내에 있으면 부호화 비트 레이트 내에서의 변화량이 버퍼 충진도를 증가시키거나 상기 채널 버퍼 충진도를 변화시키지 않는 경우에만 상기 변화량을 허용하는 단계를 포함하는
    다수의 비디오 프레임 스트림 처리 방법.
  19. 제 1 항에 있어서,
    상기 부호화 동적 적응 단계는 레이트 제어 알고리즘을 사용하여 상기 적어도 하나의 비디오 프레임 스트림의 부호화 비트 레이트를 제어하는 단계를 포함하고,
    상기 부호화 단계는 상기 다수의 비디오 프레임 스트림에 대한 상기 부호화 단계로부터 유도된 부호화 통계를 상기 레이트 제어 알고리즘에 제공하는 단계를 포함하는
    다수의 비디오 프레임 스트림 처리 방법.
  20. 제 1 항에 있어서,
    상기 부호화 단계는 다수의 MPEG 부호화기를 사용하여 상기 다수의 비디오 프레임 스트림을 병렬로 부호화하는 단계를 포함하되, 각 MPEG 부호화기는 상기 다수의 비디오 프레임 스트림 중 한 비디오 프레임 스트림을 수신하는 다수의 비디오 프레임 스트림 처리 방법.
  21. 제 1 항에 있어서,
    상기 다수의 비디오 프레임 스트림을 병렬로 부호화하는 상기 부호화 단계가
    다수의 압축된 비디오 스트림을 생성하고,
    상기 방법은 일정한 비트 레이트 채널 상으로 전송하기 위해 상기 다수의 압축된 비디오 스트림을 멀티플렉싱하는 단계를 더 포함하는
    다수의 비디오 프레임 스트림 처리 방법.
  22. 제 1 항에 있어서,
    상기 부호화 동적 적응 단계는 레이트 제어 알고리즘을 사용하여 상기 적어도 하나의 비디오 프레임 스트림의 부호화 비트 레이트를 제어하는 단계를 포함하고,
    상기 레이트 제어 알고리즘은 상기 부호화로부터 생성된 압축된 비디오 스트림을 수신하는 버퍼의 충진도에 기반하여 상기 적어도 하나의 비디오 프레임 스트림의 상기 부호화 비트 레이트를 부분적으로 제어하는
    다수의 비디오 프레임 스트림 처리 방법.
  23. 다수의 비디오 프레임 스트림을 처리하는 방법에 있어서,
    상기 다수의 비디오 프레임 스트림을 병렬로 부호화하는 단계 ― 상기 부호화 단계는 각 비디오 프레임 스트림에 대해 적어도 하나의 제어 가능한 부호화 파라미터를 이용하는 단계를 포함함 ― 와,
    상기 부호화 단계 동안, 각 비디오 프레임 스트림을 분석하여 스트림의 적어도 하나의 특성에 대한 정보를 유도하는 분석 단계 ― 상기 적어도 하나의 특성은 인터 프레임(interframe) 특성 또는 인트라 프레임(intraframe) 특성중 적어도 하나를 포함함 ― 와,
    상기 다수의 비디오 프레임 스트림의 각 비디오 프레임 스트림에서 얻어진 상기 적어도 하나의 특성에 관한 상대적인 정보를 이용하여 각 비디오 프레임 스트림에 대한 상기 부호화 단계를 동적으로 적응시키는 단계 ― 각 비디오 프레임 스트림에 대한 상기 동적 적응 단계는 상기 부호화에서 이용되는 상기 적어도 하나의 제어 가능한 부호화 파라미터를 조정하는 단계를 포함하고, 각 비디오 프레임 스트림에 대한 상기 부호화 단계는 상기 다수의 비디오 프레임 스트림으로부터 얻어진 상기 적어도 하나의 특성 내에서의 상대적인 변화에 동적으로 적응됨 ―
    를 포함하는 다수의 비디오 프레임 스트림 처리 방법.
  24. 제 23 항에 있어서,
    상기 분석 단계는 각 비디오 프레임 스트림을 분석하여 부호화될 장면의 복잡도에 관한 정보를 유도하는 단계를 포함하되, 상기 장면의 상기 복잡도는 상기 적어도 하나의 특성을 포함하는 다수의 비디오 프레임 스트림 처리 방법.
  25. 제 24 항에 있어서,
    상기 부호화 단계는 다수의 압축된 비디오 스트림을 생성하고,
    상기 방법은 일정한 비트 레이트 채널 상으로 각각의 압축된 비디오 스트림을 멀티플렉싱하는 단계를 더 포함하는
    다수의 비디오 프레임 스트림 처리 방법.
  26. 제 25 항에 있어서,
    상기 방법은 상기 멀티플렉싱 단계 전에 각각의 압축된 비디오 스트림을 버퍼링하는 단계를 더 포함하고,
    상기 분석 단계는 각 비디오 프레임 스트림을 분석하여 스트림의 상기 적어도 하나의 특성에 대한 통계를 유도하는 단계를 더 포함하되, 상기 통계는 사용되는 비트, 평균 MQUANT, 버퍼 충진도 또는 장면 전환에 대한 통계 중의 적어도 하나를 포함하는 단계를 더 포함하는
    다수의 비디오 프레임 스트림 처리 방법.
  27. 제 23 항에 있어서,
    각 비디오 프레임 스트림에 대한 상기 부호화 단계에서 사용되는 상기 적어도 하나의 제어 가능한 파라미터는 부호화 비트 레이트를 포함하는 다수의 비디오 프레임 스트림 처리 방법.
  28. 제 23 항에 있어서,
    상기 부호화 단계는 각 비디오 프레임 스트림을 프레임 그룹(GOP)들로 부호화하는 단계를 포함하고,
    상기 동적 적응 단계는 각 비디오 프레임 스트림의 상기 프레임 그룹들의 각 프레임 그룹을 부호화하는 데 사용되는 상기 적어도 하나의 제어 가능한 부호화 파라미터를 동적으로 조절하는 단계를 포함하되, 상기 동적 세팅 단계는 각 GOP를 시작하는 경우에 수행되는
    다수의 비디오 프레임 스트림 처리 방법.
  29. 제 28 항에 있어서,
    상기 동적으로 적응시키는 단계는 각 비디오 프레임 스트림의 상기 프레임 그룹들의 각 프레임 그룹에 대한 부호화 비트 레이트를 결정하는 단계를 포함하는 다수의 비디오 프레임 스트림 처리 방법.
  30. 제 29 항에 있어서,
    상기 방법은,
    각 비디오 프레임 스트림에 대하여 상기 비디오 프레임 스트림 내에서 장면 전환을 감지하는 경우에 신규 프레임 그룹을 시작하는 단계를 더 포함하는 다수의 비디오 프레임 스트림 처리 방법.
  31. 제 30 항에 있어서,
    각 비디오 프레임 스트림에 대한 상기 적어도 하나의 특성은 상기 비디오 프레임 스트림을 포함하는 비디오 데이터의 복잡도를 포함하고, 상기 분석 단계는 상기 신규 장면의 제 1 프레임의 복잡도에 기반하여 상기 신규 장면의 복잡도를 예측하는 단계를 포함하는 다수의 비디오 프레임 스트림 처리 방법.
  32. 제 23 항에 있어서,
    상기 다수의 비디오 프레임 스트림은 다수의 스트림 내로 분할되는 공통 비디오 데이터 소스 또는 상이한 비디오 데이터 소스를 포함하는 다수의 비디오 프레임 스트림 처리 방법.
  33. 다수의 비디오 프레임 스트림을 처리하는 장치에 있어서,
    상기 다수의 비디오 프레임 스트림을 병렬로 부호화하는 다수의 부호화기 ―각 부호화기는 상기 다수의 비디오 프레임 스트림 중 하나의 비디오 프레임 스트림을 수신함 ― 와,
    상기 다수의 부호화기 중 각 부호화기에 접속되어 상기 다수의 비디오 프레임 스트림을 구비하는 상기 비디오 프레임의 상대적인 복잡도에 기반하여 상기 다수의 비디오 프레임 스트림 중 적어도 하나의 비디오 프레임 스트림에 대한 부호화를 동적으로 적응시키는 결합 제어기
    를 포함하는 다수의 비디오 프레임 스트림 처리 장치.
  34. 제 33 항에 있어서,
    상기 제어기는 장면 전환이 감지되는 경우에 상기 적어도 하나의 비디오 프레임 스트림의 부호화에 대한 상기 동적 적응 단계를 수행하는 수단을 포함하는 다수의 비디오 프레임 스트림 처리 장치.
  35. 제 34 항에 있어서,
    상기 제어기는 상기 다수의 부호화기 중 한 부호화기에 의해 사용되는 적어도 하나의 제어 가능한 부호화 파라미터를 조정하여 상기 적어도 하나의 비디오 프레임 스트림을 부호화하는 조정 수단을 포함하는 다수의 비디오 프레임 스트림 처리 장치.
  36. 제 35 항에 있어서,
    상기 제어 가능한 부호화 파라미터를 조정하는 상기 조정 수단은 상기 적어도 하나의 비디오 프레임 스트림 내에서 신규 프레임 그룹(GOP)을 시작하는 경우에 또는 상기 적어도 하나의 비디오 프레임 스트림 내에서 장면 전환을 감지하는 경우에 상기 제어 가능한 부호화 파라미터를 조정하는 수단을 포함하는 다수의 비디오 프레임 스트림 처리 장치.
  37. 제 36 항에 있어서,
    상기 제어 가능한 부호화 파라미터는 부호화 비트 레이트(encode bit rate)를 포함하는 다수의 비디오 프레임 스트림 처리 장치.
  38. 제 33 항에 있어서,
    상기 제어기는 상기 적어도 하나의 비디오 프레임 스트림 내에서 장면 전환을 감지하는 경우에 신규 프레임 그룹(GOP)을 시작하는 수단을 포함하고, 상기 부호화 비트 레이트는 각 GOP 내에서는 일정하고 상기 적어도 하나의 비디오 프레임 스트림의 GOP 사이에서는 가변인 다수의 비디오 프레임 스트림 처리 장치.
  39. 제 33 항에 있어서,
    상기 다수의 부호화기는 다수의 압축된 비디오 스트림을 생성하고,
    상기 장치는 다수의 버퍼를 더 포함하되, 각 버퍼는 상기 다수의 부호화기 중 대응되는 부호화기로부터의 출력을 수신하기 위해 접속되고,
    상기 제어기는 상기 적어도 하나의 비디오 프레임 스트림을 부호화하는 (상기 다수의 부호화기 중의) 한 부호화기에 접속된 (상기 다수의 버퍼 중의) 한 버퍼의 충진도에 부분적으로 기반하여 상기 적어도 하나의 비디오 프레임 스트림의 부호화를 동적으로 적응시키는 수단을 포함하는
    다수의 비디오 프레임 스트림 처리 장치.
  40. 제 39 항에 있어서,
    상기 장치는,
    일정한 비트 레이트 채널 상으로 전송하도록 상기 다수의 압축된 비디오 스트림을 멀티플렉싱하는 멀티플렉서와,
    상기 멀티플렉서와 상기 일정한 비트 레이트 채널 사이에 접속되어 멀티플렉싱된 압축된 비디오 스트림이 상기 일정한 비트 레이트로 전송되게 하는 채널 버퍼
    를 더 포함하는 다수의 비디오 프레임 스트림 처리 장치.
  41. 제 40 항에 있어서,
    상기 제어기는 상기 채널 버퍼 충진도에 기반하여 상기 적어도 하나의 비디오 프레임 스트림의 부호화를 적응시키는 수단을 포함하는 다수의 비디오 프레임 스트림 처리 장치.
  42. 제 33 항에 있어서,
    상기 제어기는 상기 적어도 하나의 비디오 프레임 스트림의 부호화 비트 레이트를 제어하는 레이트 제어 알고리즘을 포함하고,
    상기 다수의 부호화기는 상기 다수의 비디오 프레임 스트림에 대한 상기 부호화로부터 유도되는 부호화 통계를 상기 레이트 제어 알고리즘에 제공하는
    다수의 비디오 프레임 스트림 처리 장치.
  43. 제 33 항에 있어서,
    상기 다수의 부호화기는 병렬로 접속된 다수의 MPEG 부호화기를 포함하되, 각 MPEG 부호화기는 상기 다수의 비디오 프레임 스트림중 하나의 비디오 프레임 스트림을 수신하기 위해 접속되고, 상기 다수의 비디오 프레임 스트림은 다수의 스트림으로 분할된 공통 비디오 데이터 소스 또는 상이한 비디오 데이터 소스를 포함하는 다수의 비디오 프레임 스트림 처리 장치.
  44. 다수의 비디오 프레임 스트림을 처리하는 장치에 있어서,
    다수의 비디오 프레임 스트림을 병렬로 부호화하는 다수의 부호화기 ― 각 부호화기는 하나의 비디오 프레임 스트림을 부호화하기 위해 적어도 하나의 제어 가능한 부호화 파라미터를 사용함 ― 와,
    각 비디오 프레임 스트림을 분석하여 스트림의 적어도 하나의 특성에 대한 정보를 유도하되, 상기 적어도 하나의 특성은 인터 프레임 특성 또는 인트라 프레임 특성 중 적어도 하나를 포함하는 분석 수단과,
    상기 다수의 비디오 프레임 스트림중 각 비디오 프레임 스트림으로부터 얻어진 상기 적어도 하나의 특성에 대한 상대적인 정보를 사용하여 각 비디오 프레임 스트림에 대한 상기 부호화를 동적으로 적응시키는 동적 적응 수단 ― 각 비디오 프레임 스트림에 대한 상기 동적 적응 수단은 상기 부호화에 이용되는 상기 적어도 하나의 부호화 파라미터를 조정하는 수단을 구비하고, 각 비디오 프레임에 대한 상기 부호화는 상기 다수의 비디오 프레임 스트림으로부터 얻어진 상기 적어도 하나의 특성의 상대적변화에 동적으로 적응됨 ―
    을 포함하는 다수의 비디오 프레임 스트림 처리 장치.
  45. 제 44 항에 있어서,
    상기 분석 수단은 각 비디오 프레임 스트림을 분석하여 부호화될 장면의 복잡도에 관한 정보를 유도하는 수단을 포함하되, 상기 장면에 대한 상기 복잡도는 상기 적어도 하나의 특성을 포함하는 다수의 비디오 프레임 스트림 처리 장치.
  46. 제 45 항에 있어서,
    상기 다수의 부호화기는 다수의 압축된 비디오 스트림을 생성하고,
    상기 장치는 일정한 비트 레이트 채널 상으로 전송하기 위해 상기 압축된 비디오 스트림을 멀티플렉싱하는 멀티플렉서를 더 포함하는
    다수의 비디오 프레임 스트림 처리 장치.
  47. 제 46 항에 있어서,
    상기 장치는 다수의 버퍼를 더 포함하되, 상기 다수의 버퍼중 각 버퍼는 상기 다수의 부호화기 중 한 부호화기와 상기 멀티플렉서 사이에 접속되고,
    상기 장치는 채널 버퍼를 더 포함하되, 상기 채널 버퍼는 상기 멀티플렉서와 상기 일정한 비트 레이트 채널 사이에 접속되며,
    상기 분석 수단은 각 비디오 프레임 스트림을 분석하여 그 스트림의 적어도 하나의 특성에 관한 통계를 유도하는 수단을 포함하되, 상기 통계는 사용되는 비트, 평균 MQUANT, 버퍼 충진도, 장면 전환에 관한 통계 중 적어도 하나를 포함하는
    다수의 비디오 프레임 스트림 처리 장치.
  48. 제 44 항에 있어서,
    상기 다수의 부호화기는 각 비디오 프레임 스트림을 프레임 그룹(GOP)들로 부호화하는 수단을 포함하고,
    상기 동적 적응 수단은 각 비디오 프레임 스트림의 상기 프레임 그룹들의 각 프레임 그룹을 부호화하는 데 사용되는 적어도 하나의 제어 가능한 부호화 파라미터를 동적으로 세팅하는 수단을 포함하되, 상기 동적 세팅 수단은 각 GOP를 시작하는 경우에 수행되는
    다수의 비디오 프레임 스트림 처리 장치.
  49. 제 48 항에 있어서,
    상기 동적 적응 수단은 각 비디오 프레임 스트림의 상기 프레임 그룹들의 프레임 그룹에 대한 부호화 비트 레이트를 결정하는 수단을 포함하는 다수의 비디오 프레임 스트림 처리 장치.
  50. 제 49 항에 있어서,
    각 비디오 프레임 스트림에 대해 상기 장치는,
    상기 비디오 프레임 스트림 내에서 장면 전환이 감지되는 경우에 새 프레임 그룹을 시작하는 수단을 더 포함하는 다수의 비디오 프레임 스트림 처리 장치.
  51. 제 50 항에 있어서,
    각 비디오 프레임 스트림에 대한 상기 적어도 하나의 특성은 상기 비디오 프레임 스트림을 포함하는 비디오 데이터의 복잡도를 포함하고,
    상기 분석 수단은 신규 장면의 복잡도를 상기 신규 장면의 제 1 프레임의 복잡도에 기반하여 예측하는 수단을 포함하는
    다수의 비디오 프레임 스트림 처리 장치.
  52. 제조물에 있어서,
    다수의 비디오 프레임 스트림을 처리하기 위해 자체에 내장된 컴퓨터 판독 가능한 프로그램 부호화 수단을 갖는 적어도 하나의 컴퓨터 사용 가능한 매체를 포함하되, 상기 제조물 내에서의 상기 컴퓨터 판독 가능한 프로그램 부호화 수단은,
    컴퓨터로 하여금 상기 다수의 비디오 프레임 스트림을 부호화하게 하는 컴퓨터 판독 가능한 프로그램 부호화 수단과,
    컴퓨터로 하여금 상기 다수의 비디오 프레임 스트림을 포함하는 상기 비디오 프레임의 상대적인 복잡도에 기반하여 상기 다수의 비디오 프레임 스트림 중 적어도 하나의 비디오 프레임 스트림의 부호화를 동적으로 적응시키게 하는 컴퓨터 판독 가능한 프로그램 부호화 수단
    을 포함하는 제조물.
  53. 제 52 항에 있어서,
    컴퓨터로 하여금 부호화를 동적으로 적응시키게 하는 상기 컴퓨터 판독 가능한 프로그램 부호화 수단은 상기 적어도 하나의 비디오 프레임 스트림 내에서 장면 전환이 감지되거나 또는 상기 적어도 하나의 비디오 프레임 스트림 내에서 신규 프레임 그룹(GOP)들을 시작하는 경우에 컴퓨터로 하여금 상기 적어도 하나의 비디오 프레임 스트림의 부호화에 대한 상기 동적 적응을 수행하게 하는 컴퓨터 판독 가능한 프로그램 부호화 수단을 포함하는 제조물.
  54. 제 53 항에 있어서,
    컴퓨터로 하여금 부호화를 동적으로 적응시키게 하는 상기 컴퓨터 판독 가능한 프로그램 부호화 수단은 상기 부호화로부터 얻어진 압축된 비디오 스트림 출력을 수신하기 위해 접속된 버퍼의 충진도에 대한 피드백(feed back)을 사용하여 컴퓨터로 하여금 적어도 하나의 비디오 프레임 스트림의 부호화를 동적으로 적응시키게 하는 컴퓨터 판독 가능한 프로그램을 포함하는 제조물.
  55. 제 52 항에 있어서,
    컴퓨터로 하여금 부호화를 동적으로 적응시키게 하는 상기 컴퓨터 판독 가능한 프로그램 부호화 수단은 레이트 제어 알고리즘을 사용하여 상기 적어도 하나의 비디오 프레임 스트림의 부호화 비트 레이트를 제어하고,
    컴퓨터로 하여금 부호화하게 하는 상기 컴퓨터 판독 가능한 프로그램 부호화 수단은 컴퓨터로 하여금 상기 다수의 비디오 프레임 스트림의 상기 부호화로부터 유도된 부호화 통계를 상기 레이트 제어 알고리즘에 제공하게 하는 컴퓨터 판독 가능한 프로그램 부호화 수단을 포함하는
    제조물.
  56. 제 52 항에 있어서,
    컴퓨터로 하여금 부호화하게 하는 상기 컴퓨터 판독 가능한 프로그램 부호화 수단은 컴퓨터로 하여금 상기 다수의 비디오 프레임 스트림을 병렬로 부호화하게 하여 다수의 압축된 비디오 스트림을 생성하는 컴퓨터 판독 가능한 프로그램 부호화 수단을 포함하고,
    상기 제조물은 컴퓨터로 하여금 일정한 비트 레이트 채널 상으로 전송하도록 상기 다수의 압축된 비디오 스트림을 멀티플렉싱하게 하는 컴퓨터 판독 가능한 프로그램 부호화 수단을 포함하는
    제조물.
  57. 제조물에 있어서,
    다수의 비디오 프레임 스트림을 처리하기 위해 자체에 내장된 컴퓨터 판독 가능한 프로그램 부호화 수단을 갖는 적어도 하나의 컴퓨터 사용 가능한 매체를 포함하되, 상기 제조물 내에서의 상기 컴퓨터 판독 가능한 프로그램 부호화 수단은,
    컴퓨터로 하여금 상기 다수의 비디오 프레임 스트림을 부호화하게 하는 컴퓨터 판독 가능한 프로그램 부호화 수단 ― 상기 부호화는 각 비디오 프레임 스트림에 대한 적어도 하나의 제어 가능한 부호화 파라미터를 사용하는 것을 포함함 ― 과,
    컴퓨터로 하여금 각 비디오 프레임 스트림을 분석하게 하여 그 스트림의 적어도 한 특성에 관한 정보를 유도하는 컴퓨터 판독 가능한 프로그램 부호화 수단 ― 상기 적어도 하나의 특성은 인터 프레임 특성과 인트라 프레임 특성 중 적어도 하나를 포함함 ― 과,
    컴퓨터로 하여금 상기 다수의 비디오 프레임 스트림의 각 비디오 프레임 스트림으로부터 얻어진 상기 적어도 하나의 특성에 관한 상대적인 정보를 사용하여 상기 비디오 프레임 스트림에 대한 상기 부호화를 동적으로 적응시키게 하는 컴퓨터 판독 가능한 프로그램 부호화 수단 ― 각 비디오 프레임 스트림에 대한 상기 동적 적응은 상기 부호화에서 사용되는 상기 적어도 하나의 제어 가능한 부호화 파라미터의 조정을 포함하고, 각 비디오 프레임에 대한 상기 부호화는 상기 다수의 비디오 프레임 스트림으로부터 얻어진 상기 적어도 하나의 특성 내에서의 상대적인 변화에 동적으로 적응됨 ―
    을 포함하는 제조물.
  58. 제 57 항에 있어서,
    컴퓨터로 하여금 상기 부호화를 동적으로 적응시키게 하는 상기 컴퓨터 판독 가능한 프로그램 부호화 수단은 컴퓨터로 하여금 각 비디오 프레임 스트림을 분석하게 하여 부호화될 장면의 복잡도에 대한 정보를 유도하는 컴퓨터 판독 가능한 프로그램 부호화 수단 ― 상기 장면의 상기 복잡도는 상기 적어도 하나의 특성을 포함함 ― 을 포함하는 제조물.
  59. 제 57 항에 있어서,
    컴퓨터로 하여금 부호화하게 하는 상기 컴퓨터 판독 가능한 프로그램 부호화 수단이 컴퓨터로 하여금 각 비디오 프레임 스트림을 프레임 그룹으로서 부호화하게 하는 컴퓨터 판독 가능한 프로그램 부호화 수단을 포함하고,
    동적 적응을 위한 컴퓨터 판독 가능한 프로그램 부호화 수단은 컴퓨터로 하여금 각 비디오 프레임 스트림의 상기 프레임 그룹들의 각 프레임 그룹을 부호화하는 데 사용되는 상기 적어도 하나의 제어 가능한 부호화 파라미터를 동적으로 세팅하게 하는 컴퓨터 판독 가능한 프로그램 부호화 수단을 포함하는
    제조물.
  60. 제 59 항에 있어서,
    상기 장치는,
    각 비디오 프레임 스트림에 대하여 상기 비디오 프레임 스트림 내에서 장면 전환이 감지되는 경우에 컴퓨터로 하여금 신규 프레임 그룹을 시작하게 하는 컴퓨터 판독 가능 프로그램 부호화 수단을 더 포함하고,
    상기 적어도 하나의 특성은 각 비디오 프레임 스트림의 비디오 프레임에 대한 복잡도를 포함하고,
    컴퓨터로 하여금 분석하게 하는 상기 컴퓨터 판독 가능한 프로그램 부호화 수단은 컴퓨터로 하여금 신규 장면의 복잡도를 상기 신규 장면의 제 1 프레임의 복잡도에 기반하여 예측하게 하는 컴퓨터 판독 가능한 프로그램 부호화 수단을 포함하는
    제조물.
  61. 다수의 비디오 프레임 스트림을 처리하는 방법에 있어서,
    상기 다수의 비디오 프레임 스트림을 분석하여 상기 다수의 비디오 프레임 스트림을 포함하는 비디오 프레임의 상대적인 복잡도를 결정하는 분석 단계 ― 상기 분석 단계는 상기 다수의 비디오 프레임 스트림을 부호화하기 전에 상기 비디오 프레임의 상기 상대적인 복잡도에 대한 화상 통계를 얻는 단계를 포함함― 와,
    상기 비디오 프레임의 상기 상대적인 복잡도를 사용하여 상기 다수의 비디오 프레임 스트림을 병렬로 부호화하는 부호화 단계 ― 상기 부호화 단계는 상기 상대적인 복잡도 내의 변화로 상기 다수의 비디오 프레임 스트림을 적응적으로 부호화하는 단계를 포함함 ― 와,
    상기 부호화 단계 동안에, 각 비디오 프레임 스트림을 분석하여 그 스트림의 적어도 하나의 특성에 대한 부호화 통계를 유도하되, 상기 부호화 통계는 인터 프레임 특성 또는 인트라 프레임 특성 중 적어도 하나를 포함하는 각 비디오 프레임 스트림 분석 단계 ― 상기 적응적 부호화하는 단계는 상기 화상 통계와 상기 부호화 통계를 사용하여 상기 다수의 비디오 프레임 스트림을 적응적으로 부호화하는 단계를 구비함 ―
    를 포함하는 다수의 비디오 프레임 스트림 처리 방법.
  62. 제 61 항에 있어서,
    상기 적응적 부호화 단계는 상기 부호화 단계에서 사용되는 제어 가능한 부호화 파라미터를 조정함으로써 상기 다수의 비디오 프레임 스트림에 대한 상기 분석을 기반으로 상기 다수의 비디오 프레임 스트림을 부호화하는 단계를 포함하는 다수의 비디오 프레임 스트림 처리 방법.
  63. 제 61 항에 있어서,
    상기 방법은,
    상기 다수의 비디오 프레임 스트림 중 하나에서 장면 전환이 감지되고 상기 다수의 비디오 프레임 스트림의 부호화를 시작하는 경우에 상기 화상 통계만을 사용하는 단계를 더 포함하는 다수의 비디오 프레임 스트림 처리 방법.
  64. 제 61 항에 있어서,
    상기 화상 통계와 상기 부호화 통계를 사용하는 상기 적응적 부호화 단계는 상기 화상 통계와 상기 부호화 통계에 사전 규정된 양만큼 가중치를 부여함으로써 상기 다수의 비디오 프레임 스트림을 부호화하기 위해 상기 부호화 단계에서 사용되는 제어 가능한 부호화 파라미터를 조정하는 단계를 포함하는 다수의 비디오 프레임 스트림 처리 방법.
  65. 제 64 항에 있어서,
    상기 가중치 부여 단계는 상기 화상 통계에 50% 가중치를 부여하고 상기 부호화 통계에 50% 가중치를 부여함으로써 상기 다수의 비디오 프레임 스트림의 상기 상대적인 복잡도에 기반하여 상기 제어 가능한 부호화 파라미터를 조정하는 단계를 포함하는 다수의 비디오 프레임 스트림 처리 방법.
  66. 제 61 항에 있어서,
    상기 방법은,
    상기 다수의 비디오 프레임 스트림 중 하나에서 장면 전환이 감지될 경우 상기 다수의 비디오 프레임 스트림에 대한 상기 적응적 부호화 단계를 수행하는 단계를 더 포함하는 다수의 비디오 프레임 스트림 처리 방법.
  67. 제 61 항에 있어서,
    상기 분석 단계는 상기 다수의 비디오 프레임 스트림을 사전 처리하여 상기 다수의 비디오 프레임 스트림을 포함하는 상기 비디오 프레임의 각 비디오 프레임에 대한 평균 프레임 활성도를 생성하고,
    상기 부호화 단계는 상기 평균 프레임 활성도를 상기 비디오 프레임의 상기 상대적인 복잡도를 나타내는 것으로 사용하는 단계를 포함하는
    다수의 비디오 프레임 스트림 처리 방법.
  68. 제 61 항에 있어서,
    상기 적응적 부호화 단계는 상기 부호화에서 사용되는 부호화 파라미터를 조정함으로써 상기 다수의 비디오 프레임 스트림의 상기 화상 통계와 상기 부호화 통계에 기반하여 상기 다수의 비디오 프레임 스트림을 부호화하되, 각 비디오 프레임 스트림에 대한 상기 제어 가능한 부호화 파라미터는 부호화 비트 레이트를 포함하고,
    상기 부호화 단계는 다수의 압축된 비디오 스트림을 생성하며,
    상기 방법은 각각의 압축된 비디오 스트림을 버퍼 내에 버퍼링하는 단계를 더 포함하고,
    각 비디오 프레임 스트림에 대한 상기 적응적 부호화 단계는 상기 압축된 비디오 스트림을 수신하는 상기 버퍼의 충진도에 기반하여 상기 부호화 비트 레이트를 변형하는 단계를 포함하는
    다수의 비디오 프레임 스트림 처리 방법.
  69. 제 68 항에 있어서,
    상기 방법은,
    상기 다수의 압축된 비디오 프레임 스트림을 일정한 비트 레이트 채널 상으로 멀티플렉싱하는 단계를 더 포함하는 다수의 비디오 프레임 스트림 처리 방법.
  70. 제 69 항에 있어서,
    상기 방법은,
    상기 버퍼의 상한과 하한에서 감시 대역을 사전 규정하는 단계와,
    버퍼 충진도가 상기 버퍼의 상기 상한 및 하한 감시 대역 내에 존재하는 경우에 상기 부호화 비트 레이트를 변형하는 단계
    를 더 포함하는 다수의 비디오 프레임 스트림 처리 방법.
  71. 제 61 항에 있어서,
    상기 적응적 부호화는 레이트 제어 알고리즘을 사용하여 상기 다수의 비디오 프레임 스트림 중 각 스트림의 부호화 비트 레이트를 제어하는 단계를 포함하고,
    상기 방법은 부호화되는 상기 다수의 비디오 프레임 스트림을 포함하는 상기 비디오 프레임의 상기 상대적인 복잡도를 나타내는 상기 화상 통계와 상기 부호화 통계를 상기 레이트 제어 알고리즘에 제공하는 단계를 포함하는
    다수의 비디오 프레임 스트림 처리 방법.
  72. 다수의 비디오 프레임 스트림을 처리하는 방법에 있어서,
    상기 다수의 비디오 프레임 스트림을 분석하여 그 스트림의 적어도 하나의 특성에 대한 화상 통계를 유도하되, 상기 적어도 하나의 특성은 인터 프레임 특성 또는 인트라 프레임 특성 중 적어도 하나를 포함하는 분석 단계와,
    상기 다수의 비디오 프레임 스트림을 병렬로 부호화하는 단계 ― 상기 부호화 단계는 각 비디오 프레임 스트림에 대하여 적어도 하나의 제어 가능한 부호화 파라미터를 사용하는 단계를 포함함 ― 와,
    상기 다수의 비디오 프레임 스트림으로부터 얻은 상기 화상 통계에 대한 상대적인 정보를 사용하여 상기 다수의 비디오 프레임 스트림에 대한 상기 부호화를 적응시키는 단계 ― 상기 적응 단계는 적어도 하나의 비디오 프레임 스트림에 대한 상기 부호화에서 사용되는 상기 적어도 하나의 제어 가능한 부호화 파라미터를 조정하는 단계를 포함하고, 상기 다수의 비디오 프레임 스트림에 대한 상기 부호화는 상기 적어도 하나의 특성에서의 상대적인 변화에 적응적임 ― 와,
    상기 부호화 단계 동안에, 각 비디오 프레임 스트림을 분석하여 적어도 하나의 부호화 특성에 대한 부호화 통계를 유도하되, 상기 적어도 하나의 부호화 통계는 인터 프레임 부호화 특성 또는 인트라 프레임 부호화 특성 중 적어도 하나를 포함하고, 상기 적응 단계는 상기 화상 통계와 함께 상기 부호화 통계를 사용하여 상기 적어도 하나의 비디오 프레임 스트림에 대한 상기 부호화를 적응시키는 단계를 포함하는 단계
    를 포함하는 다수의 비디오 프레임 스트림 처리 방법.
  73. 제 72 항에 있어서,
    상기 화상 통계는 평균 프레임 활성도를 나타내고, 상기 부호화 통계는 상기 비디오 프레임 스트림의 부호화 단계 중에 버퍼 충진도, 평균 MQUANT 또는 사용되는 비트 중 적어도 하나를 포함하는 다수의 비디오 프레임 스트림 처리 방법.
  74. 제 72 항에 있어서,
    상기 적응 단계는 상기 화상 통계와 상기 부호화 통계를 사용하여 상기 적어도 하나의 비디오 프레임 스트림을 부호화하는 데 사용되는 상기 적어도 하나의 제어 가능한 부호화 파라미터를 조정하는 단계를 포함하는 다수의 비디오 프레임 스트림 처리 방법.
  75. 제 74 항에 있어서,
    상기 방법은,
    상기 화상 통계와 상기 부호화 통계를 사전 규정된 관련성으로 사용하여 상기 적어도 하나의 비디오 프레임 스트림에 대한 상기 부호화에 사용되는 상기 적어도 하나의 제어 가능한 부호화 파라미터를 조정하는 단계를 더 포함하는 다수의 비디오 프레임 스트림 처리 방법.
  76. 제 74 항에 있어서,
    상기 적어도 하나의 제어 가능한 부호화 파라미터는 각 비디오 프레임 스트림에 대한 부호화 비트 레이트를 포함하는 다수의 비디오 프레임 스트림 처리 방법.
  77. 제 72 항에 있어서,
    상기 부호화 단계는 다수의 압축된 비디오 스트림을 생성하고,
    상기 방법은 각각의 압축된 비디오 스트림을 일정한 비트 레이트 채널 상으로 멀티플렉싱하는 단계를 더 포함하는
    다수의 비디오 프레임 스트림 처리 방법.
  78. 제 77 항에 있어서,
    상기 방법은 상기 멀티플렉싱 단계 이전에 각각의 압축된 비디오 스트림을 버퍼링하는 단계를 더 포함하고,
    각 비디오 프레임 스트림을 분석하여 상기 부호화 통계를 유도하는 상기 단계는 사용되는 비트, 평균 MQUANT, 버퍼 충진도 또는 장면 전환에 대한 통계 중 적어도 하나를 유도하는 단계를 포함하는
    다수의 비디오 프레임 스트림 처리 방법.
  79. 제 72 항에 있어서,
    상기 방법은,
    상기 다수의 비디오 프레임 스트림 중 하나에서 장면 전환이 감지되고 상기 다수의 비디오 프레임 스트림의 부호화를 시작하는 경우에 상기 적응 단계에서 상기 화상 통계만을 사용하는 단계를 더 포함하는 다수의 비디오 프레임 스트림 처리 방법.
  80. 다수의 비디오 프레임 스트림을 처리하는 장치에 있어서,
    상기 다수의 비디오 프레임 스트림을 분석하여 상기 다수의 비디오 프레임 스트림을 포함하는 상기 비디오 프레임의 상대적인 복잡도를 나타내는 화상 통계를 결정하는 수단과,
    상기 다수의 비디오 프레임 스트림을 병렬로 부호화하는 다수의 부호화기― 각 부호화기는 상기 다수의 비디오 프레임 스트림 중 한 비디오 프레임 스트림을 수신하고, 상기 다수의 부호화기는 각각 그 부호화기에 의해 부호화되는 상기 비디오 프레임 스트림의 적어도 하나의 특성에 대한 부호화 통계를 생성하는 수단을 포함하며, 상기 부호화 통계는 인터 프레임 특성 또는 인트라 프레임 특성 중 적어도 하나를 포함함 ― 와,
    상기 다수의 부호화기의 각 부호화기와 상기 분석 수단에 접속되어 상기 다수의 비디오 프레임 스트림을 포함하는 비디오 프레임으로부터 유도된 상기 화상 통계와 상기 부호화 통계에 기반하여 상기 다수의 비디오 프레임 스트림 중 적어도 하나의 비디오 프레임 스트림의 부호화를 동적으로 적응시키는 결합 제어기
    를 포함하는 다수의 비디오 프레임 스트림 처리 장치.
  81. 제 80 항에 있어서,
    상기 분석 수단은 상기 다수의 비디오 프레임 스트림을 수신하기 위해 접속된 다수의 사전 처리기를 포함하되, 각 사전 처리기는 상이한 비디오 프레임을 수신하고, 상기 다수의 사전 처리기는 상기 화상 통계를 출력하고, 상기 다수의 비디오 프레임 스트림을 포함하는 상기 비디오 프레임의 상기 상대적인 복잡도에 대한 정보를 제공하는 상기 화상 통계는 상기 적어도 하나의 비디오 프레임 스트림에 대한 상기 부호화를 동적으로 적응시키는 상기 결합 제어기에 제공되는 다수의 비디오 프레임 스트림 처리 장치.
  82. 제 81 항에 있어서,
    상기 결합 제어기는 상기 다수의 부호화기 중 한 부호화기에 의해 사용되는 적어도 하나의 제어 가능한 부호화 파라미터를 조정함으로써 상기 적어도 하나의 비디오 프레임 스트림을 부호화하는 수단을 포함하는 다수의 비디오 프레임 스트림 처리 장치.
  83. 제 82 항에 있어서,
    상기 결합 제어기는 상기 적어도 하나의 비디오 프레임 스트림 내에서 신규 프레임 그룹(GOP)을 시작하거나 또는 상기 적어도 하나의 비디오 프레임 스트림 내에서 장면 전환이 감지되는 경우 상기 제어 가능한 부호화 파라미터를 조정하는 수단을 포함하는 다수의 비디오 프레임 스트림 처리 장치.
  84. 제 80 항에 있어서,
    상기 결합 제어기는 상기 적어도 하나의 비디오 프레임 스트림 내에서 장면 전환이 감지되고 상기 다수의 비디오 프레임 스트림의 부호화를 시작하는 경우에 상기 화상 통계만을 사용하는 수단을 포함하는 다수의 비디오 프레임 스트림 처리 장치.
  85. 제 80 항에 있어서,
    상기 결합 제어기는 상기 화상 통계와 상기 부호화 통계에 사전 규정된 양만큼 가중치를 부여하고, 상기 다수의 부호화기에 의해 사용되는 적어도 하나의 제어 가능한 부호화 파라미터를 조정함으로써 상기 다수의 비디오 프레임 스트림을 부호화하는 수단을 포함하는 다수의 비디오 프레임 스트림 처리 장치.
  86. 제 80 항에 있어서,
    상기 화상 통계는 부호화되는 상기 다수의 비디오 프레임 스트림을 포함하는 상기 비디오 프레임 중 한 비디오 프레임에 대한 평균 프레임 활성도를 포함하고,
    상기 부호화 통계는 상기 다수의 비디오 프레임 스트림을 포함하는 상기 비디오 프레임 중 한 비디오 프레임을 부호화하는 동안의 버퍼 충진도, 평균 MQUANT 또는 사용되는 비트 중의 적어도 하나를 포함하는
    다수의 비디오 프레임 스트림 처리 장치.
  87. 다수의 비디오 프레임 스트림을 처리하는 장치에 있어서,
    상기 다수의 비디오 프레임 스트림을 분석하여 그 스트림의 적어도 하나의 특성에 관한 화상 정보를 유도하되, 상기 적어도 하나의 특성은 인터 프레임 특성 또는 인트라 프레임 특성 중 적어도 하나를 포함하는 분석 수단과,
    상기 다수의 비디오 프레임 스트림을 병렬로 부호화하는 다수의 부호화기― 각 부호화기는 상기 다수의 비디오 프레임 스트림 중 한 비디오 프레임 스트림을 수신하고, 각 부호화기는 적어도 하나의 제어 가능한 부호화 파라미터를 사용하여 그 비디오 프레임 스트림을 부호화하며, 상기 다수의 부호화기는 상기 부호화 동안 각 비디오 프레임 스트림을 분석하여 적어도 하나의 부호화 특성에 관한 부호화 정보를 유도하는 부호화 수단을 더 포함하되, 상기 적어도 하나의 부호화 특성은 인터 프레임 특성 또는 인트라 프레임 특성 중 적어도 하나를 포함함 ― 와,
    상기 다수의 부호화기의 각 부호화기와 상기 분석 수단에 접속되어 상기 화상 통계와 상기 부호화 통계로부터 유도된 상대적인 정보에 기반하여 상기 다수의 비디오 프레임 스트림 중 적어도 한 비디오 프레임 스트림에 대한 부호화를 동적으로 적응시키는 결합 제어기 ― 상기 적응은 적어도 하나의 비디오 프레임에 대한 상기 부호화에 사용되는 상기 적어도 하나의 제어 가능한 부호화 파라미터의 조정을 포함하고, 상기 다수의 비디오 프레임 스트림에 대한 상기 부호화는 상기 상대적인 정보에서의 변화에 적응적임 ―
    를 포함하는 다수의 비디오 프레임 스트림 처리 장치.
  88. 제 87 항에 있어서,
    상기 화상 통계는 평균 프레임 활성도를 나타내고,
    상기 부호화 통계는 상기 비디오 프레임 스트림을 부호화하는 동안의 버퍼 충진도, 평균 MQUANT 또는 사용되는 비트 중 적어도 하나를 포함하는
    다수의 비디오 프레임 스트림 처리 장치.
  89. 제 87 항에 있어서,
    상기 결합 제어기는 상기 화상 통계와 상기 부호화 통계를 사용하여 상기 적어도 하나의 비디오 프레임 스트림을 부호화하는 데 사용되는 상기 적어도 하나의 제어 가능한 부호화 파라미터를 조정하는 수단을 포함하되, 상기 적어도 하나의 제어 가능한 부호화 파라미터는 부호화 비트 레이트를 포함하는 다수의 비디오 프레임 스트림 처리 장치.
  90. 제 87 항에 있어서,
    상기 결합 제어기는 상기 화상 통계와 상기 부호화 통계를 사전 정의된 관련성으로 사용하여 상기 적어도 하나의 비디오 프레임 스트림의 상기 부호화에 사용되는 상기 적어도 하나의 제어 가능한 부호화 파라미터를 조정하는 수단을 포함하는 다수의 비디오 프레임 스트림 처리 장치.
  91. 제 87 항에 있어서,
    상기 다수의 부호화기는 다수의 압축된 비디오 스트림을 생성하고,
    상기 장치는 상기 압축된 비디오 스트림을 일정한 비트 레이트 채널 상으로 멀티플렉싱하는 멀티플렉서를 더 포함하는
    다수의 비디오 프레임 스트림 처리 장치.
  92. 제 91항에 있어서,
    상기 장치는 상기 멀티플렉싱 전에 각각의 압축된 비디오 스트림을 버퍼링하는 수단을 더 포함하고,
    상기 부호화 통계를 유도하는 상기 부호화 수단은 사용되는 비트, 평균 MQUANT 또는 버퍼 충진도에 관한 통계 중 적어도 하나를 유도하는 수단을 포함하는
    다수의 비디오 프레임 스트림 처리 장치.
  93. 제조물에 있어서,
    다수의 비디오 프레임 스트림을 처리하기 위해 자체에 내장된 컴퓨터 판독 가능한 프로그램 부호화 수단을 갖는 적어도 하나의 컴퓨터 사용 가능한 매체를 포함하되, 상기 제조물 내에서의 상기 컴퓨터 판독 가능한 프로그램 부호화 수단은,
    컴퓨터로 하여금 상기 다수의 비디오 프레임 스트림을 분석하게 하여 상기 다수의 비디오 프레임 스트림을 포함하는 상기 비디오 프레임의 상대적인 복잡도를 결정하는 컴퓨터 판독 가능한 프로그램 부호화 수단 ― 상기 분석은 상기 다수의 비디오 프레임 스트림을 부호화하기 전에 상기 비디오 프레임의 상기 상대적인 복잡도에 관한 화상 통계를 얻는 것을 포함함 ― 과,
    컴퓨터로 하여금 상기 비디오 프레임의 상기 상대적인 복잡도를 사용하여 상기 다수의 비디오 프레임 스트림을 병렬로 부호화하게 하는 컴퓨터 판독 가능한 프로그램 부호화 수단 ― 상기 부호화는 상기 상대적인 복잡도에서의 변화로 상기 다수의 비디오 프레임 스트림을 적응적으로 부호화하는 것을 포함함 ― 과,
    컴퓨터로 하여금 상기 부호화 동안에 각 비디오 프레임 스트림을 분석하게 하여 그 스트림의 적어도 하나의 특성에 관한 부호화 통계를 유도하는 컴퓨터 판독 가능한 프로그램 부호화 수단 ― 상기 부호화 통계는 인터 프레임 특성 또는 인트라 프레임 특성 중 적어도 하나를 포함하고, 컴퓨터로 하여금 적응적으로 부호화하게 하는 상기 컴퓨터 판독 가능한 프로그램 부호화 수단은 컴퓨터로 하여금 상기 화상 통계와 상기 부호화 통계를 사용하게 하여 상기 다수의 비디오 프레임 스트림을 적응적으로 부호화하는 컴퓨터 판독 가능한 프로그램 부호화 수단을 포함함 ―
    을 포함하는 제조물.
  94. 제 93 항에 있어서,
    상기 다수의 비디오 프레임 스트림 중 하나에서 장면 전환이 감지되고 상기 다수의 비디오 프레임 스트림의 부호화를 시작하는 경우에, 컴퓨터로 하여금 상기 화상 통계만을 사용하게 하는 컴퓨터 판독 가능한 프로그램 부호화 수단을 더 포함하는 제조물.
  95. 제 93 항에 있어서,
    컴퓨터로 하여금 상기 화상 통계와 상기 부호화 통계를 사용하게 하여 적응적으로 부호화하는 상기 컴퓨터 판독 가능한 프로그램 부호화 수단은 컴퓨터로 하여금 상기 화상 통계와 상기 부호화 통계에 사전 규정된 양만큼 가중치를 부여하게 하여 상기 부호화에 의해 사용되는 제어 가능한 부호화 파라미터를 조정함으로써 상기 다수의 비디오 프레임 스트림을 부호화하는 컴퓨터 판독 가능한 프로그램을 포함하는 제조물.
  96. 제조물에 있어서,
    다수의 비디오 프레임 스트림을 처리하기 위해 자체에 내장된 컴퓨터 판독 가능한 프로그램 부호화 수단을 갖는 적어도 하나의 컴퓨터 사용 가능한 매체를 포함하되, 상기 제조물 내에서의 상기 컴퓨터 판독 가능한 프로그램 부호화 수단은,
    컴퓨터로 하여금 상기 다수의 비디오 프레임 스트림을 분석하게 하여 그 스트림의 적어도 하나의 특성에 관한 화상 정보를 유도하는 컴퓨터 판독 가능한 프로그램 부호화 수단 ― 상기 적어도 하나의 특성은 인터 프레임 특성 또는 인트라 프레임 특성중의 적어도 하나를 포함함 ― 과,
    컴퓨터로 하여금 상기 다수의 비디오 프레임 스트림을 병렬로 부호화하게 하는 수단 ― 상기 부호화는 각 비디오 프레임 스트림에 대한 적어도 하나의 제어 가능한 부호화 파라미터의 사용을 포함함 ― 과,
    컴퓨터로 하여금 상기 다수의 비디오 프레임 스트림으로부터 얻은 상기 화상 통계에 대한 상대적인 정보를 사용하여 상기 다수의 비디오 프레임 스트림에 대한 상기 부호화를 적응시키게 하는 컴퓨터 판독 가능한 프로그램 부호화 수단 ― 상기 적응은 적어도 하나의 비디오 프레임에 대한 상기 부호화에서 사용되는 상기 적어도 하나의 제어 가능한 부호화 파라미터의 조정을 포함하고, 상기 다수의 비디오 프레임 스트림에 대한 상기 부호화는 상기 상대적인 정보에서 변화에 적응적임 ― 과,
    컴퓨터로 하여금 상기 부호화 동안에 각 비디오 프레임 스트림을 분석하게 하여 적어도 하나의 부호화 특성에 관한 부호화 통계를 유도하는 컴퓨터 판독 가능한 프로그램 부호화 수단 ― 상기 적어도 하나의 부호화 특성은 인터 프레임 부호화 특성 또는 인트라 프레임 부호화 특성 중 적어도 하나를 포함하고, 컴퓨터로 하여금 적응하게 하는 상기 컴퓨터 판독 가능한 프로그램 부호화 수단은 컴퓨터로 하여금 상기 화상 통계와 조합하여 상기 부호화 통계를 사용하게 하여 상기 적어도 하나의 비디오 프레임 스트림에 대한 상기 부호화를 적응하게 하는 컴퓨터 판독 가능한 프로그램 부호화 수단을 포함함 ― 을 포함하는
    제조물.
  97. 제 96 항에 있어서,
    상기 화상 통계는 평균 프레임 활성도를 나타내고,
    상기 부호화 통계는 상기 비디오 프레임 스트림의 부호화 동안의 버퍼 충진도, 평균 MQUANT 또는 사용되는 비트 중의 적어도 하나를 포함하는
    제조물.
KR1019990018430A 1998-05-29 1999-05-21 다수의 비디오 프레임 스트림 처리 방법 및 그 장치 KR100329892B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US8760398A 1998-05-29 1998-05-29
US9/087,603 1998-05-29
US09/087,603 1998-05-29
US09/225,193 1999-01-05
US9/225,193 1999-01-05
US09/225,193 US6859496B1 (en) 1998-05-29 1999-01-05 Adaptively encoding multiple streams of video data in parallel for multiplexing onto a constant bit rate channel

Publications (2)

Publication Number Publication Date
KR19990088475A true KR19990088475A (ko) 1999-12-27
KR100329892B1 KR100329892B1 (ko) 2002-03-22

Family

ID=22206168

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990018430A KR100329892B1 (ko) 1998-05-29 1999-05-21 다수의 비디오 프레임 스트림 처리 방법 및 그 장치

Country Status (3)

Country Link
US (3) US6859496B1 (ko)
JP (1) JP3756346B2 (ko)
KR (1) KR100329892B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100952239B1 (ko) * 2005-07-14 2010-04-09 인텔 코오퍼레이션 레이트 제어 방법 및 장치
KR101087109B1 (ko) * 2005-03-28 2011-11-25 엘지전자 주식회사 비디오 부호화 장치 및 그 방법

Families Citing this family (191)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6859496B1 (en) 1998-05-29 2005-02-22 International Business Machines Corporation Adaptively encoding multiple streams of video data in parallel for multiplexing onto a constant bit rate channel
JP2000261459A (ja) * 1999-03-10 2000-09-22 Nec Corp 統計多重伝送方式
US20040161032A1 (en) * 1999-04-06 2004-08-19 Amir Morad System and method for video and audio encoding on a single chip
US7389356B2 (en) * 1999-12-15 2008-06-17 Microsoft Corporation Generalized differentiation methods and arrangements for adaptive multimedia communications
AUPR212600A0 (en) * 2000-12-18 2001-01-25 Canon Kabushiki Kaisha Efficient video coding
WO2002093925A1 (en) * 2001-05-17 2002-11-21 Optibase Apparatus and method for multiple rich media formats video broadcasting
US7072393B2 (en) * 2001-06-25 2006-07-04 International Business Machines Corporation Multiple parallel encoders and statistical analysis thereof for encoding a video sequence
US8204079B2 (en) * 2002-10-28 2012-06-19 Qualcomm Incorporated Joint transmission of multiple multimedia streams
KR100494432B1 (ko) * 2002-12-26 2005-06-10 (주)씨앤에스 테크놀로지 비디오서버와 클라이언트간 패킷데이터 처리방법
US7907665B2 (en) * 2003-03-14 2011-03-15 Lsi Corporation Multi-channel video compression system
WO2004114666A1 (en) * 2003-06-23 2004-12-29 Shanghai Dracom Communication Technology Ltd. Constant stream compression processing method
JP2005151096A (ja) * 2003-11-14 2005-06-09 Pioneer Electronic Corp 多チャンネル統計多重システム
US7519274B2 (en) 2003-12-08 2009-04-14 Divx, Inc. File format for multiple track digital data
US8472792B2 (en) 2003-12-08 2013-06-25 Divx, Llc Multimedia distribution system
US8427494B2 (en) * 2004-01-30 2013-04-23 Nvidia Corporation Variable-length coding data transfer interface
JP4414904B2 (ja) * 2004-04-16 2010-02-17 株式会社エヌ・ティ・ティ・ドコモ 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法、及び動画像復号プログラム
WO2005104551A2 (en) * 2004-04-16 2005-11-03 Modulus Video, Inc. High definition scalable array encoding system and method
US7590059B2 (en) * 2004-05-21 2009-09-15 Broadcom Corp. Multistandard video decoder
US8431743B2 (en) * 2004-07-01 2013-04-30 Basf Aktiengesellschaft Preparation of acrylic acid by heterogeneously catalyzed partial gas phase oxidation of propylene
US7643553B2 (en) * 2004-10-27 2010-01-05 Arris Group, Inc. Optimal rate allocation for a group of channels
US7444030B2 (en) * 2004-11-12 2008-10-28 Micron Technology, Inc. Image encoding with dynamic buffer-capacity-level-based compression adjustment
EP1667466A1 (en) * 2004-12-06 2006-06-07 Thomson Licensing Method and apparatus for encoding or decoding two digital video signals arranged in a single-video signal path
US7602820B2 (en) * 2005-02-01 2009-10-13 Time Warner Cable Inc. Apparatus and methods for multi-stage multiplexing in a network
US7610397B2 (en) * 2005-02-28 2009-10-27 International Business Machines Corporation Method and apparatus for adaptive load shedding
US8194707B2 (en) 2005-02-28 2012-06-05 Broadcom Corporation Method and system for dynamically allocating video multiplexing buffer based on queuing theory
US8565301B2 (en) * 2005-03-10 2013-10-22 Qualcomm Incorporated Quasi-constant-quality rate control with look-ahead
US7720017B2 (en) * 2005-03-11 2010-05-18 Qualcomm Incorporated Parallel turbo decoders with multiplexed output
US8687710B2 (en) * 2005-05-17 2014-04-01 Broadcom Corporation Input filtering in a video encoder
US8107540B2 (en) * 2005-07-11 2012-01-31 Cheetah Technologies, L.P. Image complexity computation in packet based video broadcast systems
US7979885B2 (en) * 2005-08-11 2011-07-12 Harmonic Inc. Real time bit rate switching for internet protocol television
JP4449915B2 (ja) * 2006-02-08 2010-04-14 ソニー株式会社 符号化装置、符号化方法およびプログラム、並びに、記録媒体
EP1999883A4 (en) 2006-03-14 2013-03-06 Divx Llc FEDERATED DIGITAL RIGHTS MANAGEMENT SYSTEM COMPRISING CONFIDENCE SYSTEMS
US7714838B2 (en) * 2006-04-27 2010-05-11 Research In Motion Limited Handheld electronic device having hidden sound openings offset from an audio source
WO2007130695A2 (en) * 2006-05-05 2007-11-15 Globstream, Inc. Method and apparatus for streaming media to a plurality of adaptive client devices
US8000395B2 (en) * 2006-05-24 2011-08-16 Newport Media, Inc. System and method for statistical multiplexing of video channels for DVB-H mobile TV applications
US7756136B2 (en) * 2006-07-10 2010-07-13 Cheetah Technologies, L.P. Spatial and temporal loss determination in packet based video broadcast system in an encrypted environment
US8831089B1 (en) * 2006-07-31 2014-09-09 Geo Semiconductor Inc. Method and apparatus for selecting optimal video encoding parameter configurations
KR101270167B1 (ko) * 2006-08-17 2013-05-31 삼성전자주식회사 저복잡도의 이미지 압축 방법 및 장치, 저복잡도의 이미지복원 방법 및 장치
US8184692B2 (en) * 2006-09-25 2012-05-22 Framecaster, Inc. Distributed and automated video encoding and delivery system
US20090180546A1 (en) 2008-01-09 2009-07-16 Rodriguez Arturo A Assistance for processing pictures in concatenated video streams
US8416859B2 (en) 2006-11-13 2013-04-09 Cisco Technology, Inc. Signalling and extraction in compressed video of pictures belonging to interdependency tiers
US8875199B2 (en) 2006-11-13 2014-10-28 Cisco Technology, Inc. Indicating picture usefulness for playback optimization
KR100837410B1 (ko) * 2006-11-30 2008-06-12 삼성전자주식회사 주관적인 무손실 이미지 데이터 압축 방법 및 장치
US8411734B2 (en) 2007-02-06 2013-04-02 Microsoft Corporation Scalable multi-thread video decoding
JP4901772B2 (ja) 2007-02-09 2012-03-21 パナソニック株式会社 動画像符号化方法及び動画像符号化装置
JP4949462B2 (ja) * 2007-03-14 2012-06-06 日本電信電話株式会社 符号量推定方法、装置、そのプログラムおよび記録媒体
EP3264772B1 (en) * 2007-03-14 2022-09-07 Nippon Telegraph And Telephone Corporation Quantization control method and apparatus, program therefor, and storage medium which stores the program
KR101083379B1 (ko) * 2007-03-14 2011-11-14 니폰덴신뎅와 가부시키가이샤 움직임 벡터 탐색 방법 및 장치 그리고 프로그램을 기록한 기록매체
CA2679767C (en) * 2007-03-14 2013-06-25 Nippon Telegraph And Telephone Corporation Encoding bit-rate control method and apparatus, program therefor, and storage medium which stores the program
DE102007013026B4 (de) * 2007-03-19 2010-12-30 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Kodierung einer Mehrzahl von Informationssignalen unter Verwendung einer gemeinsamen Rechenleistung
US9686044B2 (en) * 2007-03-27 2017-06-20 Qualcomm Incorporated Rate matching with multiple code block sizes
US8725504B1 (en) 2007-06-06 2014-05-13 Nvidia Corporation Inverse quantization in audio decoding
US8726125B1 (en) 2007-06-06 2014-05-13 Nvidia Corporation Reducing interpolation error
US8477852B2 (en) * 2007-06-20 2013-07-02 Nvidia Corporation Uniform video decoding and display
US8265144B2 (en) * 2007-06-30 2012-09-11 Microsoft Corporation Innovations in video decoder implementations
US9648325B2 (en) * 2007-06-30 2017-05-09 Microsoft Technology Licensing, Llc Video decoding implementations for a graphics processing unit
US8625607B2 (en) 2007-07-24 2014-01-07 Time Warner Cable Enterprises Llc Generation, distribution and use of content metadata in a network
US8804845B2 (en) 2007-07-31 2014-08-12 Cisco Technology, Inc. Non-enhancing media redundancy coding for mitigating transmission impairments
US8958486B2 (en) * 2007-07-31 2015-02-17 Cisco Technology, Inc. Simultaneous processing of media and redundancy streams for mitigating impairments
US8502709B2 (en) * 2007-09-17 2013-08-06 Nvidia Corporation Decoding variable length codes in media applications
US8849051B2 (en) * 2007-09-17 2014-09-30 Nvidia Corporation Decoding variable length codes in JPEG applications
US8233768B2 (en) 2007-11-16 2012-07-31 Divx, Llc Hierarchical and reduced index structures for multimedia files
US8704834B2 (en) * 2007-12-03 2014-04-22 Nvidia Corporation Synchronization of video input data streams and video output data streams
US8934539B2 (en) * 2007-12-03 2015-01-13 Nvidia Corporation Vector processor acceleration for media quantization
US8687875B2 (en) * 2007-12-03 2014-04-01 Nvidia Corporation Comparator based acceleration for media quantization
KR20090061306A (ko) * 2007-12-11 2009-06-16 한국전자통신연구원 부호화율 제어 기능을 갖는 분산 비디오 코딩 장치 및 방법
US8718388B2 (en) 2007-12-11 2014-05-06 Cisco Technology, Inc. Video processing with tiered interdependencies of pictures
US9113194B2 (en) * 2007-12-19 2015-08-18 Arris Technology, Inc. Method and system for interleaving video and data for transmission over a network at a selected bit rate
FR2925996B1 (fr) * 2007-12-31 2011-04-15 Radiotelephone Sfr Systeme et procede d'adaptation des flux de contenu video a la variabilite des conditions de transmission d'un reseau radiotelephonique et a la dynamique du contenu de la source video
US8997161B2 (en) * 2008-01-02 2015-03-31 Sonic Ip, Inc. Application enhancement tracks
US8416858B2 (en) 2008-02-29 2013-04-09 Cisco Technology, Inc. Signalling picture encoding schemes and associated picture properties
GB2459671A (en) * 2008-04-29 2009-11-04 Imagination Tech Ltd Scene Change Detection For Use With Bit-Rate Control Of A Video Compression System
US9167007B2 (en) * 2008-06-06 2015-10-20 Amazon Technologies, Inc. Stream complexity mapping
US9047236B2 (en) 2008-06-06 2015-06-02 Amazon Technologies, Inc. Client side stream switching
WO2009152450A1 (en) 2008-06-12 2009-12-17 Cisco Technology, Inc. Picture interdependencies signals in context of mmco to assist stream manipulation
US8705631B2 (en) 2008-06-17 2014-04-22 Cisco Technology, Inc. Time-shifted transport of multi-latticed video for resiliency from burst-error effects
US8971402B2 (en) 2008-06-17 2015-03-03 Cisco Technology, Inc. Processing of impaired and incomplete multi-latticed video streams
US8699578B2 (en) 2008-06-17 2014-04-15 Cisco Technology, Inc. Methods and systems for processing multi-latticed video streams
US20100091888A1 (en) * 2008-10-13 2010-04-15 General Instrument Corporation Multi-Rate Encoder with GOP Alignment
US8761266B2 (en) 2008-11-12 2014-06-24 Cisco Technology, Inc. Processing latticed and non-latticed pictures of a video program
KR20100061908A (ko) * 2008-12-01 2010-06-10 엘지전자 주식회사 영상표시장치, 영상전송장치, 영상전송방법 및 기록매체
US9307267B2 (en) * 2008-12-11 2016-04-05 Nvidia Corporation Techniques for scalable dynamic data encoding and decoding
US8654849B2 (en) * 2008-12-22 2014-02-18 Arris Enterprises, Inc. Integrated transcoding
US8510303B2 (en) 2009-01-07 2013-08-13 Divx, Llc Singular, collective and automated creation of a media guide for online content
US8311115B2 (en) * 2009-01-29 2012-11-13 Microsoft Corporation Video encoding using previously calculated motion information
US8396114B2 (en) * 2009-01-29 2013-03-12 Microsoft Corporation Multiple bit rate video encoding using variable bit rate and dynamic resolution for adaptive video streaming
US8311092B2 (en) * 2009-02-06 2012-11-13 Broadcom Corporation Network packet aware data encoding
US8326131B2 (en) 2009-02-20 2012-12-04 Cisco Technology, Inc. Signalling of decodable sub-sequences
US8782261B1 (en) 2009-04-03 2014-07-15 Cisco Technology, Inc. System and method for authorization of segment boundary notifications
US8949883B2 (en) 2009-05-12 2015-02-03 Cisco Technology, Inc. Signalling buffer characteristics for splicing operations of video streams
US8270473B2 (en) * 2009-06-12 2012-09-18 Microsoft Corporation Motion based dynamic resolution multiple bit rate video encoding
US8279926B2 (en) 2009-06-18 2012-10-02 Cisco Technology, Inc. Dynamic streaming with latticed representations of video
US8457155B2 (en) * 2009-09-11 2013-06-04 Nokia Corporation Encoding and decoding a multi-view video signal
WO2011068668A1 (en) 2009-12-04 2011-06-09 Divx, Llc Elementary bitstream cryptographic material transport systems and methods
US9521178B1 (en) 2009-12-21 2016-12-13 Amazon Technologies, Inc. Dynamic bandwidth thresholds
US20110222837A1 (en) * 2010-03-11 2011-09-15 Cisco Technology, Inc. Management of picture referencing in video streams for plural playback modes
CN102860010A (zh) 2010-05-06 2013-01-02 日本电信电话株式会社 视频编码控制方法及装置
ES2703005T3 (es) * 2010-05-07 2019-03-06 Nippon Telegraph & Telephone Método de control de codificación de imágenes animadas, aparato de codificación de imágenes animadas y programa de codificación de imágenes animadas
WO2011142291A1 (ja) 2010-05-12 2011-11-17 日本電信電話株式会社 動画像符号化制御方法,動画像符号化装置および動画像符号化プログラム
US8705616B2 (en) 2010-06-11 2014-04-22 Microsoft Corporation Parallel multiple bitrate video encoding to reduce latency and dependences between groups of pictures
US8660178B2 (en) * 2010-07-01 2014-02-25 Broadcom Corporation Method and system for multi-layer rate control for a multi-codec system
US8885729B2 (en) 2010-12-13 2014-11-11 Microsoft Corporation Low-latency video decoding
US9706214B2 (en) 2010-12-24 2017-07-11 Microsoft Technology Licensing, Llc Image and video decoding implementations
US8914534B2 (en) 2011-01-05 2014-12-16 Sonic Ip, Inc. Systems and methods for adaptive bitrate streaming of media stored in matroska container files using hypertext transfer protocol
US8898718B2 (en) 2011-01-27 2014-11-25 International Business Machines Corporation Systems and methods for managed video services at edge-of-the-network
EP2485441B1 (en) * 2011-01-31 2014-10-08 Alcatel Lucent A video packet scheduling method for multimedia streaming
JPWO2012132624A1 (ja) * 2011-03-29 2014-07-24 ルネサスエレクトロニクス株式会社 表示装置及び表示装置制御回路
EP2523456A1 (en) * 2011-05-12 2012-11-14 Alcatel Lucent Method for operating a statistical multiplexing of distributed video streams.
SG10201408609SA (en) 2011-06-30 2015-02-27 Microsoft Technology Licensing Llc Reducing latency in video encoding and decoding
DE102011080253A1 (de) * 2011-06-30 2013-01-03 Rohde & Schwarz Gmbh & Co. Kg Verfahren und Vorrichtung zur Erzeugung eines aus mehreren Video-Datenströmen zusammengesetzten Transportdatenstroms
US20130044811A1 (en) * 2011-08-18 2013-02-21 Hyung Joon Kim Content-Based Adaptive Control of Intra-Prediction Modes in Video Encoding
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
KR101928910B1 (ko) 2011-08-30 2018-12-14 쏘닉 아이피, 아이엔씨. 복수의 최대 비트레이트 레벨들을 사용하여 인코딩된 비디오를 인코딩하고 스트리밍하기 위한 시스템들 및 방법들
US8818171B2 (en) 2011-08-30 2014-08-26 Kourosh Soroushian Systems and methods for encoding alternative streams of video for playback on playback devices having predetermined display aspect ratios and network connection maximum data rates
US8731067B2 (en) 2011-08-31 2014-05-20 Microsoft Corporation Memory management for video decoding
US8964977B2 (en) 2011-09-01 2015-02-24 Sonic Ip, Inc. Systems and methods for saving encoded media streamed using adaptive bitrate streaming
US8909922B2 (en) 2011-09-01 2014-12-09 Sonic Ip, Inc. Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
US9591318B2 (en) 2011-09-16 2017-03-07 Microsoft Technology Licensing, Llc Multi-layer encoding and decoding
US9338482B2 (en) * 2011-11-30 2016-05-10 Mobitv, Inc. Enhanced group of pictures (GOP) alignment in media stream variants
GB201120894D0 (en) * 2011-12-06 2012-01-18 Global Invacom Ltd Configuration data transmission system using coaxial and/or fibre optic distribution network
US9819949B2 (en) 2011-12-16 2017-11-14 Microsoft Technology Licensing, Llc Hardware-accelerated decoding of scalable video bitstreams
US20130179199A1 (en) 2012-01-06 2013-07-11 Rovi Corp. Systems and methods for granting access to digital content using electronic tickets and ticket tokens
US11089343B2 (en) 2012-01-11 2021-08-10 Microsoft Technology Licensing, Llc Capability advertisement, configuration and control for video coding and decoding
US10003802B1 (en) 2012-04-18 2018-06-19 Matrox Graphics Inc. Motion-based adaptive quantization
US10003803B1 (en) 2012-04-18 2018-06-19 Matrox Graphics Inc. Motion-based adaptive quantization
US8873872B1 (en) 2012-04-18 2014-10-28 Matrox Graphics Inc. Division of entropy coding in codecs
TWI505262B (zh) 2012-05-15 2015-10-21 Dolby Int Ab 具多重子流之多通道音頻信號的有效編碼與解碼
US9532080B2 (en) 2012-05-31 2016-12-27 Sonic Ip, Inc. Systems and methods for the reuse of encoding information in encoding alternative streams of video data
US9197685B2 (en) 2012-06-28 2015-11-24 Sonic Ip, Inc. Systems and methods for fast video startup using trick play streams
US9143812B2 (en) 2012-06-29 2015-09-22 Sonic Ip, Inc. Adaptive streaming of multimedia
US10452715B2 (en) 2012-06-30 2019-10-22 Divx, Llc Systems and methods for compressing geotagged video
US9426498B2 (en) 2012-07-10 2016-08-23 Broadcom Corporation Real-time encoding system of multiple spatially scaled video based on shared video coding information
US11284133B2 (en) 2012-07-10 2022-03-22 Avago Technologies International Sales Pte. Limited Real-time video coding system of multiple temporally scaled video and of multiple profile and standards based on shared video coding information
WO2014015110A1 (en) 2012-07-18 2014-01-23 Verimatrix, Inc. Systems and methods for rapid content switching to provide a linear tv experience using streaming content distribution
US20140063340A1 (en) * 2012-09-05 2014-03-06 Vixs Systems, Inc. Video processing device with buffer feedback and methods for use therewith
US20140072027A1 (en) * 2012-09-12 2014-03-13 Ati Technologies Ulc System for video compression
US9491494B2 (en) * 2012-09-20 2016-11-08 Google Technology Holdings LLC Distribution and use of video statistics for cloud-based video encoding
US8914836B2 (en) 2012-09-28 2014-12-16 Sonic Ip, Inc. Systems, methods, and computer program products for load adaptive streaming
US8997254B2 (en) 2012-09-28 2015-03-31 Sonic Ip, Inc. Systems and methods for fast startup streaming of encrypted multimedia content
US9516078B2 (en) 2012-10-26 2016-12-06 Cisco Technology, Inc. System and method for providing intelligent chunk duration
US9319702B2 (en) * 2012-12-03 2016-04-19 Intel Corporation Dynamic slice resizing while encoding video
US9264475B2 (en) 2012-12-31 2016-02-16 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
US9313510B2 (en) 2012-12-31 2016-04-12 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
US10045032B2 (en) 2013-01-24 2018-08-07 Intel Corporation Efficient region of interest detection
US20140244798A1 (en) * 2013-02-27 2014-08-28 Cisco Technology, Inc. TCP-Based Weighted Fair Video Delivery
US9350990B2 (en) 2013-02-28 2016-05-24 Sonic Ip, Inc. Systems and methods of encoding multiple video streams with adaptive quantization for adaptive bitrate streaming
US9357210B2 (en) 2013-02-28 2016-05-31 Sonic Ip, Inc. Systems and methods of encoding multiple video streams for adaptive bitrate streaming
US20140281034A1 (en) * 2013-03-13 2014-09-18 Futurewei Technologies, Inc. System and Method for Compressing Data Associated with a Buffer
US9906785B2 (en) 2013-03-15 2018-02-27 Sonic Ip, Inc. Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata
US10397292B2 (en) 2013-03-15 2019-08-27 Divx, Llc Systems, methods, and media for delivery of content
US9344517B2 (en) 2013-03-28 2016-05-17 Sonic Ip, Inc. Downloading and adaptive streaming of multimedia content to a device with cache assist
US10110647B2 (en) * 2013-03-28 2018-10-23 Qualcomm Incorporated Method and apparatus for altering bandwidth consumption
US20140301481A1 (en) * 2013-04-04 2014-10-09 Magnum Semiconductor, Inc. Apparatuses and methods for pooling multiple channels into a multi-program transport stream
US9094737B2 (en) 2013-05-30 2015-07-28 Sonic Ip, Inc. Network video streaming with trick play based on separate trick play files
US9247317B2 (en) 2013-05-30 2016-01-26 Sonic Ip, Inc. Content streaming with client device trick play index
US9210381B2 (en) * 2013-06-24 2015-12-08 Dialogic Corporation Resource-adaptive video encoder sharing in multipoint control unit
US9967305B2 (en) 2013-06-28 2018-05-08 Divx, Llc Systems, methods, and media for streaming media content
US9343112B2 (en) 2013-10-31 2016-05-17 Sonic Ip, Inc. Systems and methods for supplementing content from a server
US11120271B2 (en) 2014-02-28 2021-09-14 Second Spectrum, Inc. Data processing systems and methods for enhanced augmentation of interactive video content
US10769446B2 (en) 2014-02-28 2020-09-08 Second Spectrum, Inc. Methods and systems of combining video content with one or more augmentations
US10521671B2 (en) 2014-02-28 2019-12-31 Second Spectrum, Inc. Methods and systems of spatiotemporal pattern recognition for video content development
US11861906B2 (en) 2014-02-28 2024-01-02 Genius Sports Ss, Llc Data processing systems and methods for enhanced augmentation of interactive video content
US10713494B2 (en) 2014-02-28 2020-07-14 Second Spectrum, Inc. Data processing systems and methods for generating and interactive user interfaces and interactive game systems based on spatiotemporal analysis of video content
US9866878B2 (en) 2014-04-05 2018-01-09 Sonic Ip, Inc. Systems and methods for encoding and playing back video at different frame rates using enhancement layers
US20150312601A1 (en) * 2014-04-28 2015-10-29 Magnum Semiconductor, Inc. Methods and apparatuses including a statistical multiplexer with multiple channel rate control
US10349099B2 (en) 2014-06-20 2019-07-09 Sony Corporation Transmission device, transmission method, reception device, and reception method
US9955168B2 (en) * 2015-02-11 2018-04-24 Arris Enterprises Llc Constraining number of bits generated relative to VBV buffer
US9716735B2 (en) 2015-02-18 2017-07-25 Viasat, Inc. In-transport multi-channel media delivery
GB2540204B (en) * 2015-07-10 2019-10-30 Canon Kk Rate control of streaming modules sharing a communication channel
US10063872B2 (en) * 2015-09-11 2018-08-28 Facebook, Inc. Segment based encoding of video
US10341561B2 (en) 2015-09-11 2019-07-02 Facebook, Inc. Distributed image stabilization
US10602153B2 (en) 2015-09-11 2020-03-24 Facebook, Inc. Ultra-high video compression
US10375156B2 (en) 2015-09-11 2019-08-06 Facebook, Inc. Using worker nodes in a distributed video encoding system
US10499070B2 (en) 2015-09-11 2019-12-03 Facebook, Inc. Key frame placement for distributed video encoding
US10506235B2 (en) 2015-09-11 2019-12-10 Facebook, Inc. Distributed control of video encoding speeds
US10602157B2 (en) 2015-09-11 2020-03-24 Facebook, Inc. Variable bitrate control for distributed video encoding
US10075292B2 (en) 2016-03-30 2018-09-11 Divx, Llc Systems and methods for quick start-up of playback
US10171825B1 (en) * 2016-04-27 2019-01-01 Matrox Graphics Inc. Parallel compression of image data in a compression device
US10148989B2 (en) 2016-06-15 2018-12-04 Divx, Llc Systems and methods for encoding video content
US10812550B1 (en) * 2016-08-03 2020-10-20 Amazon Technologies, Inc. Bitrate allocation for a multichannel media stream
EP3513566A4 (en) * 2016-09-16 2019-09-11 Second Spectrum, Inc. METHODS AND SYSTEMS FOR SPATIOTEMPOREL PATTERN RECOGNITION FOR VIDEO CONTENT DEVELOPMENT
US10498795B2 (en) 2017-02-17 2019-12-03 Divx, Llc Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming
US10979728B2 (en) 2017-04-24 2021-04-13 Intel Corporation Intelligent video frame grouping based on predicted performance
EP3619684A4 (en) 2017-05-04 2021-06-09 Second Spectrum, Inc. METHOD AND DEVICE FOR AUTOMATIC INTRINSIC CAMERA CALIBRATION USING IMAGES OF A PLANAR CALIBRATION PATTERN
US10360695B1 (en) 2017-06-01 2019-07-23 Matrox Graphics Inc. Method and an apparatus for enabling ultra-low latency compression of a stream of pictures
US10225211B2 (en) 2017-07-20 2019-03-05 Arris Enterprises Llc Statistical multiplexer with service priority weighting
US11113535B2 (en) 2019-11-08 2021-09-07 Second Spectrum, Inc. Determining tactical relevance and similarity of video sequences
CN112788198B (zh) * 2019-11-11 2024-04-23 株式会社理光 摄影装置、传送系统及方法、记录介质和计算机装置
US11284074B2 (en) * 2019-12-20 2022-03-22 Intel Corporation Cross-channel look ahead rate control for multi-channel video encoding
CN117596395B (zh) * 2024-01-18 2024-05-07 浙江大华技术股份有限公司 一种码率控制方法、装置和计算机可读存储介质

Family Cites Families (35)

* 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
JPH0662393A (ja) 1992-08-04 1994-03-04 G C Technol Kk 多重化した動画像符号化方法と装置
JP2500582B2 (ja) 1993-03-17 1996-05-29 日本電気株式会社 動画像信号の多重化伝送方法とその装置
EP0660619A1 (fr) * 1993-12-22 1995-06-28 Laboratoires D'electronique Philips S.A.S. Procédé de codage d'images à longueur variable et dispositif de mise en oeuvre d'un tel procédé
JP3535548B2 (ja) 1993-12-22 2004-06-07 日本放送協会 多チャネル画像信号符号化多重装置
US5592226A (en) 1994-01-26 1997-01-07 Btg Usa Inc. Method and apparatus for video data compression using temporally adaptive motion interpolation
KR100213014B1 (ko) 1994-03-15 1999-08-02 윤종용 동화상신호의 고능률 부호화를 위한 레이트 콘트롤 장치
US5576765A (en) 1994-03-17 1996-11-19 International Business Machines, Corporation Video decoder
JPH07264580A (ja) 1994-03-17 1995-10-13 Toshiba Corp 映像信号伝送方法並びに映像信号送信装置及び映像信号受信装置
KR100213015B1 (ko) 1994-03-31 1999-08-02 윤종용 양자화 방법 및 회로
JP3711571B2 (ja) 1994-09-29 2005-11-02 ソニー株式会社 画像符号化装置及び画像符号化方法
JPH08163554A (ja) * 1994-12-02 1996-06-21 Electron & Telecommun Res Inst ビデオビット率制御方法
US5619337A (en) * 1995-01-27 1997-04-08 Matsushita Electric Corporation Of America MPEG transport encoding/decoding system for recording transport streams
US5533021A (en) 1995-02-03 1996-07-02 International Business Machines Corporation Apparatus and method for segmentation and time synchronization of the transmission of multimedia data
US5805220A (en) * 1995-02-22 1998-09-08 U.S. Philips Corporation System for transmitting a plurality of video programs simultaneously through a transmission channel
JPH0951538A (ja) 1995-08-07 1997-02-18 Hitachi Ltd 画像信号の符号化方法
JP3216503B2 (ja) 1995-10-20 2001-10-09 三菱電機株式会社 多重化装置および多重化方法
US5861919A (en) 1995-12-18 1999-01-19 Divicom Dynamic rate optimization for an ensemble of video encoders
US5650860A (en) 1995-12-26 1997-07-22 C-Cube Microsystems, Inc. Adaptive quantization
US5686963A (en) 1995-12-26 1997-11-11 C-Cube Microsystems Method for performing rate control in a video encoder which provides a bit budget for each frame while employing virtual buffers and virtual buffer verifiers
US5764293A (en) * 1995-12-26 1998-06-09 C-Cube Microsystems, Inc. Method of encoding video using master and slave encoders wherein bit budgets for frames to be encoded are based on encoded frames
JPH09252290A (ja) 1996-01-11 1997-09-22 Sony Corp 符号化装置、符号化方法、伝送装置、伝送方法及び記録媒体
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
US6038256A (en) * 1996-12-31 2000-03-14 C-Cube Microsystems Inc. Statistical multiplexed video encoding using pre-encoding a priori statistics and a priori and a posteriori statistics
US6005620A (en) 1997-01-31 1999-12-21 Hughes Electronics Corporation Statistical multiplexer for live and pre-compressed video
US6084910A (en) 1997-01-31 2000-07-04 Hughes Electronics Corporation Statistical multiplexer for video signals
US6118823A (en) 1997-04-01 2000-09-12 International Business Machines Corporation Control scheme for shared-use dual-port predicted error array
US6181821B1 (en) * 1997-04-30 2001-01-30 Massachusetts Institute Of Technology Predictive source encoding and multiplexing
EP0928115A4 (en) 1997-07-01 2005-09-14 Sony Corp DEVICE AND METHOD FOR BILDCODE CONTROL, CODING, TRANSMISSION AND BROADCASTING SYSTEM
US6040861A (en) * 1997-10-10 2000-03-21 International Business Machines Corporation Adaptive real-time encoding of video sequence employing image statistics
KR19990042668A (ko) * 1997-11-27 1999-06-15 정선종 다중 비디오 전송을 위한 비디오 부호화 장치 및 방법
US6859496B1 (en) 1998-05-29 2005-02-22 International Business Machines Corporation Adaptively encoding multiple streams of video data in parallel for multiplexing onto a constant bit rate channel
US6167084A (en) 1998-08-27 2000-12-26 Motorola, Inc. Dynamic bit allocation for statistical multiplexing of compressed and uncompressed digital video signals
EP1005233A1 (en) 1998-10-12 2000-05-31 STMicroelectronics S.r.l. Constant bit-rate coding control in a video coder by way of pre-analysis of the slices of the pictures
WO2000041395A1 (en) 1999-01-06 2000-07-13 Sarnoff Corporation Latency-based statistical multiplexing

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101087109B1 (ko) * 2005-03-28 2011-11-25 엘지전자 주식회사 비디오 부호화 장치 및 그 방법
KR100952239B1 (ko) * 2005-07-14 2010-04-09 인텔 코오퍼레이션 레이트 제어 방법 및 장치
US8594179B2 (en) 2005-07-14 2013-11-26 Intel Corporation Rate control method and apparatus

Also Published As

Publication number Publication date
US7085322B2 (en) 2006-08-01
US6859496B1 (en) 2005-02-22
KR100329892B1 (ko) 2002-03-22
US20040202248A1 (en) 2004-10-14
JP3756346B2 (ja) 2006-03-15
US6956901B2 (en) 2005-10-18
JP2000078577A (ja) 2000-03-14
US20020094031A1 (en) 2002-07-18

Similar Documents

Publication Publication Date Title
KR100329892B1 (ko) 다수의 비디오 프레임 스트림 처리 방법 및 그 장치
CA2396305C (en) Methods and apparatus for rate control during dual pass encoding
US7697608B2 (en) Scalable MPEG video/macro block rate control
EP2160903B1 (en) A buffer-based rate control exploiting frame complexity, buffer level and position of intra frames in video coding
EP2123040B1 (en) An improved video rate control for video coding standards
KR100343352B1 (ko) 일정 비트 레이트 혹은 가변 비트 레이트를 위한 디지털 동영상 시퀀스 2-패스 부호화 방법
US6181742B1 (en) Single pass target allocation for video encoding
US8374236B2 (en) Method and apparatus for improving the average image refresh rate in a compressed video bitstream
KR20010073001A (ko) 압축 및 압축되지 않은 디지탈 비디오신호의 통계적다중화를 위한 동적 비트할당방법 및 그 장치
CA2396308C (en) Methods and apparatus for statistical multiplexing during dual pass encoding
US8948242B2 (en) Encoding device and method and multimedia apparatus including the encoding device
GB2309611A (en) A motion video compression system with buffer empty/fill look-ahead bit allocation
KR19990007312A (ko) 디지털 신호 부호화 방법 및 장치, 신호 기록 매체 및 신호 전송 방법
JPH07312756A (ja) 圧縮動画像符号信号の情報量変換回路、装置、及び方法
KR100394014B1 (ko) 영상 변환 부호화 장치
JP4346732B2 (ja) ビデオ・フレームの多重ストリームを処理する方法及びシステム
KR101371507B1 (ko) 저지연 영상 통신 시스템 및 방법
Maksimović et al. The impact of successive B frames on TV signal using different compression techniques and video resolution
JP2010136037A (ja) 映像符号量制御方法,映像符号化装置,映像符号量制御プログラムおよびその記録媒体
JPH1127665A (ja) 映像データ符号化装置及び方法並びに映像データ伝送方法
Böröczky et al. Statistical multiplexing with look-ahead using MPEG-2 video encoding
JP2002058038A (ja) 画像符号化方法および装置

Legal Events

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

Payment date: 20110201

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee