KR101069378B1 - Apparatus and method for multiplexing scalable video stream - Google Patents
Apparatus and method for multiplexing scalable video stream Download PDFInfo
- Publication number
- KR101069378B1 KR101069378B1 KR1020090107126A KR20090107126A KR101069378B1 KR 101069378 B1 KR101069378 B1 KR 101069378B1 KR 1020090107126 A KR1020090107126 A KR 1020090107126A KR 20090107126 A KR20090107126 A KR 20090107126A KR 101069378 B1 KR101069378 B1 KR 101069378B1
- Authority
- KR
- South Korea
- Prior art keywords
- image
- complexity
- enhancement layer
- gop
- base layer
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1836—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with heterogeneous network architecture
- H04L12/184—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with heterogeneous network architecture with heterogeneous receivers, e.g. layered multicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/177—Methods 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/44004—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
스케일러블 비디오 스트림 다중화 장치 및 방법이 개시된다. 본 발명에 따른 스케일러블 비디오 스트림 다중화 장치는, 각각이, 입력되는 비디오 시퀀스를 스케일러블 부호화하여 기본 계층 스트림 및 적어도 하나의 강화 계층 스트림을 생성하는 복수 개의 스케일러블 비디오 부호화기; 상기 복수 개의 스케일러블 비디오 부호화기로부터의 기본 계층 스트림들을 다중화하는 기본 계층 다중화기; 및 상기 복수 개의 스케일러블 비디오 부호화기로부터의 강화 계층 스트림들을 다중화하는 강화 계층 다중화기를 포함하는 것을 특징으로 한다. 이러한 본 발명에 의하면 계층적 멀티캐스트에 적합하도록 복수 개의 다중화기로 각 프로그램을 계층 별로 다중화할 수 있다.Disclosed are a scalable video stream multiplexing apparatus and method. A scalable video stream multiplexing apparatus according to the present invention comprises: a plurality of scalable video encoders each of which scalable encoding an input video sequence to generate a base layer stream and at least one enhancement layer stream; A base layer multiplexer for multiplexing base layer streams from the plurality of scalable video encoders; And an enhancement layer multiplexer for multiplexing enhancement layer streams from the plurality of scalable video encoders. According to the present invention, a plurality of multiplexers can multiplex each program layer by layer so as to be suitable for hierarchical multicast.
스케일러블 비디오 부호화, 통계적 다중화, Scalable video coding, statistical multiplexing,
Description
본 발명은 스케일러블 비디오 부호화 기반의 비디오 다중화 기법에 관한 것으로, 보다 상세하게는 계층적 멀티캐스트를 지원할 수 있는 스케일러블 비디오 스트림 다중화 장치 및 방법에 관한 것이다.The present invention relates to a video multiplexing technique based on scalable video encoding, and more particularly, to an apparatus and method for scalable video stream multiplexing capable of supporting hierarchical multicast.
스케일러블 비디오 부호화(Scalable Video Coding, SVC)란, 이미 압축된 비트스트림에 대하여 전송 비트율, 전송 에러율, 시스템 자원 등의 주변 조건에 따라 비트스트림의 일부를 잘라내어 비디오의 해상도, 프레임율, SNR(Signal-to-Noise Ratio) 등을 조절할 수 있게 해주는 부호화 방식, 즉 다양한 스케일러빌리티(scalaility)를 지원하는 부호화 방식을 말한다.Scalable Video Coding (SVC) is a portion of a bitstream that is already compressed and cuts a portion of the bitstream according to ambient conditions such as transmission bit rate, transmission error rate, and system resources. It refers to an encoding method that enables to adjust a -to-noise ratio, that is, an encoding method that supports various scalability.
스케일러블 비디오 부호화는 하나의 비트스트림으로 다양한 전송률 및 시간적 공간적 해상도를 트랜스코딩(transcoding) 또는 재인코딩 없이 지원할 수 있다. 이러한 스케일러블 비디오 부호화를 이용하여 계층적 멀티캐스트(layered multicast) 전송 방식을 통해서 이종 네트워크 및 단말기의 성능에 따른 비디오 멀티캐스트 서비스를 효율적으로 제공할 수 있다. 계층적 멀티캐스트에서 다수의 멀 티캐스트 그룹들은 단말 성능 혹은 요구사항(예를 들어 해상도, 부호화율, 채널 용량)에 따라 구성될 수 있다. 각각의 이종 단말은 여러 개의 SVC 스트림의 계층(Layer)에 상응하는 멀티캐스트 그룹에 조인하는 과정을 통해 멀티미디어 방송 서비를 제공받을 수 있다.Scalable video encoding may support various bit rates and temporal and spatial resolutions without transcoding or re-encoding in one bitstream. By using such scalable video encoding, it is possible to efficiently provide a video multicast service according to performance of heterogeneous networks and terminals through a layered multicast transmission scheme. In hierarchical multicast, a plurality of multicast groups may be configured according to terminal performance or requirements (eg, resolution, coding rate, channel capacity). Each heterogeneous terminal may be provided with a multimedia broadcasting service through a process of joining a multicast group corresponding to a layer of several SVC streams.
방송 서비스 환경에서의 압축된 비디오들은 제한된 일정 비트 속도(Constant Bit Rate, CBR) 채널에 여러 프로그램(방송 채널)의 부호화 스트림들이 하나의 부호화 스트림으로 통합되어 전송된다. 이러한 다중화 스트림(video multiplexing stream)들은 비디오 트래픽에 대한 급격한 채널 비트율 증폭을 줄일 뿐만 아니라 프로그램 사이의 채널 변경 시간도 감소시킨다. 방송 환경 하에서 멀티플렉싱의 효과를 극대화하기 위해서는 프로그램 전체 총 비트량이 채널 용량보다 작아야함은 물론, 프로그램 별로 유동적으로 비트를 할당하여야 한다. 간단하게, 모든 프로그램에 같은 비트량을 할당하면, 이는 콘텐츠 복잡도에 따라 프로그램의 화질 차이가 극명하게 발생할 수 있는 문제가 있다. 따라서 여러 프로그램들 사이에서 발생하는 화질 차이를 줄이기 위해, 부호화 정보 기반의 콘텐츠 복잡도에 따른 통계적 다중화 시스템을 통하여 여러 프로그램들의 비트율 조정이 필요하다.Compressed videos in a broadcast service environment are transmitted by combining encoded streams of several programs (broadcast channels) into a limited constant bit rate (CBR) channel. These video multiplexing streams not only reduce abrupt channel bit rate amplification for video traffic, but also reduce channel change time between programs. In order to maximize the effect of multiplexing in a broadcast environment, the total total bit amount of the program must be smaller than the channel capacity, and the bits must be flexibly allocated for each program. In short, if the same bit amount is allocated to all programs, there is a problem that a difference in image quality of a program may occur depending on the content complexity. Therefore, in order to reduce the image quality difference occurring between the various programs, it is necessary to adjust the bit rate of the various programs through the statistical multiplexing system according to the content complexity based on the encoding information.
그간 다양한 부호화 방식에서 통계적 다중화 기법의 연구가 진행되었으나, 지금까지의 다중화 기법들은 다중화된 비트스트림들이 하나의 CBR 채널로 전송되어, 여전히 계층적 멀티캐스트를 충분히 지원하지 못하는 문제가 있다.Although the statistical multiplexing technique has been studied in various coding schemes, the multiplexing techniques up to now have a problem that the multiplexed bitstreams are transmitted through one CBR channel, and still do not sufficiently support hierarchical multicast.
본 발명이 이루고자 하는 기술적 과제는, 계층적 멀티캐스트에 적합하도록 복수 개의 다중화기로 각 프로그램을 계층 별로 다중화하는, 통계적 다중화 기법을 이용한 스케일러블 비디오 스트림 다중화 장치 및 방법을 제공하는 데 있다.An object of the present invention is to provide an apparatus and method for scalable video stream multiplexing using a statistical multiplexing technique to multiplex each program layer by layer with a plurality of multiplexers so as to be suitable for hierarchical multicast.
또한, 본 발명이 이루고자 하는 기술적 과제는 영상의 복잡도에 따라서 각 프로그램에 할당되는 비트율을 다르게 하여 다중화된 프로그램 간의 화질을 균등하게 할 수 있는 스케일러블 비디오 스트림 다중화 장치 및 방법을 제공하는 데 있다. Another object of the present invention is to provide a scalable video stream multiplexing apparatus and method capable of equalizing image quality between multiplexed programs by varying bit rates allocated to respective programs according to image complexity.
상기 기술적 과제를 해결하기 위하여 본 발명에 따른 스케일러블 비디오 스트림 다중화 장치는, 각각이, 입력되는 비디오 시퀀스를 스케일러블 부호화하여 기본 계층 스트림 및 적어도 하나의 강화 계층 스트림을 생성하는 복수 개의 스케일러블 비디오 부호화기; 상기 복수 개의 스케일러블 비디오 부호화기로부터의 기본 계층 스트림들을 다중화하는 기본 계층 다중화기; 및 상기 복수 개의 스케일러블 비디오 부호화기로부터의 강화 계층 스트림들을 다중화하는 강화 계층 다중화기를 포함하는 것을 특징으로 한다.In order to solve the above technical problem, the scalable video stream multiplexing apparatus according to the present invention comprises a plurality of scalable video encoders each of which scalable base-codes an input video sequence to generate a base layer stream and at least one enhancement layer stream. ; A base layer multiplexer for multiplexing base layer streams from the plurality of scalable video encoders; And an enhancement layer multiplexer for multiplexing enhancement layer streams from the plurality of scalable video encoders.
여기서, 상기 복수 개의 스케일러블 비디오 부호화기마다의 영상 복잡도를 기초로 상기 복수 개의 스케일러블 비디오 부호화기 각각에 기본 계층 영상의 목표 비트율 및 강화 계층 영상의 목표 비트율을 산출하여 할당하는 비트율 제어기를 더 포함할 수 있다.The apparatus may further include a bit rate controller configured to calculate and allocate a target bit rate of a base layer image and a target bit rate of an enhancement layer image to each of the scalable video encoders based on image complexity of each of the plurality of scalable video encoders. have.
또한, 상기 복잡도는 프레임의 복잡도 또는 GOP(Group of Pictures)의 복잡도 중 어느 하나일 수 있다.In addition, the complexity may be any one of a complexity of a frame or a complexity of a group of pictures (GOP).
또한, 상기 비트율 제어기는, 현재 프레임(또는 GOP)의 이전 프레임(또는 GOP)의 부호화 정보를 바탕으로 상기 현재 프레임(또는 GOP)의 영상 복잡도를 산출하고, 상기 산출된 영상 복잡도를 기초로 상기 현재 프레임(또는 GOP)의 기본 계층 영상 및 강화 계층 영상의 목표 비트율을 산출할 수 있다.The bit rate controller may be further configured to calculate an image complexity of the current frame (or GOP) based on encoding information of a previous frame (or GOP) of the current frame (or GOP), and based on the calculated image complexity. A target bit rate of the base layer image and the enhancement layer image of the frame (or GOP) may be calculated.
또한, 상기 현재 프레임(또는 GOP)의 기본 계층 영상의 복잡도는, 상기 이전 프레임(또는 GOP) 기본 계층 영상의 MSE와, 복호화된 상기 이전 프레임 기본 계층 영상과 상기 현재 프레임 기본 계층 영상 간의 MSE의 합으로 산출될 수 있다.In addition, the complexity of the base layer picture of the current frame (or GOP) is the sum of the MSE of the previous frame (or GOP) base layer picture, and the MSE between the decoded previous frame base layer picture and the current frame base layer picture. It can be calculated as.
또한, 상기 현재 프레임(또는 GOP)의 강화 계층 영상의 복잡도는, 상기 이전 프레임(또는 GOP) 강화 계층 영상의 MSE와, 복호화된 상기 이전 프레임 강화 계층 영상과 상기 현재 프레임 강화 계층 영상 간의 MSE의 합으로 산출될 수 있다.In addition, the complexity of the enhancement layer image of the current frame (or GOP) is the sum of the MSE of the previous frame (or GOP) enhancement layer image and the MSE between the decoded previous frame enhancement layer image and the current frame enhancement layer image. It can be calculated as.
또한, 상기 현재 프레임(또는 GOP)의 강화 계층 영상의 목표 비트율은, 상기 현재 프레임(또는 GOP)의 강화 계층의 영상 복잡도와 더불어 상기 현재 프레임(또는 GOP)의 기본 계층의 영상 복잡도를 기초로 산출될 수 있다.The target bit rate of the enhancement layer image of the current frame (or GOP) is calculated based on the image complexity of the base layer of the current frame (or GOP) together with the image complexity of the enhancement layer of the current frame (or GOP). Can be.
또한, 상기 스케일러블 비디오 스트림 다중화 장치는, 상기 기본 계층 다중화기로부터의 다중화된 스트림을 버퍼링하는 기본 계층 버퍼; 및 상기 강화 계층 다중화기로부터의 다중화된 스트림을 버퍼링하는 강화 계층 버퍼를 더 포함할 수 있다.The scalable video stream multiplexing device may further include: a base layer buffer configured to buffer the multiplexed stream from the base layer multiplexer; And an enhancement layer buffer for buffering the multiplexed streams from the enhancement layer multiplexer.
상기 기술적 과제를 해결하기 위하여 본 발명에 따른 스케일러블 비디오 스트림 다중화 방법은, (a) 입력되는 비디오 시퀀스들을 각각 스케일러블 부호화하여 기본 계층 스트림들 및 강화 계층 스트림들을 생성하는 단계; (b) 상기 기본 계층 스트림들을 다중화하고, 상기 강화 계층 스트림을 다중화하는 단계; 및 (c) 상기 스케일러블 부호화된 영상의 복잡도를 기초로 각 기본 계층 영상의 목표 비트율 및 각 강화 계층 영상의 목표 비트율을 산출하는 단계를 포함하고, 상기 (a) 단계는 상기 (c) 단계에서 산출된 각 기본 계층 영상의 목표 비트율 및 각 강화 계층 영상의 목표 비트율에 맞게 상기 부호화를 수행하는 것을 특징으로 한다.In order to solve the above technical problem, the scalable video stream multiplexing method includes: (a) generating base layer streams and enhancement layer streams by scalable coding the input video sequences, respectively; (b) multiplexing the base layer streams and multiplexing the enhancement layer stream; And (c) calculating a target bit rate of each base layer image and a target bit rate of each enhancement layer image based on the complexity of the scalable coded image, wherein step (a) is performed in step (c). The encoding is performed according to the calculated target bit rate of each base layer image and the target bit rate of each enhancement layer image.
상기 또 다른 기술적 과제를 해결하기 위하여 상기된 본 발명에 따른 스케일러블 비디오 스트림 다중화 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.In order to solve the above another technical problem, there is provided a computer-readable recording medium having recorded thereon a program for executing the scalable video stream multiplexing method according to the present invention.
상기된 본 발명에 의하면, 계층적 멀티캐스트에 적합하도록 복수 개의 다중화기로 각 프로그램을 계층 별로 다중화하는, 통계적 다중화 기법을 이용한 스케일러블 비디오 스트림 다중화 장치 및 방법을 제공할 수 있다.According to the present invention described above, it is possible to provide a scalable video stream multiplexing apparatus and method using a statistical multiplexing technique for multiplexing each program layer by layer with a plurality of multiplexers suitable for hierarchical multicast.
또한, 상기된 본 발명에 의하면, 영상의 복잡도에 따라서 각 프로그램에 할당되는 비트율을 다르게 하여 다중화된 프로그램 간의 화질을 균등하게 할 수 있다.In addition, according to the present invention described above, it is possible to equalize the picture quality between multiplexed programs by varying the bit rate assigned to each program according to the complexity of the image.
이하에서는 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한 다. 이하 설명 및 첨부된 도면들에서 실질적으로 동일한 구성요소들은 각각 동일한 부호들로 나타냄으로써 중복 설명을 생략하기로 한다. 또한 본 발명을 설명함에 있어 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description and the accompanying drawings, substantially the same components are denoted by the same reference numerals, and redundant description will be omitted. In addition, in the following description of the present invention, if it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.
도 1은 본 발명의 일 실시예에 따른 스케일러블 비디오 스트림 다중화 장치의 블록도이다. 도 1을 참조하면, 스케일러블 비디오 스트림 다중화 장치는, 제1 내지 제N 스케일러블 비디오 부호화기(110-1, 110-2, ..., 110-N)와, 기본 계층 다중화기(120)와, 강화 계층 다중화기(130)와, 기본 계층 버퍼(140)와, 강화 계층 버퍼(150)와, 그리고 비트율 제어기(160)를 포함하여 이루어진다.1 is a block diagram of an apparatus for scalable video stream multiplexing according to an embodiment of the present invention. Referring to FIG. 1, a scalable video stream multiplexing apparatus includes a first through N th scalable video encoders 110-1, 110-2,..., 110 -N, a
도시된 바와 같이, 제1 내지 제N 스케일러블 비디오 부호화기(110-1, 110-2, ..., 110-N)는 각각 프로그램들 각각에 해당하는 비디오 시퀀스 1, 비디오 시퀀스 2, ..., 비디오 시퀀스 N을 입력받고, 입력되는 비디오 시퀀스를 부호화하여 기본 계층(base layer) 스트림 및 적어도 하나의 강화 계층(enhancement layer) 스트림을 생성한다. 스케일러블 비디오 부호화기(110-1, 110-2, ..., 110-N)의 부호화 방식은 MPEG-2 SVC, MPEG-4 FGS(Fine Granularity Scalability), H.264/AVC scalable video extension 중 어느 하나가 될 수 있다.As shown, the first to Nth scalable video encoders 110-1, 110-2,..., And 110 -N respectively correspond to video sequence 1, video sequence 2,... Corresponding to the respective programs. The video sequence N is input, and the input video sequence is encoded to generate a base layer stream and at least one enhancement layer stream. The coding scheme of the scalable video encoders 110-1, 110-2, ..., 110-N is any one of MPEG-2 SVC, MPEG-4 Fine Granularity Scalability (GFS), and H.264 / AVC scalable video extension. Can be one.
기본 계층 다중화기(120)는 스케일러블 비디오 부호화기(110-1, 110-2, ..., 110-N)로부터 생성되는 기본 계층 스트림들을 하나의 스트림으로 다중화하고, 강화 계층 다중화기(130)는 역시 스케일러블 비디오 부호화기(110-1, 110-2, ..., 110-N)로부터 생성되는 강화 계층 스트림들을 하나의 스트림으로 다중화한다. 기본 계 층 버퍼(140)는 기본 계층 다중화기(120)로부터 출력되는 다중화된 기본 계층 비디오 스트림을 버퍼링한 후 CBR 채널로 출력하고, 강화 계층 버퍼(150)는 강화 계층 다중화기(130)로부터 출력되는 다중화된 강화 계층 스트림을 버퍼링한 후 CBR 채널로 출력한다. 본 실시예에서, 다중화된 기본 계층 스트림과 다중화된 강화 계층 스트림은 별도의 CBR 채널을 통하여 전송되는 것으로 설명하나, 이들은 하나의 CBR 채널을 통하여 전송될 수도 있다.The base layer multiplexer 120 multiplexes the base layer streams generated from the scalable video encoders 110-1, 110-2,..., 110 -N into one stream, and the
본 실시예에서 스케일러블 비디오 부호화기 하나에서 하나의 기본 계층 스트림 및 하나의 강화 계층 스트림을 생성하는 것으로 설명하나, 강화 계층 스트림은 2개 이상 생성될 수 있다. 이 경우 강화 계층 다중화기(130)가 N개 이상의 강화 계층 스트림을 다중화하거나, 하나의 스케일러블 비디오 부호화기에서 생성되는 강화 계층 스트림 수와 동일하게 강화 계층 다중화기가 더 마련될 수 있다. 다만, 하나의 스케일러블 비디오 부호화기에서 생성되는 강화 계층 스트림의 수와 강화 계층 다중화기의 수가 반드시 일치할 필요는 없다. 즉, 하나의 스케일러블 비디오 부호화기에서 생성되는 2 이상의 강화 계층 스트림이 하나의 강화 계층 다중화기에 의해 다중화될 수 있고, 또는 하나의 향상 계층 다중화기에서 하나의 스케일러블 비디오 부호화기에서 생성되는 강화 계층 스트림들의 일부만 입력받을 수도 있다. 강화 계층 다중화기의 수는 전송 채널의 개수에 따라 결정될 수 있는데, 예를 들어 전송 채널이 3개라면, 기본 계층을 위한 다중화기가 1개, 강화 계층을 위한 다중화기가 2개가 된다. 본 실시예의 경우 전송 채널이 2개이므로 기본 계층을 위한 다중화기가 1개, 강화 계층을 위한 다중화기가 1개가 된다. In the present embodiment, one scalable video encoder generates one base layer stream and one enhancement layer stream, but two or more enhancement layer streams may be generated. In this case, the
비트율 제어기(160)는, 프로그램 간의 균등한 화질을 달성할 수 있도록, 부호화된 영상의 상대적인 복잡도, 즉 각 스케일러블 비디오 부호화기(110-1, 110-2, ..., 110-N)마다의 영상 복잡도를 기초로 각 스케일러블 비디오 부호화기(110-1, 110-2, ..., 110-N)에 가변적으로 기본 계층 스트림의 목표 비트율 및 강화 계층 스트림의 목표 비트율을 산출하여 할당한다. 각 스케일러블 비디오 부호화기(110-1, 110-2, ..., 110-N)는 비트율 제어기(160)로부터 제공되는 목표 비트율에 맞게 부호화를 수행한다. The
각 스케일러블 비디오 부호화기(110-1, 110-2, ..., 110-N)는 비트율 제어기에게 부호화 정보(양자화 파라미터, 화질, 비트량 등)를 제공하고, 비트율 제어기(160)는 주어진 부호화 정보로부터 각 스케일러블 비디오 부호화기(110-1, 110-2, ..., 110-N)마다 영상 복잡도를 산출한다. 그리고 비트율 제어기(160)는 산출된 영상 복잡도를 가지고 각 스케일러블 비디오 부호화기(110-1, 110-2, ..., 110-N)마다 목표 비트율을 산출하여 제공한다. Each scalable video encoder 110-1, 110-2, ..., 110-N provides encoding information (quantization parameters, picture quality, bit rate, etc.) to the bit rate controller, and the
도 2는 본 발명의 일 실시예에 따른 비트율 제어기(160)의 상세 블록도를 나타낸다. 도 2를 참조하면, 비트율 제어기(160)는 각 스케일러블 비디오 부호화기(110-1, 110-2, ..., 110-N)마다 기본 계층의 영상 복잡도와 강화 계층의 영상 복잡도를 산출하는 복잡도 산출부(610)와, 복잡도 산출부(610)로부터 제공되는 영상 복잡도를 기초로 각 스케일러블 비디오 부호화기(110-1, 110-2, ..., 110-N)마다 기본 계층 영상의 목표 비트율 및 강화 계층 영상의 목표 비트율을 산출하는 기본 계층 비트율 산출부(620) 및 강화 계층 비트율 산출부(630)를 포함하여 이루어 진다.2 shows a detailed block diagram of a
이하에서는 비트율 제어기(160)의 복잡도 산출부(610)가 각 스케일러블 비디오 부호화기(110-1, 110-2, ..., 110-N)마다 기본 계층의 영상 복잡도와 강화 계층의 영상 복잡도를 산출하는 과정에 관하여 설명한다. 영상 복잡도는 스케일러블 비디오 부호화기의 부호화 방식에 따라서 프레임의 복잡도이거나 GOP(Group of Pictures)의 복잡도일 수 있다. 이하에서, 영상 복잡도는 프레임의 복잡도임을 전제로 설명하며, GOP의 복잡도인 경우에도 마찬가지로 적용된다.In the following description, the
복잡도 산출부(610)는 각 스케일러블 비디오 부호화기(110-1, 110-2, ..., 110-N)로부터 제공받은 부호화 정보를 이용하여 영상 복잡도를 산출한다. 본 실시예에서 영상 복잡도의 산출은 피드백(feedback) 방식을 이용한다. 즉, 부호화하려는 현재 프레임의 복잡도를 얻기 위하여 현재 프레임의 이전 프레임의 부호화 정보를 바탕으로 현재 프레임의 복잡도를 예측하고 이를 반영하여 목표 비트율을 결정한다. 이는 현재 프레임의 정보를 이용할 경우 계산량의 증가로 인해 실시간 처리에 어려움이 있기 때문이다. The
프레임의 복잡도는 다음 수학식에 따라서 산출할 수 있다.The complexity of the frame can be calculated according to the following equation.
상기 수학식 1은 기본 계층에 대한 복잡도로서, Xnm은 비디오 시퀀스 n 에 대하여 현재 프레임인 m 번째 프레임 기본 계층의 복잡도를 나타내고, 상기 수학식 2는 강화 계층의 복잡도로서, Ynm은 비디오 시퀀스 n 에 대하여 m 번째 프레임 강화 계층의 복잡도를 나타낸다. 은 비디오 시퀀스 n 에 대하여 m 번째 프레임의 이전 프레임인 (m-1) 번째 프레임 기본 계층의 MSE(Mean Square Error)를 나타낸다. 여기서, MSE는 원영상과 복호화된 영상의 차이의 제곱의 합의 평균을 의미한다. 은 비디오 시퀀스 n 에 대하여 복호화된 이전 프레임(m-1) 기본 계층과 현재 프레임(m) 기본 계층의 간의 MSE를 나타낸다. 따라서 값이 클수록 이전 프레임과 현재 프레임 사이에 영상이 급격히 변화한다는 것을 의미한다. 는 이러한 영상의 급격한 변화를 반영하기 위하여 추가된 것이다. 마찬가지로, 은 비디오 시퀀스 n 에 대하여 m 번째 프레임의 이전 프레임인 (m-1) 번째 프레임 강화 계층의 MSE(Mean Square Error)를 나타내고, 은 비디오 시퀀스 n 에 대하여 복호화된 이전 프레임(m-1)과 현재 프레임(m) 간 강화 계층의 MSE를 나타낸다. Equation 1 is the complexity of the base layer, X nm represents the complexity of the m-th frame base layer that is the current frame with respect to the video sequence n, Equation 2 is the complexity of the enhancement layer, Y nm is the video sequence n Denotes the complexity of the m th frame enhancement layer. Represents Mean Square Error (MSE) of the (m-1) th frame base layer, which is the previous frame of the mth frame, for the video sequence n. Here, MSE means an average of the sum of squares of differences between the original image and the decoded image. Denotes the MSE between the decoded previous frame (m-1) base layer and the current frame (m) base layer for video sequence n. therefore The larger the value, the sharper the change in image between the previous frame and the current frame. Is added to reflect such a sudden change in the image. Likewise, Denotes Mean Square Error (MSE) of the (m-1) th frame enhancement layer, which is the previous frame of the mth frame, for video sequence n, Denotes the MSE of the enhancement layer between the decoded previous frame (m-1) and the current frame (m) for video sequence n.
영상의 객관적 화질 측정 방법으로 널리 사용되는 PSNR(Peak Signal to Noise Ratio)이 화소의 최대값과 MSE의 비율에 의해 결정됨을 고려할 때, MSE를 복잡도 척도로 사용하여 큰 복잡도를 갖는 영상에 많은 비트를 할당하면 좋은 품질의 영상을 얻을 뿐 아니라 객관적으로 프로그램 사이의 균등 화질을 달성하여 화질 변 동을 개선할 수 있다.Considering that the Peak Signal to Noise Ratio (PSNR), which is widely used as an objective image quality measurement method, is determined by the maximum value of a pixel and the ratio of MSE, MSE is used as a complexity measure. Assigning not only produces good quality images, but also improves image quality variation by objectively achieving equal picture quality between programs.
와 는 다음 수학식들에 따라서 계산할 수 있다. Wow Can be calculated according to the following equations.
여기서, H와 W는 영상의 크기(높이, 폭)를 나타내고, 은 (m-1) 번째 프레임 기본 계층의 원영상을, 은 (m-1) 번째 프레임 기본 계층의 복호화된 영상을 나타낸다. 그리고 는 m 번째 프레임 기본 계층의 원영상을, 는 (m-1) 번째 프레임 기본 계층의 복호화된 영상을 나타낸다. 만일 영상 복잡도가 GOP의 복잡도인 경우라면, 상기 수학식 3 및 4에 따른 MSE는 GOP를 구성하는 모든 프레임들의 MSE들의 합으로 하면 된다.Here, H and W represent the size (height, width) of the image, Is the original image of the base layer of the (m-1) th frame, Denotes a decoded image of the (m-1) th frame base layer. And The original image of the m th frame base layer, Denotes a decoded image of the (m-1) th frame base layer. If the image complexity is the complexity of the GOP, the MSE according to Equations 3 and 4 may be the sum of the MSEs of all the frames constituting the GOP.
그리고 강화 계층에 대한 와 역시 수학식 3 및 수학식 4와 마찬가지로 계산될 수 있다. And for the reinforcement layer Wow Again, it can be calculated like Equation 3 and Equation 4.
이하에서는 기본 계층 비트율 산출부(620) 및 강화 계층 비트율 산출부(630)가 복잡도 산출부(610)로부터 제공된 영상 복잡도를 기초로 각 스케일러블 비디오 부호화기(110-1, 110-2, ..., 110-N)마다 기본 계층 영상의 목표 비트율 및 강화 계층 영상의 목표 비트율을 산출하는 과정에 관하여 설명한다.Hereinafter, the base layer
비트율 할당은 프레임 단위 또는 GOP 단위로 할당되어지므로, 목표 비트율은 프레임 단위 또는 GOP 단위로 산출된다. 프로그램 n 에 대하여 m 번째 프레임 기본 계층의 목표 비트율 은 아래 수학식 5과 같이 전체 프로그램들의 m 번째 프레임 기본 계층 영상들의 복잡도들의 합과 부호화하려는 해당 프로그램의 m 번째 프레임 기본 계층 영상의 복잡도의 비를 가지고 계산된다. Since the bit rate allocation is allocated in the frame unit or the GOP unit, the target bit rate is calculated in the frame unit or the GOP unit. Target bit rate of the mth frame base layer for program n Is calculated based on the ratio of the sum of the complexities of the m th frame base layer images of all programs and the complexity of the m th frame base layer image of the corresponding program to be encoded.
여기서, 는 기본 계층을 위한 가용한 채널 용량을 나타낸다. here, Represents the available channel capacity for the base layer.
프로그램 n 에 대하여 m 번째 프레임 강화 계층의 목표 비트율 은 아래 수학식 6과 같이 전체 프로그램들의 m 번째 프레임 강화 계층의 복잡도들의 합과 부호화하려는 해당 프로그램의 m 번째 프레임 강화 계층의 복잡도 뿐만 아니라 기본 계층의 영상 복잡도 을 반영하여 계산한다. 는 강화 계층을 위한 가용한 채널 용량을 나타낸다. Target bit rate of the m th frame enhancement layer for program n Is the sum of the complexity of the m th frame enhancement layer of all programs and the complexity of the m th frame enhancement layer of the corresponding program to be encoded as well as the image complexity of the base layer as shown in Equation 6 below. Calculate to reflect this. Denotes the available channel capacity for the enhancement layer.
기본 계층 영상의 균등 화질을 위해 상기 수학식 5와 같이 전체 프로그램의 복잡도를 고려하여 비트율을 할당하지만, 결과적으로 부호화된 영상에는 품질의 차이가 발생할 수 있다. 따라서 강화 계층에서의 프로그램 별 비트율 할당은 상기 수학식 6과 같이 기본 계층의 영상 복잡도를 반영하도록 하며, 이때 기본 계층의 영상 복잡도 는 다음 수학식과 같이 계산할 수 있다.Although the bit rate is allocated in consideration of the complexity of the entire program as shown in Equation 5 for uniform picture quality of the base layer image, a difference in quality may occur in the encoded image. Therefore, the bit rate allocation for each program in the enhancement layer reflects the image complexity of the base layer as shown in Equation 6, wherein the image complexity of the base layer Can be calculated as in the following equation.
상기 수학식 7의 은 프로그램 n 에 대하여 m 번째 프레임의 이전 프레임인 (m-1) 번째 프레임 기본 계층의 MSE인 에서 전체 프로그램들 중 가장 작은 MSE 값을 가지는 프로그램의 MSE를 뺀 값으로서, 기본 계층에서 왜곡이 더 많은 프로그램일수록 그 프로그램에서 강화 계층에서 더 많은 비트율을 할당하도록 하기 위한 것이다. Of Equation 7 Is the MSE of the (m-1) th frame base layer, which is the previous frame of the mth frame for program n Is the value of minus the MSE of the program having the smallest MSE of all programs, so that the more distorted programs in the base layer, the more bit rate is allocated in the enhancement layer in the program.
도 3은 본 발명의 일 실시예에 따른 스케일러블 비디오 스트림 다중화 방법의 흐름도이다. 본 실시예에 따른 스케일러블 비디오 스트림 다중화 방법은 이상에서 설명한 스케일러블 비디오 스트림 다중화 장치에서 처리되는 단계들로 구성된 다. 따라서 이하 생략된 내용이라 하더라도 스케일러블 비디오 스트림 다중화 장치에 관하여 이상에서 기술된 내용은 본 실시예에 따른 스케일러블 비디오 스트림 다중화 방법에도 적용된다.3 is a flowchart of a scalable video stream multiplexing method according to an embodiment of the present invention. The scalable video stream multiplexing method according to the present embodiment includes the steps processed by the scalable video stream multiplexing apparatus described above. Therefore, although omitted below, the above descriptions of the scalable video stream multiplexing apparatus also apply to the scalable video stream multiplexing method according to the present embodiment.
210단계에서, 각 스케일러블 비디오 부호화기(110-1, 110-2, ..., 110-N)는 입력되는 비디오 시퀀스들을 각각 스케일러블 부호화하여 기본 계층 스트림 및 적어도 하나 이상의 강화 계층 스트림을 생성한다. 이때 각 스케일러블 비디오 부호화기(110-1, 110-2, ..., 110-N)는 후술할 240단계를 통하여 할당받은 기본 계층의 목표 비트율 및 강화 계층의 목표 비트율에 맞게 부호화를 수행한다.In
250단계에서, 기본 계층 다중화기(120)는 스케일러블 비디오 부호화기(110-1, 110-2, ..., 110-N)들로부터의 기본 계층 스트림들을 다중화하고, 강화 계층 다중화기(130)는 스케일러블 비디오 부호화기(110-1, 110-2, ..., 110-N)들로부터의 강화 계층 스트림들을 다중화한다. In
한편으로 220단계에서, 비트율 제어기(160)는 각 스케일러블 비디오 부호화기(110-1, 110-2, ..., 110-N)로부터 얻은 부호화 정보를 바탕으로 각 스케일러블 비디오 부호화기(110-1, 110-2, ..., 110-N)마다, 즉 각 프로그램마다 기본 계층의 영상 복잡도 및 강화 계층의 영상 복잡도를 산출한다.On the other hand, in
230단계에서, 비트율 제어기(160)는 220단계에서 각 프로그램마다 산출된 기본 계층의 영상 복잡도 및 강화 계층의 영상 복잡도를 기초로 각 프로그램마다 기본 계층 영상의 목표 비트율 및 강화 계층 영상의 목표 비트율을 산출한다.In
그리고 240단계에서, 상기 230단계에서 각 프로그램마다 산출된 기본 계층 영상의 목표 비트율 및 강화 계층 영상의 목표 비트율을 각 스케일러블 비디오 부호화기(110-1, 110-2, ..., 110-N)에 할당하여 각 스케일러블 비디오 부호화기(110-1, 110-2, ..., 110-N)가 할당된 기본 계층 목표 비트율 및 강화 계층 목표 비트율에 맞게 부호화를 수행하도록 한다. In
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.Meanwhile, the above-described embodiments of the present invention can be written as a program that can be executed in a computer, and can be implemented in a general-purpose digital computer that operates the program using a computer-readable recording medium. The computer-readable recording medium may be a magnetic storage medium (for example, a ROM, a floppy disk, a hard disk, etc.), an optical reading medium (for example, a CD-ROM, DVD, etc.) and a carrier wave (for example, the Internet). Storage medium).
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far I looked at the center of the preferred embodiment for the present invention. Those skilled in the art will appreciate that the present invention can be implemented in a modified form without departing from the essential features of the present invention. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the scope will be construed as being included in the present invention.
도 1은 본 발명의 일 실시예에 따른 스케일러블 비디오 스트림 다중화 장치의 블록도이다.1 is a block diagram of an apparatus for scalable video stream multiplexing according to an embodiment of the present invention.
도 2는 본 발명의 일 실시예에 따른 비트율 제어기(160)의 상세 블록도를 나타낸다.2 shows a detailed block diagram of a
도 3은 본 발명의 일 실시예에 따른 스케일러블 비디오 스트림 다중화 방법의 흐름도이다.3 is a flowchart of a scalable video stream multiplexing method according to an embodiment of the present invention.
Claims (15)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090107126A KR101069378B1 (en) | 2009-11-06 | 2009-11-06 | Apparatus and method for multiplexing scalable video stream |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090107126A KR101069378B1 (en) | 2009-11-06 | 2009-11-06 | Apparatus and method for multiplexing scalable video stream |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110050234A KR20110050234A (en) | 2011-05-13 |
KR101069378B1 true KR101069378B1 (en) | 2011-09-30 |
Family
ID=44361083
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090107126A KR101069378B1 (en) | 2009-11-06 | 2009-11-06 | Apparatus and method for multiplexing scalable video stream |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101069378B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102459917B1 (en) * | 2015-02-23 | 2022-10-27 | 삼성전자주식회사 | Image signal processor and devices having the same |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR980007749A (en) * | 1997-12-10 | 1998-03-30 | 양승택 | Bit rate control method in MPEG-2 coding method using characteristic activity |
US6055270A (en) * | 1994-04-20 | 2000-04-25 | Thomson Cosumer Electronics, Inc. | Multiplexer system using constant bit rate encoders |
KR20030040818A (en) * | 2001-11-16 | 2003-05-23 | 삼성전자주식회사 | Efficient transmission and receiving apparatus for multicast data and method thereof |
US20070263720A1 (en) | 2006-05-12 | 2007-11-15 | Freescale Semiconductor Inc. | System and method of adaptive rate control for a video encoder |
-
2009
- 2009-11-06 KR KR1020090107126A patent/KR101069378B1/en not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6055270A (en) * | 1994-04-20 | 2000-04-25 | Thomson Cosumer Electronics, Inc. | Multiplexer system using constant bit rate encoders |
KR980007749A (en) * | 1997-12-10 | 1998-03-30 | 양승택 | Bit rate control method in MPEG-2 coding method using characteristic activity |
KR20030040818A (en) * | 2001-11-16 | 2003-05-23 | 삼성전자주식회사 | Efficient transmission and receiving apparatus for multicast data and method thereof |
US20070263720A1 (en) | 2006-05-12 | 2007-11-15 | Freescale Semiconductor Inc. | System and method of adaptive rate control for a video encoder |
Also Published As
Publication number | Publication date |
---|---|
KR20110050234A (en) | 2011-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100954816B1 (en) | Method of coding video and video signal, apparatus and computer readable recording medium for coding video, and method, apparatus and computer readable recording medium for decoding base layer data-stream and enhancement layer data-stream | |
KR100849965B1 (en) | Method and apparatus for providing prediction mode fine granularity scalability | |
US8532187B2 (en) | Method and apparatus for scalably encoding/decoding video signal | |
KR100772868B1 (en) | Scalable video coding based on multiple layers and apparatus thereof | |
US8213516B2 (en) | Image processing apparatus, image processing method, and computer program | |
US8619854B2 (en) | Scalable video encoding and decoding method using switching pictures and apparatus thereof | |
KR100718133B1 (en) | Motion information encoding/decoding apparatus and method and scalable video encoding apparatus and method employing the same | |
KR101014451B1 (en) | Video on demand server system and method | |
EP1638333A1 (en) | Rate adaptive video coding | |
KR20060045719A (en) | High-fidelity transcoding | |
EP1825686A1 (en) | System and method for real-time transcoding of digital video for fine-granular scalability | |
KR20060063614A (en) | Method for scalably encoding and decoding video signal | |
Grafl et al. | Evaluation of hybrid scalable video coding for HTTP-based adaptive media streaming with high-definition content | |
JP2016092837A (en) | Video compression apparatus, video reproduction apparatus and video distribution system | |
KR20120028843A (en) | Method and apparatus of layered encoding/decoding a picture | |
KR20060096004A (en) | System and method for combining advanced data partitioning and fine granularity scalability for efficient spatio-temporal-snr scalability video coding and streaming | |
KR20060024449A (en) | Video coding in an overcomplete wavelet domain | |
US20080008241A1 (en) | Method and apparatus for encoding/decoding a first frame sequence layer based on a second frame sequence layer | |
KR102293797B1 (en) | Method and apparatus for allocating differential bandwidth of split screen areas using image complexity information | |
KR101069378B1 (en) | Apparatus and method for multiplexing scalable video stream | |
US20070280354A1 (en) | Method and apparatus for encoding/decoding a first frame sequence layer based on a second frame sequence layer | |
US20070223573A1 (en) | Method and apparatus for encoding/decoding a first frame sequence layer based on a second frame sequence layer | |
US20070242747A1 (en) | Method and apparatus for encoding/decoding a first frame sequence layer based on a second frame sequence layer | |
Liu et al. | Interface mb-based video content editing transcoding | |
Shen et al. | Transcoding to FGS streams from H. 264/AVC hierarchical B-pictures |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20140616 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |