KR20020001344A - 실시간 영상 통신을 위한 율제어 장치 및 그 방법 - Google Patents
실시간 영상 통신을 위한 율제어 장치 및 그 방법 Download PDFInfo
- Publication number
- KR20020001344A KR20020001344A KR1020000035982A KR20000035982A KR20020001344A KR 20020001344 A KR20020001344 A KR 20020001344A KR 1020000035982 A KR1020000035982 A KR 1020000035982A KR 20000035982 A KR20000035982 A KR 20000035982A KR 20020001344 A KR20020001344 A KR 20020001344A
- Authority
- KR
- South Korea
- Prior art keywords
- bit
- bits
- macroblock
- encoding
- rate control
- Prior art date
Links
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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/587—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
-
- 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/102—Methods 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/115—Selection of the code volume for a coding unit prior to coding
-
- 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/102—Methods 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/124—Quantisation
-
- 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/102—Methods 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- 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/146—Data rate or code amount at the encoder output
- H04N19/149—Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
-
- 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/146—Data rate or code amount at the encoder output
- H04N19/152—Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
-
- 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/164—Feedback from the receiver or from the transmission channel
-
- 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/17—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 an image region, e.g. an object
- H04N19/172—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 an image region, e.g. an object the region being a picture, frame or field
-
- 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/17—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 an image region, e.g. an object
- H04N19/176—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 an image region, e.g. an object the region being a block, e.g. a macroblock
-
- 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/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
-
- 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/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
- H04N19/197—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
1. 청구범위에 기재된 발명이 속한 기술분야
본 발명은 실시간 영상 통신을 위한 율제어 장치 및 그 방법에 관한 것임.
2. 발명이 해결하려고 하는 기술적 과제
본 발명은 부호기와 복호기의 버퍼의 넘침이나 모자람이 발생하지 않도록 하기 위하여 목표 비트수를 설정하고 최대 허용 비트수와 최소 허용 비트수를 구하여 부호화 여부를 결정하여 비트율을 제어하기 위한 율제어 장치 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있음.
3. 발명의 해결방법의 요지
본 발명은, 전송 속도와 입력 프레임수에 따라 율제어에 필요한 초기값을 설정하기 위한 초기화 수단; 버퍼의 상태와 전송 속도를 고려하여 목표 부호화 비트수, 최대 허용 비트수 및 최소 허용 비트수를 구하기 위한 목표 비트 연산 수단; 상기 목표 비트 연산 수단으로부터의 목표 부호화 비트수, 최대 허용 비트수 및 최소 허용 비트수를 이용하여 율제어와 부호화를 수행하기 위한 율제어 및 부호화 수단; 상기 율제어 및 부호화 수단으로부터의 비트열의 크기와 상기 목표 비트 연산 수단으로부터의 목표 부호화 비트수를 비교하여 스터핑 비트열(stuffing bit)을 출력하기 위한 스터핑 제어 수단; 상기 율제어 및 부호화 수단으로부터의 비트열과 상기 스터핑 제어 수단으로부터의 스터핑 비트들을 조합하여 저장하고 상기 목표비트 연산 수단으로 출력하기 위한 버퍼링 수단; 상기 버퍼링 수단으로부터의 버퍼 점유 상태 신호에 따라 프레임 스킵 신호를 출력하기 위한 프레임 스킵 수단; 및 상기 각 구성 요소의 부호화 과정을 제어하고 상기 프레임 스킵 수단으로부터의 프레임 스킵 신호에 따라 다음 입력 프레임의 부호화 여부를 결정하기 위한 제어 수단을 포함한다.
4. 발명의 중요한 용도
본 발명은 통신 시스템 등에 이용됨.
Description
본 발명은 실시간 영상 통신 서비스를 위한 율제어 장치 및 그 방법에 관한 것으로, 더욱 상세하게는 부호기와 복호기 버퍼의 넘침(overflow)이나 모자람(underflow)이 발생하지 않도록 보장하기 위하여 매크로블록 단위로 부호화여부를 결정하여 비트율을 제어하기 위한 율제어 장치 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
일정한 전송 속도를 갖는 전송 선로(channel)를 통하여 부호화된 영상 정보를 실시간(real-time)으로 전송하기 위해서는, 부호화되어 전송되는 영상 정보를 일정한 비트율(bit-rate)에 맞추어 주는 작업이 필요하다. 이를 위해 일정한 크기를 갖는 버퍼(buffer)를 사용하여 순간적으로 발생하는 영상 정보를 저장해 두었다가 이를 일정한 속도로 복호기(decoder)(또는 수신기(receiver))에 전송한다. 이때, 버퍼의 모자람(underflow)이나 넘침(overflow)이 발생하지 않도록 보장하기 위하여 부호기(encoder)를 제어하는 방법을 율제어(rate control) 방법이라 한다.
율제어는 일정 시간 간격으로 입력되는 영상(프레임(frame))을 프레임 단위로 제어하는 프레임 단위 율제어 방법과 입력 영상을 일정한 크기의 블록으로 나누어 각 블록 단위로 부호화하는 경우에 이들 블록들을 블록 단위로 제어하는 방법으로 구분될 수 있다. 이때, 부호화 단위 블록을 매크로블록(macroblock)이라 한다. 일반적으로 매크로블록 단위 율제어 방식은 프레임 단위의 연산과 매크로블록 단위의 연산이 혼재되어 있는 형태로 구현된다. 도 1a 를 참조하여 종래의 매크로블록 단위의 율제어 장치 및 그 방법을 설명하면 다음과 같다.
도 1a 는 종래의 율제어 장치의 구성예시도로서, 프레임 단위의 연산 모듈(module)을 나타내고 있다.
도면에 도시된 바와 같이, 초기화(initialization) 모듈(110)은 부호화 시작시 단 한번 수행되며, 전송 선로의 전송 속도(bit rate)와 부호화하려는 영상의 초당 입력 프레임수(frame rate) 등을 외부로부터 입력받아 율제어에 필요한 초기값을 설정하여 목표 비트 연산 모듈(120)로 전달한다.
목표 비트 연산(Target bit calculation) 모듈(120)은 현재 버퍼의 상태와 전송 선로의 전송 속도를 고려하여 현재 부호화되어질 프레임의 목표 부호화 비트수를 결정하여 매크로블록 단위 율제어 및 부호화(MB rate control & Encoder) 모듈(130)로 출력한다. 이때, 현재 버퍼의 상태는 버퍼 모듈(140)로부터 직접 입력받을 수도 있고, 전송 속도와 이전 프레임의 부호화 비트수, 및 이전 프레임에서의 버퍼 상태로부터 계산할 수도 있다.
매크로블록 단위 율제어 및 부호화(MB rate control & Encoder) 모듈(130)은 목표 비트 연산 모듈(120)로부터 입력받은 목표 부호화 비트수에 근접한 부호화 비트수를 갖는 비트열(bitstream)을 출력하도록 프레임보다 작은 부호화 단위인 매크로블록 단위로 부호화 과정을 제어한다. 이에 대해서는 후술되는 도 1b 를 참조하여 상세히 설명하도록 한다.
버퍼(Buffer) 모듈(140)은 매크로블록 단위 율제어 및 부호화 모듈(130)로부터 출력되는 비트열을 입력받아 이를 저장하고 이를 전송 선로를 통하여 복호기로 전송하도록 하며, 필요에 따라 버퍼 점유 상태 신호를 목표 비트 연산 모듈(120)로 전달한다. 버퍼 모듈(140)로 입력되는 비트열은 일반적으로 가변적인 길이를 가지며, 전송 선로를 통해 전송되는 속도는 전송 선로의 특징에 따라 가변적인 속도 또는 고정된 속도를 갖는다.
프레임 스킵(Frame skip) 모듈(150)은 한 프레임에 대한 부호화 과정이 모두 끝난 경우에 버퍼 모듈(140)로부터 버퍼의 현재 상태를 입력받아 버퍼에 비트열이 채워져있는 상태가 일정 한도를 넘어설 경우에 버퍼의 넘침으로 인한 영상 정보의 손실을 막기 위하여 다음 입력 프레임을 부호화하지 않도록 제어 모듈(160)에 프레임 스킵 신호를 출력한다.
제어(Control logic) 모듈(160)은 전체 부호화 과정을 제어하는 역할을 하며, 특히 율제어를 위해서는 프레임 스킵 모듈(150)로부터 프레임 스킵(frame skip) 신호를 입력받아 다음 입력 프레임의 부호화 여부를 결정한다.
도 1b 는 도 1a 의 매크로블록 단위 율제어 및 부호화(MB rate control & Encoder) 모듈(130)의 상세 구성예시도로서, 매크로블록 단위의 연산 및 부호화 과정의 제어를 수행하는 과정을 나타내고 있다. 여기서, 모든 기능 블록들은 매크로블록 단위로 연산을 수행한다.
도면에 도시된 바와 같이, 양자화 파라미터 연산(QP calculation) 모듈(131)은 목표 비트 연산(target bit calculation) 모듈(120)로부터 프레임당 목표 비트율(target bit)(목표 부호화 비트수)을 입력받고, 모델 갱신(model update) 모듈(133)로부터 양자화 파라미터(parameter)를 계산하기 위한 모델 정보(파라미터)를 입력받아 매크로블록을 양자화하기 위한 양자화 파라미터(QP)를 부호화 모듈(132)로 출력한다.
부호화 모듈(Encoding module)(132)은 양자화 파라미터 연산 모듈(131)로부터 양자화 파라미터를 입력받아 실제 부호화를 수행하여 비트열 크기를 모델 갱신모델(133)로 전달하고 비트열을 버퍼 모듈(140)로 전달하는 모듈로서, 변환기, 양자기 및 가변길이 부호기 등으로 구성된다.
모델 갱신(Model update) 모듈(133)은 각 매크로블록의 부호화된 비트열의 크기를 부호화 모듈(132)로부터 입력받고 양자화 파라미터 연산 모듈(131)로부터 양자화 파라미터를 입력받아 양자화 파라미터 연산 모듈(131)이 다음 입력 매크로블록의 양자화 파라미터를 계산하기 위한 입력값으로 사용할 수 있도록 하기 위해 갱신된(updated) 양자화 모델 파라미터를 출력한다.
전술한 바와 같이 종래의 율제어 방법에 대한 기술은 전송 선로에 의한 전송율을 효율적으로 맞추기 위한 양자화 파라미터를 출력하는 것을 특징으로 한다. 그러나, 실시간 영상 전송시 필연적으로 존재하는 복호기의 버퍼 상태에 대한 고려없이 부호기의 버퍼 상태만을 고려하는 단점이 있으며, 실제 부호화되는 비트수가 목표 비트수보다 많아지는 예외적 상황을 고려하지 않음으로 인하여 버퍼의 모자람이나 넘침이 발생할 수 있는 단점이 있다.
본 발명은 상기 문제점을 해결하기 위하여 안출된 것으로, 부호기와 복호기의 버퍼의 넘침이나 모자람이 발생하지 않도록 하기 위하여 목표 비트수를 설정하고 최대 허용 비트수와 최소 허용 비트수를 구하여 부호화 여부를 결정하여 비트율을 제어하기 위한 율제어 장치 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있다.
도 1a 는 종래의 율제어 장치의 구성예시도.
도 1b 는 도 1a 의 매크로블록 단위 율제어 및 부호화 모듈의 상세 구성예시도.
도 2a 는 본 발명에 따른 실시간 영상 통신을 위한 율제어 장치의 일실시예 구성도.
도 2b 는 도 2a 의 매크로블록 단위 율제어 및 부호화 모듈의 일실시예 상세 구성도.
도 3 은 도 2b 의 양자화 파라미터 연산(QP calculation) 모듈의 일실시예 상세 구성도.
도 4 는 도 2b 의 부호화 모듈(Encoding module)중 양자기의 일실시예 상세 구성도.
도 5 는 도 2b 의 매크로블록 스킵 제어(MB skip control) 모듈의 일실시예 상세 구성도.
도 6 은 도 2b 의 비트열 조작(Bitstream manipulation) 모듈의 일실시예 상세 구성도.
도 7 은 본 발명에 따른 실시간 영상 통신을 위한 율제어 방법에 대한 일실시예 흐름도.
도 8 은 도 7 의 매크로블록 단위의 율제어와 부호화 수행 과정에 대한 일실시예 상세 흐름도.
도 9 는 도 8 의 양자화 파라미터 및 부호화 여부 결정 과정에 대한 일실시예 상세 흐름도.
* 도면의 주요 부분에 대한 부호의 설명
200 : 초기화 모듈 300 : 목표 비트 연산 모듈
400 : 매크로블록 단위 율제어 및 부호화 모듈
500 : 버퍼 모듈 600 : 프레임 스킵 모듈
700 : 제어 모듈 800 : 스터핑 제어 모듈
상기 목적을 달성하기 위한 본 발명의 장치는, 실시간 영상 통신을 위한 율제어 장치에 있어서, 전송 속도와 입력 프레임수에 따라 율제어에 필요한 초기값을 설정하기 위한 초기화 수단; 버퍼의 상태와 전송 속도를 고려하여 목표 부호화 비트수, 최대 허용 비트수 및 최소 허용 비트수를 구하기 위한 목표 비트 연산 수단; 상기 목표 비트 연산 수단으로부터의 목표 부호화 비트수, 최대 허용 비트수 및 최소 허용 비트수를 이용하여 율제어와 부호화를 수행하기 위한 율제어 및 부호화 수단; 상기 율제어 및 부호화 수단으로부터의 비트열의 크기와 상기 목표 비트 연산 수단으로부터의 목표 부호화 비트수를 비교하여 스터핑 비트열(stuffing bit)을 출력하기 위한 스터핑 제어 수단; 상기 율제어 및 부호화 수단으로부터의 비트열과 상기 스터핑 제어 수단으로부터의 스터핑 비트들을 조합하여 저장하고 상기 목표 비트 연산 수단으로 출력하기 위한 버퍼링 수단; 상기 버퍼링 수단으로부터의 버퍼 점유 상태 신호에 따라 프레임 스킵 신호를 출력하기 위한 프레임 스킵 수단; 및 상기 각 구성 요소의 부호화 과정을 제어하고 상기 프레임 스킵 수단으로부터의 프레임 스킵 신호에 따라 다음 입력 프레임의 부호화 여부를 결정하기 위한 제어 수단을 포함하는 것을 특징으로 한다.
한편, 본 발명의 방법은, 실시간 영상 통신을 위한 율제어 장치에 적용되는 율제어 방법에 있어서, 전송 선로의 전송 속도와 부호화하려는 영상의 초당 입력 프레임수에 따라 율제어에 필요한 초기값을 설정하는 제 1 단계; 현재 버퍼의 상태와 상기 전송 선로의 전송 속도를 고려하여 목표 부호화 비트수, 최대 허용 비트수및 최소 허용 비트수를 구하는 제 2 단계; 상기 목표 부호화 비트수, 최대 허용 비트수 및 최소 허용 비트수를 이용하여 율제어와 부호화를 수행하는 제 3 단계; 부호화된 비트열의 크기와 상기 목표 부호화 비트수를 비교하여 의미없는 스터핑 비트열(stuffing bit)을 발생하는 제 4 단계; 부호화된 비트열과 상기 스터핑 비트열을 조합하여 저장하고 영상 정보가 전송하도록 하는 제 5 단계; 및 현재 버퍼의 상태에 따라 발생된 프레임 스킵 신호에 따라 다음 입력 프레임의 부호화 여부를 결정하는 제 6 단계를 포함하는 것을 특징으로 한다.
한편, 본 발명은, 실시간 영상 통신을 위한 율제어를 위하여, 프로세서를 구비한 율제어 장치에, 전송 선로의 전송 속도와 부호화하려는 영상의 초당 입력 프레임수에 따라 율제어에 필요한 초기값을 설정하는 제 1 기능; 현재 버퍼의 상태와 상기 전송 선로의 전송 속도를 고려하여 목표 부호화 비트수, 최대 허용 비트수 및 최소 허용 비트수를 구하는 제 2 기능; 상기 목표 부호화 비트수, 최대 허용 비트수 및 최소 허용 비트수를 이용하여 율제어와 부호화를 수행하는 제 3 기능; 부호화된 비트열의 크기와 상기 목표 부호화 비트수를 비교하여 의미없는 스터핑 비트열(stuffing bit)을 발생하는 제 4 기능; 부호화된 비트열과 상기 스터핑 비트열을 조합하여 저장하고 영상 정보가 전송하도록 하는 제 5 기능; 및 현재 버퍼의 상태에 따라 발생된 프레임 스킵 신호에 따라 다음 입력 프레임의 부호화 여부를 결정하는 제 6 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
이처럼 본 발명에서는 종래의 목표 비트 연산(target bit calculation) 모듈에서 계산되는 프레임의 목표 비트수와 함께 부호기 버퍼와 복호기 버퍼 모두에서 넘침이나 모자람이 발생하지 않도록 하기 위한 최대 허용 비트수와 최소 허용 비트수를 구한 후에 이를 이용하여 부호화 여부를 결정하여 비트율을 제어하도록 한다.
입력 영상 신호를 부호화하는데 있어서 부호화 비트수가 상기한 최대 허용 비트수를 넘는 경우에 버퍼의 넘침이 발생하게 되어 영상 정보를 잃어버리게 된다. 그러므로, 버퍼의 넘침을 방지하기 위하여 입력 매크로블록의 일부 또는 모든 영상 정보를 부호화하지 않는 방법을 사용한다.
이에 대한 일예로 부호화 비트수가 상기 최대 허용 비트수를 넘는 시점부터 이후의 모든 매크로블록을 부호화하지 않도록 하여 부호화되는 비트수가 상기 상한선을 넘지 않도록 하는 방법이 있다. 즉, 현재 부호화되는 매크로블록까지의 비트열의 부호화 비트수의 합이 최대 허용 비트수를 넘는 경우에 현재 부호화되는 매크로블록의 비트열을 폐기하여 비트열의 길이가 최대 허용 비트수를 넘지 않도록 보장한다. 그리고, 상기와 같이 현재 매크로블록의 비트열을 폐기할 경우에 현재 매크로블록에 대한 비트열을 폐기하고 현재 매크로블록을 부호화하지 않았음을 나타내는 비트열을 추가하여 복호기로 전달한다.
한편, 프레임의 부호화 비트수가 최소 허용 비트수 미만일 경우에 최소 허용 비트수와 프레임 비트수 사이의 차이 이상으로 비트열을 확장하여 복호기에 전송하는 방법을 사용한다.
이에 대한 일예로 입력 프레임의 모든 매크로블록들에 대한 부호화가 끝난 시점에 부호화 비트수가 상기 최소 허용 비트수보다 적은 경우에 그 차이만큼 의미없는 데이터(그러므로, 복호기에서 무시한다. 즉, 비트열을 읽고 버린다.)로 채워주어 버퍼의 모자람을 방지한다.
한편, 현재 부호화되는 매크로블록까지의 비트열의 부호화 비트수의 합이 최대 허용 비트수 또는 목표 부호화 비트수 또는 최소 허용 비트수로부터 계산되어진 허용 한계를 넘어서는 경우에 화소정보를 부호화하지 않음으로써 비트열의 길이가 최대 허용 비트수를 넘지 않도록 하는 방법을 사용한다.
상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.
도 2a 는 본 발명에 따른 실시간 영상 통신을 위한 율제어 장치의 일실시예 구성도로서, 프레임 단위의 율제어 연산 모듈(module)을 나타내고 있다.
본 발명에 따른 실시간 영상 통신을 위한 율제어 장치는, 전송 선로의 전송 속도와 부호화하려는 영상의 초당 입력 프레임수를 입력받아 율제어에 필요한 초기값을 설정하기 위한 초기화 모듈(200), 현재 버퍼의 상태와 전송 선로의 전송 속도를 고려하여 목표 부호화 비트수, 최대 허용 비트수 및 최소 허용 비트수를 구하여 출력하기 위한 목표 비트 연산 모듈(300), 상기 목표 비트 연산 모듈(300)로부터의 목표 부호화 비트수, 최대 허용 비트수 및 최소 허용 비트수를 이용하여 매크로블록 단위의 율제어와 부호화를 수행하기 위한 매크로블록 단위 율제어 및 부호화 모듈(400), 상기 매크로블록 단위 율제어 및 부호화 모듈(400)로부터의 비트열의 크기와 상기 목표 비트 연산 모듈(300)로부터의 목표 부호화 비트수를 비교하여 스터핑 비트열(stuffing bit)을 출력하기 위한 스터핑 제어 모듈(800), 상기 매크로블록 단위 율제어 및 부호화 모듈(400)로부터의 비트열과 상기 스터핑 제어 모듈(800)로부터의 스터핑 비트들을 조합하여 저장하고 상기 목표 비트 연산 모듈(300)로 버퍼 점유 상태 신호를 출력하며 복호기로 영상 정보를 전송하도록 하기 위한 버퍼 모듈(500), 상기 버퍼 모듈(500)로부터 버퍼 점유 상태 신호를 입력받아 버퍼 상태가 일정 한도를 넘어설 경우에 프레임 스킵 신호를 출력하기 위한 프레임 스킵 모듈(600) 및 전체 부호화 과정을 제어하고 상기 프레임 스킵 모듈(600)로부터 프레임 스킵 신호를 입력받아 다음 입력 프레임의 부호화 여부를 결정하기 위한 제어 모듈(700)을 포함한다.
이러한 율제어 장치의 구성 및 동작을 도 2a 를 참조하여 좀 더 상세히 살펴보면 다음과 같다. 이때, 초기화 모듈(200)과 프레임 스킵 모듈(600)과 제어 모듈(700)은 상기 도 1a 에서 설명한 바와 같이 동작됨으로 여기서는 설명을 생략하기로 한다.
목표 비트 연산(Target bit calculation) 모듈(300)은 부호기와 복호기 버퍼의 모자람이나 넘침이 발생하지 않도록 목표 부호화 비트수를 계산하여 매크로블록 단위 율제어 및 부호화 모듈(400)에 출력한다. 이와 동시에 부호기와 복호기 버퍼의 모자람이나 넘침이 발생하지 않도록 하기 위한 최대 허용 비트수와 최소 허용 비트수를 계산하여 매크로블록 단위 율제어 및 부호화 모듈(400)로 출력함으로써, 이후의 모듈들이 이를 참조하여 발생 비트수가 이들 최소 허용 비트수와 최대 허용 비트수 사이에 있도록 한다. 이때, 최소 허용 비트수(Min_bit)는 다음의 (수학식1)과 같고, 최대 허용 비트수(Max_bit)는 다음의 (수학식 2)와 같다.
여기서, Bfd는 복호기 버퍼의 채워진 상태를 의미하며 이는 부호기에서 직접 측정이 불가능하므로 부호기에서 계산된 값을 사용한다. Ba는 한 프레임이 부호화되는 중간에 비트열이 버퍼에서 전송되는 비트수이다. Bd는 복호기 버퍼의 크기이고, Be는 부호기 버퍼의 크기이다. Bfe는 부호기 버퍼의 채워진 상태를 나타낸다. 또한, min{}은 구성 원소들중 최소값을 출력하는 함수이고, max{}는 구성 원소들중 최대값을 출력하는 함수이다.
매크로블록 단위 율제어 및 부호화(MB rate control & Encoder) 모듈(400)은 목표 비트 연산 모듈(300)에서 출력되는 목표 부호화 비트수, 최대 허용 비트수, 그리고 최소 허용 비트수를 입력받아 입력 영상을 부호화하여 비트열을 버퍼 모듈(500)로 출력하고 비트열의 크기를 스터핑 제어 모듈(800)로 출력한다. 이에대해서는 후술되는 도 2b 를 참조하여 상세히 설명하도록 한다.
스터핑 제어(Stuffing control) 모듈(800)은 목표 비트 연산 모듈(300)로부터 최소 허용 비트수를 입력받고 매크로블록 단위 율제어 및 부호화 모듈(400)로부터 비트열의 크기를 입력받아 비트열의 크기가 최소 허용 비트수보다 작을 경우에 이들 사이의 차이 이상의 비트수만큼 스터핑 비트열(의미없는 데이터)을 버퍼 모듈(500)로 출력하여, 버퍼 모듈(500)에서 이들을 조합하여 전송 선로를 통하여 영상 정보를 복호기로 전송하도록 한다.
전술한 목표 비트 연산(Target Bit Calculation)의 구체적인 방법은 본 발명을 제한하지는 않는다. 그러나, 본 발명에서 가장 중요한 개념은 목표 부호화 비트수만을 이용하여 율제어를 수행하는 종래 기술에 비해서, 최대 허용 비트수와 최소 허용 비트수를 미리 결정하고 이를 이용하여 율제어를 수행한다는 점에 있다.
도 2b 는 도 2a 의 매크로블록 단위 율제어 및 부호화 모듈(400)의 일실시예 상세 구성도로서, 매크로블록 단위의 율제어 연산 및 부호화 과정의 제어를 수행하는 과정을 나타내고 있다.
본 발명에 따른 매크로블록 단위 율제어 및 부호화 모듈은, 목표 비트 연산 모듈(300)로부터 목표 부호화 비트수와 최대 허용 비트수 및 최소 허용 비트수를 입력받고 부호화 모듈(420)로부터 이전 매크로블록의 비트열 크기를 입력받고 모델 갱신 모듈(430)로부터 모델 파라미터를 입력받아 양자화 파라미터와 해당 매크로블록의 부호화 여부(texture_coded)를 결정하기 위한 양자화 파라미터 연산 모듈(410), 상기 양자화 파라미터 연산 모듈(410)로부터의 양자화 파라미터에 따라변환 계수의 양자화 폭을 결정하고 화소 정보 부호화 여부 신호에 따라 화소 정보를 부호화하기 위한 부호화 모듈(420), 상기 부호화 모듈(420)로부터 비트열의 크기를 입력받고 상기 양자화 파라미터 연산 모듈(410)로부터 양자화 파라미터를 입력받아 모델을 갱신하여 모델 파라미터를 상기 양자화 파라미터 연산 모듈(410)로 출력하기 위한 모델 갱신 모듈(430), 상기 부호화 모듈(420)로부터 비트열 크기를 입력받고 상기 목표 비트 연산 모듈(300)로부터 최대 허용 비트수를 입력받아 매크로블록의 스킵 여부를 결정하여 매크로블록 스킵 신호를 출력하기 위한 매크로블록 스킵 제어 모듈(440), 및 상기 매크로블록 스킵 제어 모듈(440)로부터의 매크로블록 스킵 신호와 상기 부호화 모듈(420)로부터의 비트열을 조합하기 위한 비트열 조작 모듈(450)을 포함한다.
이러한 매크로블록 단위 율제어 및 부호화 모듈(400)의 구성 및 동작을 도 2b 를 참조하여 좀 더 상세히 살펴보면 다음과 같다.
양자화 파라미터 연산(QP calculation) 모듈(410)은 목표 비트 연산 모듈(300)로부터 목표 부호화 비트수와 최대 허용 비트수 및 최소 허용 비트수를 입력받고 부호화 모듈(420)로부터 이전 매크로블록의 부호화 비트수를 입력받고 모델 갱신 모듈(430)로부터 모델 파라미터를 입력받아 입력 매크로블록을 양자화하기 위한 양자화 파라미터와 해당 매크로블록의 화소 정보의 부호화 여부(texture_coded) 신호를 부호화 모듈(420)로 출력한다. 이때, 현재까지의 누적 비트수가 최대 허용 비트수를 넘는 경우에 화소 정보를 부호화하지 않도록 화소 정보 부호화 여부 신호를 부호화 모듈(420)로 출력한다.
양자화 파라미터 연산 모듈(410)로부터의 출력은 부호화 모듈(encoding module)(420)에 입력되어 변환 계수(transform coefficients)의 양자화에 이용된다. 즉, 양자화 파라미터에 의해 변환 계수의 양자화 폭이 결정되고 화소 정보의 부호화 여부에 대한 신호에 따라 화소 정보를 부호화한다. 이때, 화소 정보가 부호화되지 않은 경우에 화소 정보를 뺀 나머지 영상 정보들(움직임 정보(motion information), 모양 정보(shape information) 등)만이 부호화된다.
모델 갱신(Model update) 모듈(430)은 부호화 모듈(420)로부터 비트열의 크기를 입력받고 양자화 파라미터 연산 모듈(410)로부터 양자화 파라미터를 입력받아 양자화 파라미터와 생성 비트수 사이의 관계를 표현하는 모델을 갱신하여 모델 파라미터를 양자화 파라미터 연산 모듈(410)로 출력하여 다음 입력 매크로블록에 대한 양자화 파라미터를 결정하는데 이용되도록 한다.
매크로블록 스킵 제어(MB skip control) 모듈(440)은 부호화 모듈(420)로부터 입력 매크로블록의 비트열 크기를 입력받고 목표 비트 연산 모듈(300)로부터 최대 허용 비트수를 입력받아 현재 매크로블록까지의 누적 비트율의 크기가 최대 허용 비트수를 넘어서는 경우에 현재 매크로블록에 대한 비트열을 폐기시키도록 비트열 조작(bitstream manipulation) 모듈(450)에 매크로블록 스킵 신호를 출력한다.
비트열 조작 모듈(450)은 매크로블록 스킵 제어 모듈(440)로부터 현재 매크로블록의 비트열을 폐기하도록 하는 매크로블록 스킵 신호가 입력되는 경우에 입력된 비트열을 버리고 현재 입력 매크로블록이 부호화되지 않았음을 나타내는 정보만을 비트열에 덧붙여 버퍼 모듈(500)로 출력한다.
도 3 은 도 2b 의 양자화 파라미터 연산(QP calculation) 모듈(410)의 일실시예 상세 구성도이다.
본 발명에 따른 양자화 파라미터 연산 모듈(410)은, 상기 목표 비트 연산 모듈(300)로부터의 목표 부호화 비트수, 최대 허용 비트수 및 최소 허용 비트수에 따라 임계값을 계산하기 위한 임계값 연산부(411), 상기 목표 비트 연산 모듈(300)로부터의 목표 부호화 비트수(target_bit), 최대 허용 비트수(max_bit) 및 최소 허용 비트수(min_bit)와 상기 모델 갱신 모듈(430)로부터의 모델 파라미터에 따라 양자화 파라미터(QP)를 계산하기 위한 양자화 파라미터 연산부(412), 누적 비트수를 저장하기 위한 래치부(414), 상기 부호화 모듈(420)로부터의 이전 매크로블록의 비트열 크기와 상기 래치부(414)의 누적 비트수를 더하여 래치부(414)와 비교부(415)로 출력하기 위한 가산부(413) 및 상기 가산부(413)로부터의 누적 비트수를 상기 임계값 연산부(411)로부터의 임계값과 비교하여 매크로블록의 부호화 여부를 결정하기 위한 비교부(415)를 포함한다.
이러한 양자화 파라미터 연산(QP calculation) 모듈(410)의 구성 및 동작을 도 3 을 참조하여 좀 더 상세히 살펴보면 다음과 같다.
도 3 에 도시된 바와 같이, 임계값 연산부(411)는 목표 비트 연산 모듈(300)로부터 목표 부호화 비트수(target_bit), 최대 허용 비트수(max_bit) 및 최소 허용 비트수(min_bit)를 입력받아 임계값을 계산한다.
그리고, 양자화 파라미터 연산부(412)는 목표 비트 연산 모듈(300)로부터 목표 부호화 비트수(target_bit), 최대 허용 비트수(max_bit) 및 최소 허용비트수(min_bit)를 입력받고 모델 갱신 모듈(430)로부터 모델 파라미터를 입력받아 양자화 파라미터(QP)를 계산하여 부호화 모듈(420)로 출력한다.
여기서, 상기 임계값(threshold)과 양자화 파라미터를 구할 때 상기 세 가지 비트수를 모두 사용하거나 또는 일부만을 사용하여 계산할 수도 있다.
그리고, 래치부(414)는 누적 비트수를 저장하고 있다가 가산부(413)로 출력한다.
그리고, 가산부(413)는 부호화 모듈(420)로부터의 이전 매크로블록의 비트열 크기와 상기 래치부(414)에 저장되어 있는 누적 비트수를 더하여 비교부(415)로 출력한다. 또한, 다음 매크로블록을 처리하기 위하여 상기 누적 비트수를 래치부(414)에 재입력하여 저장한다. 이때, 래치부(414)에 저장되어 있는 누적 비트수를 한 프레임의 부호화가 모두 끝난 경우에 "0"으로 초기화하여 다음 프레임의 누적 비트수를 저장할 수 있도록 한다.
그리고, 비교부(415)는 가산부(413)로부터의 누적 비트수를 임계값 연산부(411)로부터의 임계값과 비교하여 누적 비트수가 임계값 이하인 경우에는 화소 정보를 부호화하도록 화소 정보 부호화 여부 신호를 출력하고, 누적 비트수가 임계값보다 큰 경우에는 버퍼의 넘침을 방지하기 위하여 화소 정보를 부호화하지 않도록 화소 정보 부호화 여부 신호를 출력한다.
도 4 는 도 2b 의 부호화 모듈(Encoding module)(420)중 양자기의 일실시예 상세 구성도이다.
본 발명에 따른 양자기는, 상기 양자화 파라미터 연산 모듈(410)로부터의 양자화 파라미터(QP)에 따라 변환 계수를 양자화하기 위한 양자화부(421), 및 "0"으로 세팅된 무의미한 데이터와 상기 양자화부(421)의 양자화된 변환 계수중 어느 하나를 상기 양자화 파라미터 연산 모듈(410)로부터의 화소 정보 부호화 여부 신호에 따라 선택하여 출력하기 위한 스위칭부(422)를 포함한다.
이러한 양자기의 구성 및 동작을 도 4 를 참조하여 좀 더 상세히 살펴보면 다음과 같다.
먼저, 화소 정보를 부호화하도록 하는 화소 정보 부호화 여부 신호가 입력된 경우에, 양자화부(421)에 입력되는 변환 계수(coeff)는 양자화 파라미터 연산 모듈(410)로부터의 양자화 파라미터(QP)에 따라 양자화되어 스위칭부(422)로 전달되고, 스위칭부(422)는 양자화된 변환 계수가 출력되도록 스위칭된다.
한편, 화소 정보를 부호화하지 않도록 하는 화소 정보 부호화 여부 신호가 입력된 경우에는, "0"으로 세팅(setting)된 데이터가 스위칭부(422)로 전달되고, 스위칭부(422)는 "0"으로 세팅된 데이터가 출력되도록 스위칭된다.
도 5 는 도 2b 의 매크로블록 스킵 제어(MB skip control) 모듈(440)의 일실시예 상세 구성도이다.
본 발명에 따른 매크로블록 스킵 제어 모듈(440)은, 누적 비트수를 저장하기 위한 래치부(442), 상기 부호화 모듈(420)로부터의 현재 매크로블록의 비트열 크기와 상기 래치부(442)의 누적 비트수를 더하여 상기 래치부(442)와 비교부(443)로 출력하기 위한 가산부(441) 및 상기 가산부(441)로부터의 누적 비트수를 상기 목표 비트 연산 모듈(300)로부터의 최대 허용 비트수와 비교하여 현재 매크로블록의 전송 여부를 결정하기 위한 비교부(443)를 포함한다.
이러한 매크로블록 스킵 제어 모듈(440)의 구성 및 동작을 도 5 를 참조하여 좀 더 상세히 살펴보면 다음과 같다.
도 5 에 도시된 바와 같이, 가산부(441)는 현재 매크로블록의 비트수와 래치부(442)에 저장되어 있는 누적 비트수를 입력받아 현재 매크로블록까지의 누적 비트수를 출력한다. 가산부(44)에서 계산된 누적 비트수는 목표 비트 연산 모듈(300)로부터의 최대 허용 비트수(max_bit)와 함께 비교부(443)에 입력되어 현재 매크로블록의 비트열에 대한 전송 여부를 출력한다. 즉, 누적 비트수가 최대 허용 비트수보다 작은 경우에는 현재 매크로블록의 비트열을 그대로 전송하도록 매크로블록 스킵 신호를 출력하고, 누적 비트수가 최대 허용 비트수보다 큰 경우에는 현재 매크로블록의 비트열을 출력하지 않도록 매크로블록 스킵 신호를 출력한다.
이때, 가산부(441)에서 계산된 누적 비트수는 다음 매크로블록까지의 누적 비트수를 계산하기 위해 다시 래치부(442)에 저장된다. 그리고, 래치부(442)내에 저장되어 있는 값은 프레임에 대한 부호화 작업이 모두 끝났을 경우에 "0"으로 초기화되어 다음 프레임의 누적 비트수를 계산하는데 이용되도록 한다.
도 6 은 도 2b 의 비트열 조작(Bitstream manipulation) 모듈(450)의 일실시예 상세 구성도로서, 매크로블록 스킵 신호에 따라 현재 매크로블록의 비트열을 조작하기 위한 비트열 조작 기능 블록을 나타내고 있다.
도 6 에 도시된 바와 같이, 부호화 모듈(420)로부터 부호화된 비트열을 입력받거나 현재 매크로블록이 부호화되지 않았음을 알리는 매크로블록 스킵 비트열을입력받아, 매크로블록 스킵 제어 모듈(440)로부터 현재 매크로블록이 전송되지 않도록 하는 매크로블록 스킵 신호가 입력되었을 때에는 매크로블록 스킵 비트열을 선택하여 출력하고, 현재 매크로블록이 전송되도록 하는 매크로블록 스킵 신호가 입력되었을 때에는 비트열을 선택하여 출력하는 스위칭부(451)를 포함한다.
한편, 복호기에서는 비트열을 정해진 순서대로 복호화를 수행하는 중에 매크로블록 스킵 신호를 입력받으면 해당 매크로블록이 스킵되었는지의 여부를 판단하여, 스킵된 경우에는 정해진 방법에 의해 해당 매크로블록을 재현하면 된다. 예를 들어, 해당 매크로블록이 스킵된 경우에 이전 재현 영상의 동일한 위치의 매크로블록 신호를 이용하여 재현할 수도 있다.
도 7 은 본 발명에 따른 실시간 영상 통신을 위한 율제어 방법에 대한 일실시예 흐름도이다.
먼저, 초기화 모듈(200)이 전송 선로의 전송 속도와 부호화하려는 영상의 초당 입력 프레임수를 입력받아 율제어에 필요한 초기값을 설정한다(1100). 그리고, 목표 비트 연산 모듈(300)이 현재 버퍼의 상태와 전송 선로의 전송 속도를 고려하여 목표 부호화 비트수, 최대 허용 비트수 및 최소 허용 비트수를 구하여 출력한다(1200).
그리고, 매크로블록 단위 율제어 및 부호화 모듈(400)이 상기 목표 비트 연산 모듈(300)로부터의 목표 부호화 비트수, 최대 허용 비트수 및 최소 허용 비트수를 이용하여 매크로블록 단위의 율제어와 부호화를 수행한다(1300). 그리고, 스터핑 제어 모듈(800)이 상기 매크로블록 단위 율제어 및 부호화 모듈(400)로부터의비트열의 크기와 상기 목표 비트 연산 모듈(300)로부터의 목표 부호화 비트수를 비교하여 비트열의 크기가 최소 허용 비트수보다 작은 경우에 스터핑 비트열(stuffing bit)을 출력한다(1400). 그리고, 버퍼 모듈(500)이 상기 매크로블록 단위 율제어 및 부호화 모듈(400)로부터의 비트열과 상기 스터핑 제어 모듈(800)로부터의 스터핑 비트들을 조합하여 저장하고 상기 목표 비트 연산 모듈(300)로 버퍼 점유 상태 신호를 출력하며 복호기로 영상 정보를 전송하도록 한다(1500).
그리고, 프레임 스킵 모듈(600)이 상기 버퍼 모듈(500)로부터 버퍼 점유 상태 신호를 입력받아 버퍼 상태가 일정 한도를 넘어설 경우에 프레임 스킵 신호를 출력한다(1600). 그리고, 제어 모듈(700)이 전체 부호화 과정을 제어하고 상기 프레임 스킵 모듈(600)로부터 프레임 스킵 신호를 입력받아 다음 입력 프레임의 부호화 여부를 결정한다(1700).
도 8 은 도 7 의 매크로블록 단위의 율제어와 부호화 수행 과정(1300)에 대한 일실시예 상세 흐름도이다.
먼저, 양자화 파라미터 연산 모듈(410)이 목표 비트 연산 모듈(300)로부터 목표 부호화 비트수와 최대 허용 비트수 및 최소 허용 비트수를 입력받고 부호화 모듈(420)로부터 이전 매크로블록의 비트열 크기를 입력받고 모델 갱신 모듈(430)로부터 모델 파라미터를 입력받아 양자화 파라미터와 해당 매크로블록의 부호화 여부(texture_coded)를 결정한다(1310).
그리고, 부호화 모듈(420)이 상기 양자화 파라미터 연산 모듈(410)로부터의양자화 파라미터에 따라 변환 계수의 양자화 폭을 결정하고 화소 정보 부호화 여부 신호에 따라 화소 정보를 부호화한다(1320)
그리고, 모델 갱신 모듈(430)이 상기 부호화 모듈(420)로부터 비트열의 크기를 입력받고 상기 양자화 파라미터 연산 모듈(410)로부터 양자화 파라미터를 입력받아 모델을 갱신하여 모델 파라미터를 상기 양자화 파라미터 연산 모듈(410)로 출력한다(1330).
그리고, 매크로블록 스킵 제어 모듈(440)이 상기 부호화 모듈(420)로부터 비트열 크기를 입력받고 상기 목표 비트 연산 모듈(300)로부터 최대 허용 비트수를 입력받아 두 비트열을 비교하여 매크로블록의 스킵 여부를 결정하여 매크로블록 스킵 신호를 출력한다(1340).
그리고, 비트열 조작 모듈(450)이 상기 매크로블록 스킵 제어 모듈(440)로부터의 매크로블록 스킵 신호와 상기 부호화 모듈(420)로부터의 비트열을 조합한다(1350).
도 9 는 도 8 의 양자화 파라미터 및 부호화 여부 결정 과정(1310)에 대한 일실시예 상세 흐름도이다.
먼저, 임계값 연산부(411)가 상기 목표 비트 연산 모듈(300)로부터의 목표 부호화 비트수, 최대 허용 비트수 및 최소 허용 비트수에 따라 임계값을 계산한다. 그리고, 양자화 파라미터 연산부(412)가 상기 목표 비트 연산 모듈(300)로부터의 목표 부호화 비트수(target_bit), 최대 허용 비트수(max_bit) 및 최소 허용 비트수(min_bit)와 상기 모델 갱신 모듈(430)로부터의 모델 파라미터에 따라 양자화 파라미터(QP)를 계산한다.
그리고, 가산부(413)가 상기 부호화 모듈(420)로부터의 이전 매크로블록의 비트열 크기와 래치부(414)의 누적 비트수를 더하여 새로운 누적 비트수를 구하여 래치부(414)와 비교부(415)로 출력한다.
그리고, 비교부(415)가 상기 가산부(413)로부터의 누적 비트수를 상기 임계값 연산부(411)로부터의 임계값과 비교하여 매크로블록의 부호화 여부를 결정한다.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.
상기와 같은 본 발명은, 목표 비트수를 설정하고 최대 허용 비트수와 최소 허용 비트수를 구하여 부호화 여부를 결정하여 비트율을 제어함으로써, 부호기와 복호기의 버퍼 넘침이나 모자람이 발생하는 것을 방지할 수 있는 효과가 있다.
이처럼 본 발명을 영상 부호화 장치에 적용할 경우에 부호기와 복호기 버퍼의 모자람이나 넘침이 발생하지 않게 되어 재현 영상의 화질을 향상시킬 수 있는 효과가 있다.
또한, 본 발명은 특히 저전송률 특성을 가지는 차세대 이동통신망(IMT-2000) 또는 공중통신망(PSTN : Public Switched Telephone Network)상에서의 영상 통신서비스 장치 등에 유용하다.
Claims (32)
- 실시간 영상 통신을 위한 율제어 장치에 있어서,전송 속도와 입력 프레임수에 따라 율제어에 필요한 초기값을 설정하기 위한 초기화 수단;버퍼의 상태와 전송 속도를 고려하여 목표 부호화 비트수, 최대 허용 비트수 및 최소 허용 비트수를 구하기 위한 목표 비트 연산 수단;상기 목표 비트 연산 수단으로부터의 목표 부호화 비트수, 최대 허용 비트수 및 최소 허용 비트수를 이용하여 율제어와 부호화를 수행하기 위한 율제어 및 부호화 수단;상기 율제어 및 부호화 수단으로부터의 비트열의 크기와 상기 목표 비트 연산 수단으로부터의 목표 부호화 비트수를 비교하여 스터핑 비트열(stuffing bit)을 출력하기 위한 스터핑 제어 수단;상기 율제어 및 부호화 수단으로부터의 비트열과 상기 스터핑 제어 수단으로부터의 스터핑 비트들을 조합하여 저장하고 상기 목표 비트 연산 수단으로 출력하기 위한 버퍼링 수단;상기 버퍼링 수단으로부터의 버퍼 점유 상태 신호에 따라 프레임 스킵 신호를 출력하기 위한 프레임 스킵 수단; 및상기 각 구성 요소의 부호화 과정을 제어하고 상기 프레임 스킵 수단으로부터의 프레임 스킵 신호에 따라 다음 입력 프레임의 부호화 여부를 결정하기 위한제어 수단을 포함하는 실시간 영상 통신을 위한 율제어 장치.
- 제 1 항에 있어서,상기 목표 비트 연산 수단은,상기 최소 허용 비트수 Min_bit = max{Bfd+ Ba- Bd, Ba- Bfe, 0}과 같이 구하고, 상기 최대 허용 비트수 Max_bit = min{Bfd, Be- Bfe}와 같이 구하는 것을 특징으로 하는 실시간 영상 통신을 위한 율제어 장치.(여기서, Bfd는 복호기 버퍼의 채워진 상태를 의미하고, Ba는 한 프레임이 부호화되는 중간에 비트열이 버퍼에서 전송되는 비트수이며, Bd는 복호기 버퍼의 크기이고, Be는 부호기 버퍼의 크기이며, Bfe는 부호기 버퍼의 채워진 상태를 나타내고, min{}은 구성 원소들중 최소값을 출력하는 함수이고, max{}는 구성 원소들중 최대값을 출력하는 함수임)
- 제 1 항에 있어서,상기 스터핑 제어(Stuffing control) 수단은,상기 목표 비트 연산 수단으로부터의 최소 허용 비트수와 상기 율제어 및 부호화 수단으로부터의 비트열의 크기를 비교하여 상기 비트열의 크기가 상기 최소 허용 비트수보다 작을 경우에 이들 사이의 차이 이상의 비트수만큼 의미없는 스터핑 비트열을 상기 버퍼링 수단으로 출력하는 것을 특징으로 하는 실시간 영상 통신을 위한 율제어 장치.
- 제 1 항에 있어서,상기 율제어 및 부호화 수단은,현재 부호화되는 매크로블록까지의 비트열의 부호화 비트수의 합이 상기 최대 허용 비트수를 넘는 경우에 현재 부호화되는 매크로블록의 비트열을 폐기하여 비트열의 길이가 상기 최대 허용 비트수를 넘지 않도록 보장하는 것을 특징으로 하는 실시간 영상 통신을 위한 율제어 장치.
- 제 4 항에 있어서,상기 율제어 및 부호화 수단은,현재 매크로블록의 비트열을 폐기할 경우에 현재 매크로블록을 부호화하지 않았음을 나타내는 비트열을 추가하는 것을 특징으로 하는 실시간 영상 통신을 위한 율제어 장치.
- 제 1 항에 있어서,상기 율제어 및 부호화 수단은,현재 부호화되는 매크로블록까지의 비트열의 부호화 비트수의 합이 상기 최대 허용 비트수 또는 목표 부호화 비트수 또는 최소 허용 비트수로부터 계산되어진 소정의 허용 한계를 넘어서는 경우에 화소 정보를 부호화하지 않음으로써 비트열의 길이가 상기 최대 허용 비트수를 넘지 않도록 하는 것을 특징으로 하는 실시간 영상 통신을 위한 율제어 장치.
- 제 1 항 내지 제 6 항중 어느 한 항에 있어서,상기 율제어 및 부호화 수단은,상기 목표 비트 연산 수단으로부터 목표 부호화 비트수와 최대 허용 비트수 및 최소 허용 비트수를 입력받고, 이전 매크로블록의 비트열 크기를 입력받고, 모델 파라미터를 입력받아 양자화 파라미터와 해당 매크로블록의 부호화 여부(texture_coded)를 결정하기 위한 양자화 파라미터 연산 수단;상기 양자화 파라미터 연산 수단으로부터의 양자화 파라미터에 따라 변환 계수의 양자화 폭을 결정하고 화소 정보 부호화 여부 신호에 따라 화소 정보를 부호화하며 비트열 크기를 상기 양자화 파라미터 연산 수단으로 출력하기 위한 부호화 수단;상기 부호화 수단으로부터 비트열의 크기를 입력받고 상기 양자화 파라미터 연산 수단으로부터 양자화 파라미터를 입력받아 모델을 갱신하여 모델 파라미터를 상기 양자화 파라미터 연산 수단으로 출력하기 위한 모델 갱신 수단;상기 부호화 수단으로부터 비트열 크기를 입력받고 상기 목표 비트 연산 수단으로부터 최대 허용 비트수를 입력받아 매크로블록의 스킵 여부를 결정하여 매크로블록 스킵 신호를 출력하기 위한 매크로블록 스킵 제어 수단; 및상기 매크로블록 스킵 제어 수단으로부터의 매크로블록 스킵 신호와 상기 부호화 수단으로부터의 비트열을 조합하기 위한 비트열 조작 수단을 포함하는 실시간 영상 통신을 위한 율제어 장치.
- 제 7 항에 있어서,상기 양자화 파라미터 연산 수단은,상기 목표 비트 연산 수단으로부터의 목표 부호화 비트수, 최대 허용 비트수 및 최소 허용 비트수에 따라 임계값을 계산하기 위한 임계값 연산부;상기 목표 비트 연산 수단으로부터의 목표 부호화 비트수, 최대 허용 비트수(max_bit) 및 최소 허용 비트수(min_bit)와 상기 모델 갱신 수단으로부터의 모델 파라미터에 따라 양자화 파라미터(QP)를 계산하기 위한 양자화 파라미터 연산부;누적 비트수를 저장하기 위한 저장 수단;상기 부호화 수단으로부터의 이전 매크로블록의 비트열 크기와 상기 저장 수단의 누적 비트수를 더하여 상기 저장 수단으로 출력하기 위한 가산부; 및상기 가산부로부터의 누적 비트수를 상기 임계값 연산부로부터의 임계값과 비교하여 매크로블록의 부호화 여부를 결정하기 위한 비교부를 포함하는 실시간 영상 통신을 위한 율제어 장치.
- 제 8 항에 있어서,상기 임계값 연산부에서 임계값(threshold)을 계산할 때 상기 목표 비트 연산 수단으로부터의 목표 부호화 비트수, 최대 허용 비트수 및 최소 허용 비트수를 모두 사용하거나 또는 일부만을 사용하는 것을 특징으로 하는 실시간 영상 통신을 위한 율제어 장치.
- 제 8 항에 있어서,상기 양자화 파라미터 연산부에서 양자화 파라미터를 구할 때 상기 목표 비트 연산 수단으로부터의 목표 부호화 비트수, 최대 허용 비트수 및 최소 허용 비트수를 모두 사용하거나 또는 일부만을 사용하는 것을 특징으로 하는 실시간 영상 통신을 위한 율제어 장치.
- 제 8 항에 있어서,한 프레임의 부호화가 모두 끝난 경우에 다음 프레임의 누적 비트수를 저장할 수 있도록 하기 위하여, 상기 저장 수단에 저장되어 있는 누적 비트수를 "0"으로 초기화하는 것을 특징으로 실시간 영상 통신을 위한 율제어 장치.
- 제 8 항에 있어서,상기 비교부는,상기 가산부로부터의 누적 비트수를 상기 임계값 연산부로부터의 임계값과 비교하여 상기 누적 비트수가 상기 임계값 이하인 경우에는 화소 정보를 부호화하도록 화소 정보 부호화 여부 신호를 출력하고, 상기 누적 비트수가 상기 임계값보다 큰 경우에는 버퍼의 넘침을 방지하기 위하여 화소 정보를 부호화하지 않도록 화소 정보 부호화 여부 신호를 출력하는 것을 특징으로 하는 실시간 영상 통신을 위한 율제어 장치.
- 제 7 항에 있어서,상기 부호화 수단은,상기 양자화 파라미터 연산 수단으로부터의 양자화 파라미터(QP)에 따라 변환 계수를 양자화하기 위한 양자화 수단; 및무의미한 데이터와 상기 양자화 수단의 양자화된 변환 계수중 어느 하나를 상기 양자화 파라미터 연산 수단으로부터의 화소 정보 부호화 여부 신호에 따라 선택하기 위한 선택 수단을 포함하는 실시간 영상 통신을 위한 율제어 장치.
- 제 7 항에 있어서,상기 매크로블록 스킵 제어 수단은,누적 비트수를 저장하기 위한 저장 수단;상기 부호화 수단으로부터의 현재 매크로블록의 비트열 크기와 상기 래치부의 누적 비트수를 더하여 상기 저장 수단으로 출력하기 위한 가산 수단; 및상기 가산 수단으로부터의 누적 비트수를 상기 목표 비트 연산 수단으로부터의 최대 허용 비트수와 비교하여 현재 매크로블록의 전송 여부를 결정하기 위한 비교 수단을 포함하는 실시간 영상 통신을 위한 율제어 장치.
- 제 14 항에 있어서,상기 비교 수단은,상기 가산 수단으로부터의 누적 비트수가 상기 목표 비트 연산 수단으로부터의 최대 허용 비트수보다 작은 경우에는 현재 매크로블록의 비트열을 그대로 전송하도록 매크로블록 스킵 신호를 출력하고, 상기 가산 수단으로부터의 누적 비트수가 상기 목표 비트 연산 수단으로부터의 최대 허용 비트수보다 큰 경우에는 현재 매크로블록의 비트열을 출력하지 않도록 매크로블록 스킵 신호를 출력하는 것을 특징으로 하는 실시간 영상 통신을 위한 율제어 장치.
- 제 14 항에 있어서,한 프레임의 부호화가 모두 끝난 경우에 다음 프레임의 누적 비트수를 저장할 수 있도록 하기 위하여, 상기 저장 수단에 저장되어 있는 누적 비트수를 "0"으로 초기화하는 것을 특징으로 실시간 영상 통신을 위한 율제어 장치.
- 제 7 항에 있어서,상기 비트열 조작 수단은,상기 부호화 수단으로부터 부호화된 비트열을 입력받거나 현재 매크로블록이 부호화되지 않았음을 알리는 매크로블록 스킵 비트열을 입력받아, 상기 매크로블록 스킵 제어 수단으로부터 현재 매크로블록이 전송되지 않도록 하는 매크로블록 스킵 신호가 입력되었을 때에는 매크로블록 스킵 비트열을 선택하여 출력하고, 현재 매크로블록이 전송되도록 하는 매크로블록 스킵 신호가 입력되었을 때에는 비트열을 선택하여 출력하는 것을 특징으로 하는 실시간 영상 통신을 위한 율제어 장치.
- 실시간 영상 통신을 위한 율제어 장치에 적용되는 율제어 방법에 있어서,전송 선로의 전송 속도와 부호화하려는 영상의 초당 입력 프레임수에 따라 율제어에 필요한 초기값을 설정하는 제 1 단계;현재 버퍼의 상태와 상기 전송 선로의 전송 속도를 고려하여 목표 부호화 비트수, 최대 허용 비트수 및 최소 허용 비트수를 구하는 제 2 단계;상기 목표 부호화 비트수, 최대 허용 비트수 및 최소 허용 비트수를 이용하여 율제어와 부호화를 수행하는 제 3 단계;부호화된 비트열의 크기와 상기 목표 부호화 비트수를 비교하여 의미없는 스터핑 비트열(stuffing bit)을 발생하는 제 4 단계;부호화된 비트열과 상기 스터핑 비트열을 조합하여 저장하고 영상 정보가 전송하도록 하는 제 5 단계; 및현재 버퍼의 상태에 따라 발생된 프레임 스킵 신호에 따라 다음 입력 프레임의 부호화 여부를 결정하는 제 6 단계를 포함하는 실시간 영상 통신을 위한 율제어 방법.
- 제 18 항에 있어서,상기 최소 허용 비트수 Min_bit = max{Bfd+ Ba- Bd, Ba- Bfe, 0}과 같이 구하고, 상기 최대 허용 비트수 Max_bit = min{Bfd, Be- Bfe}와 같이 구하는 것을 특징으로 하는 실시간 영상 통신을 위한 율제어 방법.(여기서, Bfd는 복호기 버퍼의 채워진 상태를 의미하고, Ba는 한 프레임이 부호화되는 중간에 비트열이 버퍼에서 전송되는 비트수이며, Bd는 복호기 버퍼의 크기이고, Be는 부호기 버퍼의 크기이며, Bfe는 부호기 버퍼의 채워진 상태를 나타내고, min{}은 구성 원소들중 최소값을 출력하는 함수이고, max{}는 구성 원소들중 최대값을 출력하는 함수임)
- 제 18 항에 있어서,상기 제 4 단계는,상기 최소 허용 비트수와 상기 부호화된 비트열의 크기를 비교하여 상기 비트열의 크기가 상기 최소 허용 비트수보다 작을 경우에 이들 사이의 차이 이상의 비트수만큼 의미없는 스터핑 비트열을 발생하는 것을 특징으로 하는 실시간 영상 통신을 위한 율제어 방법.
- 제 18 항에 있어서,상기 제 3 단계의 율제어 및 부호화 과정은,현재 부호화되는 매크로블록까지의 비트열의 부호화 비트수의 합이 상기 최대 허용 비트수를 넘는 경우에 현재 부호화되는 매크로블록의 비트열을 폐기하여 비트열의 길이가 상기 최대 허용 비트수를 넘지 않도록 보장하는 것을 특징으로 하는 실시간 영상 통신을 위한 율제어 방법.
- 제 21 항에 있어서,상기 제 3 단계의 율제어 및 부호화 과정은,현재 매크로블록의 비트열을 폐기할 경우에 현재 매크로블록을 부호화하지 않았음을 나타내는 비트열을 추가하는 것을 특징으로 하는 실시간 영상 통신을 위한 율제어 방법.
- 제 18 항에 있어서,상기 제 3 단계의 율제어 및 부호화 과정은,현재 부호화되는 매크로블록까지의 비트열의 부호화 비트수의 합이 상기 최대 허용 비트수 또는 목표 부호화 비트수 또는 최소 허용 비트수로부터 계산되어진 소정의 허용 한계를 넘어서는 경우에 화소 정보를 부호화하지 않음으로써 비트열의길이가 상기 최대 허용 비트수를 넘지 않도록 하는 것을 특징으로 하는 실시간 영상 통신을 위한 율제어 방법.
- 제 18 항 내지 제 23 항중 어느 한 항에 있어서,상기 제 3 단계는,상기 목표 부호화 비트수와 최대 허용 비트수 및 최소 허용 비트수와 이전 매크로블록의 비트열 크기 및 모델 파라미터에 따라 양자화 파라미터와 해당 매크로블록의 부호화 여부(texture_coded)를 결정하는 제 7 단계;상기 양자화 파라미터에 따라 변환 계수의 양자화 폭을 결정하고 상기 부호화 여부 결정 신호에 따라 부호화하는 제 8 단계;상기 부호화된 비트열의 크기와 상기 양자화 파라미터에 따라 모델을 갱신하여 모델 파라미터를 생성하는 제 9 단계;상기 부호화된 비트열 크기와 상기 최대 허용 비트수를 비교하여 매크로블록의 스킵 여부를 결정하여 매크로블록 스킵 신호를 발생하는 제 10 단계; 및상기 매크로블록 스킵 신호와 상기 부호화된 비트열을 조합하는 제 11 단계를 포함하는 실시간 영상 통신을 위한 율제어 방법.
- 제 24 항에 있어서,상기 제 7 단계는,상기 목표 부호화 비트수, 최대 허용 비트수 및 최소 허용 비트수에 따라 임계값을 구하는 제 12 단계;상기 목표 부호화 비트수(target_bit), 최대 허용 비트수(max_bit) 및 최소 허용 비트수(min_bit)와 상기 모델 파라미터에 따라 양자화 파라미터(QP)를 구하는 제 13 단계;상기 부호화된 이전 매크로블록의 비트열 크기와 누적 비트수를 더하여 새로운 누적 비트수를 구하는 제 14 단계; 및상기 새로 구한 누적 비트수를 상기 구한 임계값과 비교하여 매크로블록의 부호화 여부를 결정하는 제 15 단계를 포함하는 실시간 영상 통신을 위한 율제어 방법.
- 제 25 항에 있어서,상기 제 15 단계는,상기 구한 누적 비트수와 임계값을 비교하여 상기 누적 비트수가 상기 임계값 이하인 경우에는 화소 정보를 부호화하도록 화소 정보 부호화 여부 신호를 출력하고, 상기 누적 비트수가 상기 임계값보다 큰 경우에는 버퍼의 넘침을 방지하기 위하여 화소 정보를 부호화하지 않도록 화소 정보 부호화 여부 신호를 발생하는 것을 특징으로 하는 실시간 영상 통신을 위한 율제어 방법.
- 제 24 항에 있어서,상기 제 10 단계는,상기 부호화된 현재 매크로블록의 비트열 크기와 이전 매크로블록까지의 누적 비트수를 더하여 새로운 누적 비트수를 구하는 제 12 단계; 및상기 구한 누적 비트수를 상기 최대 허용 비트수와 비교하여 현재 매크로블록의 전송 여부를 결정하는 제 13 단계를 포함하는 실시간 영상 통신을 위한 율제어 방법.
- 제 27 항에 있어서,상기 제 13 단계는,상기 구한 누적 비트수가 상기 최대 허용 비트수보다 작은 경우에는 현재 매크로블록의 비트열을 그대로 전송하도록 매크로블록 스킵 신호를 출력하고, 상기 구한 누적 비트수가 상기 최대 허용 비트수보다 큰 경우에는 현재 매크로블록의 비트열을 출력하지 않도록 매크로블록 스킵 신호를 출력하는 것을 특징으로 하는 실시간 영상 통신을 위한 율제어 방법.
- 제 24 항에 있어서,상기 제 11 단계는,상기 부호화된 비트열과 현재 매크로블록이 부호화되지 않았음을 알리는 매크로블록 스킵 비트열을 조합하되, 상기 현재 매크로블록이 전송되지 않도록 하는 매크로블록 스킵 신호가 입력되었을 때에는 매크로블록 스킵 비트열을 선택하여 출력하고, 현재 매크로블록이 전송되도록 하는 매크로블록 스킵 신호가 입력되었을 때에는 비트열을 선택하여 출력하는 것을 특징으로 하는 실시간 영상 통신을 위한 율제어 방법.
- 실시간 영상 통신을 위한 율제어를 위하여, 프로세서를 구비한 율제어 장치에,전송 선로의 전송 속도와 부호화하려는 영상의 초당 입력 프레임수에 따라 율제어에 필요한 초기값을 설정하는 제 1 기능;현재 버퍼의 상태와 상기 전송 선로의 전송 속도를 고려하여 목표 부호화 비트수, 최대 허용 비트수 및 최소 허용 비트수를 구하는 제 2 기능;상기 목표 부호화 비트수, 최대 허용 비트수 및 최소 허용 비트수를 이용하여 율제어와 부호화를 수행하는 제 3 기능;부호화된 비트열의 크기와 상기 목표 부호화 비트수를 비교하여 의미없는 스터핑 비트열(stuffing bit)을 발생하는 제 4 기능;부호화된 비트열과 상기 스터핑 비트열을 조합하여 저장하고 영상 정보가 전송하도록 하는 제 5 기능; 및현재 버퍼의 상태에 따라 발생된 프레임 스킵 신호에 따라 다음 입력 프레임의 부호화 여부를 결정하는 제 6 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
- 제 30 항에 있어서,상기 제 3 기능은,상기 목표 부호화 비트수와 최대 허용 비트수 및 최소 허용 비트수와 이전 매크로블록의 비트열 크기 및 모델 파라미터에 따라 양자화 파라미터와 해당 매크로블록의 부호화 여부(texture_coded)를 결정하는 제 7 기능;상기 양자화 파라미터에 따라 변환 계수의 양자화 폭을 결정하고 상기 부호화 여부 결정 신호에 따라 부호화하는 제 8 기능;상기 부호화된 비트열의 크기와 상기 양자화 파라미터에 따라 모델을 갱신하여 모델 파라미터를 생성하는 제 9 기능;상기 부호화된 비트열 크기와 상기 최대 허용 비트수를 비교하여 매크로블록의 스킵 여부를 결정하여 매크로블록 스킵 신호를 발생하는 제 10 기능; 및상기 매크로블록 스킵 신호와 상기 부호화된 비트열을 조합하는 제 11 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
- 제 31 항에 있어서,상기 제 7 기능은,상기 목표 부호화 비트수, 최대 허용 비트수 및 최소 허용 비트수에 따라 임계값을 구하는 제 12 기능;상기 목표 부호화 비트수(target_bit), 최대 허용 비트수(max_bit) 및 최소 허용 비트수(min_bit)와 상기 모델 파라미터에 따라 양자화 파라미터(QP)를 구하는 제 13 기능;상기 부호화된 이전 매크로블록의 비트열 크기와 누적 비트수를 더하여 새로운 누적 비트수를 구하는 제 14 기능; 및상기 새로 구한 누적 비트수를 상기 구한 임계값과 비교하여 매크로블록의 부호화 여부를 결정하는 제 15 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020000035982A KR100341063B1 (ko) | 2000-06-28 | 2000-06-28 | 실시간 영상 통신을 위한 율제어 장치 및 그 방법 |
JP2001130285A JP4205315B2 (ja) | 2000-06-28 | 2001-04-26 | 実時間画像通信のためのレート制御装置及びその制御方法 |
US09/861,359 US6937653B2 (en) | 2000-06-28 | 2001-05-18 | Rate control apparatus and method for real-time video communication |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020000035982A KR100341063B1 (ko) | 2000-06-28 | 2000-06-28 | 실시간 영상 통신을 위한 율제어 장치 및 그 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20020001344A true KR20020001344A (ko) | 2002-01-09 |
KR100341063B1 KR100341063B1 (ko) | 2002-06-20 |
Family
ID=19674437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020000035982A KR100341063B1 (ko) | 2000-06-28 | 2000-06-28 | 실시간 영상 통신을 위한 율제어 장치 및 그 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6937653B2 (ko) |
JP (1) | JP4205315B2 (ko) |
KR (1) | KR100341063B1 (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100557217B1 (ko) * | 2001-05-11 | 2006-03-07 | 닛폰 덴키 가부시끼 가이샤 | 가변 길이 코드들의 입력이 인터럽트되는 것을 방지하는 방법 및 시스템 |
KR100949755B1 (ko) * | 2002-09-05 | 2010-03-25 | 에이전시 포 사이언스, 테크놀로지 앤드 리서치 | 비디오 시퀀스의 레이트를 제어하는 방법 및 장치, 비디오부호화 장치 |
KR101360494B1 (ko) * | 2009-07-15 | 2014-02-07 | 후지쯔 가부시끼가이샤 | 데이터 레이트 조정 장치, 데이터 배신 시스템, 및 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 |
Families Citing this family (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6563953B2 (en) * | 1998-11-30 | 2003-05-13 | Microsoft Corporation | Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock |
GB2374746B (en) * | 2001-04-19 | 2005-04-13 | Discreet Logic Inc | Displaying image data |
US7200275B2 (en) * | 2001-12-17 | 2007-04-03 | Microsoft Corporation | Skip macroblock coding |
US7418037B1 (en) * | 2002-07-15 | 2008-08-26 | Apple Inc. | Method of performing rate control for a compression system |
KR100484148B1 (ko) * | 2002-07-27 | 2005-04-18 | 삼성전자주식회사 | 개선된 비트율 제어 방법과 그 장치 |
US7804897B1 (en) * | 2002-12-16 | 2010-09-28 | Apple Inc. | Method for implementing an improved quantizer in a multimedia compression and encoding system |
US7940843B1 (en) | 2002-12-16 | 2011-05-10 | Apple Inc. | Method of implementing improved rate control for a multimedia compression and encoding system |
JP2005051633A (ja) * | 2003-07-30 | 2005-02-24 | Sony Corp | 編集装置、ビットレート制御方法及びビットレート制御プログラム |
US20050169369A1 (en) * | 2004-02-03 | 2005-08-04 | Sony Corporation | Scalable MPEG video/macro block rate control |
US7697608B2 (en) * | 2004-02-03 | 2010-04-13 | Sony Corporation | Scalable MPEG video/macro block rate control |
CN100411476C (zh) * | 2004-09-20 | 2008-08-13 | 华为技术有限公司 | 一种宽带码分多址系统中上行增强链路信令编码方法 |
US7747095B2 (en) * | 2004-10-08 | 2010-06-29 | Nvidia Corporation | Methods and systems for rate control in image compression |
US8340172B2 (en) * | 2004-11-29 | 2012-12-25 | Qualcomm Incorporated | Rate control techniques for video encoding using parametric equations |
US9077960B2 (en) * | 2005-08-12 | 2015-07-07 | Microsoft Corporation | Non-zero coefficient block pattern coding |
CN100463526C (zh) * | 2006-12-11 | 2009-02-18 | 陈耀武 | 视频延时自适应矫正的解码装置 |
US10069591B2 (en) | 2007-01-04 | 2018-09-04 | Qualcomm Incorporated | Method and apparatus for distributed spectrum sensing for wireless communication |
JP4427570B2 (ja) * | 2007-09-26 | 2010-03-10 | 株式会社東芝 | 通信装置、通信制御方法及びプログラム |
US8548042B2 (en) * | 2008-06-05 | 2013-10-01 | Nippon Telegraph And Telephone Corporation | Video bitrate control method, video bitrate control apparatus, video bitrate control program, and computer-readable recording medium having the program recorded thereon |
KR101009822B1 (ko) * | 2008-08-06 | 2011-01-19 | 삼성전자주식회사 | 서버 및 이동통신 단말기를 포함하는 통신 시스템에서스트리밍 데이터를 송수신하는 방법 및 그 통신 시스템 |
KR20100057388A (ko) * | 2008-11-21 | 2010-05-31 | 삼성전자주식회사 | 버퍼 상태에 적응적인 영상 부호화 방법 및 장치, 영상 복호화 방법 및 장치 |
US9009337B2 (en) | 2008-12-22 | 2015-04-14 | Netflix, Inc. | On-device multiplexing of streaming media 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 |
US8270473B2 (en) * | 2009-06-12 | 2012-09-18 | Microsoft Corporation | Motion based dynamic resolution multiple bit rate video encoding |
US8902995B2 (en) * | 2009-07-02 | 2014-12-02 | Qualcomm Incorporated | Transmitter quieting and reduced rate encoding |
US8958475B2 (en) * | 2009-07-02 | 2015-02-17 | Qualcomm Incorporated | Transmitter quieting and null data encoding |
US9112618B2 (en) * | 2009-07-02 | 2015-08-18 | Qualcomm Incorporated | Coding latency reductions during transmitter quieting |
EP2285112A1 (en) | 2009-08-07 | 2011-02-16 | Canon Kabushiki Kaisha | Method for sending compressed data representing a digital image and corresponding device |
US8595582B2 (en) * | 2009-10-01 | 2013-11-26 | Stmicroelectronics, Inc. | High-rate reverse-order run-length-limited code |
US20110110422A1 (en) | 2009-11-06 | 2011-05-12 | Texas Instruments Incorporated | Transmission bit-rate control in a video encoder |
JP5585062B2 (ja) * | 2009-12-04 | 2014-09-10 | ソニー株式会社 | 情報処理装置、情報処理方法、データ管理サーバおよびデータ同期システム |
US20110182257A1 (en) * | 2010-01-26 | 2011-07-28 | Qualcomm Incorporated | White space spectrum commmunciation device with multiplexing capabilties |
US8705616B2 (en) | 2010-06-11 | 2014-04-22 | Microsoft Corporation | Parallel multiple bitrate video encoding to reduce latency and dependences between groups of pictures |
US8629913B2 (en) * | 2010-09-30 | 2014-01-14 | Apple Inc. | Overflow control techniques for image signal processing |
WO2012093074A1 (en) * | 2011-01-04 | 2012-07-12 | Telefonaktiebolaget L M Ericsson (Publ) | Method, user equipment, computer program and computer program product for selecting an output stream |
US9025665B2 (en) | 2011-07-01 | 2015-05-05 | Cavium, Inc. | Video encoder bit estimator for macroblock encoding |
US9591318B2 (en) | 2011-09-16 | 2017-03-07 | Microsoft Technology Licensing, Llc | Multi-layer encoding and decoding |
US9237352B2 (en) * | 2011-10-05 | 2016-01-12 | Texas Instruments Incorporated | Methods and systems for encoding pictures associated with video data |
US10390016B2 (en) | 2011-11-04 | 2019-08-20 | Infobridge Pte. Ltd. | Apparatus of encoding an image |
KR20130049524A (ko) * | 2011-11-04 | 2013-05-14 | 오수미 | 인트라 예측 블록 생성 방법 |
TWI451722B (zh) * | 2011-11-07 | 2014-09-01 | Quanta Comp Inc | 位元率控制裝置及其方法 |
US11089343B2 (en) | 2012-01-11 | 2021-08-10 | Microsoft Technology Licensing, Llc | Capability advertisement, configuration and control for video coding and decoding |
JP5843631B2 (ja) * | 2012-01-26 | 2016-01-13 | 日本電信電話株式会社 | フレームレート制御方法,フレームレート制御装置およびフレームレート制御プログラム |
JP5848993B2 (ja) * | 2012-03-06 | 2016-01-27 | 株式会社メガチップス | 画像処理装置 |
US8982702B2 (en) * | 2012-10-30 | 2015-03-17 | Cisco Technology, Inc. | Control of rate adaptive endpoints |
US9363473B2 (en) * | 2012-12-17 | 2016-06-07 | Intel Corporation | Video encoder instances to encode video content via a scene change determination |
JP6143866B2 (ja) * | 2013-09-30 | 2017-06-07 | 日本放送協会 | 画像符号化装置、画像復号装置及びそれらのプログラム |
GB2518909B (en) * | 2013-12-16 | 2015-10-28 | Imagination Tech Ltd | Encoder adaptation |
US9979970B2 (en) * | 2014-08-08 | 2018-05-22 | Qualcomm Incorporated | System and method for determining buffer fullness for display stream compression |
KR102274747B1 (ko) | 2014-11-24 | 2021-07-07 | 삼성전자주식회사 | 코덱과 이를 포함하는 시스템 온 칩, 및 상기 시스템 온 칩을 포함하는 데이터 처리 시스템 |
US10805635B1 (en) * | 2016-03-22 | 2020-10-13 | NGCodec Inc. | Apparatus and method for coding tree unit bit size limit management |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5159447A (en) | 1991-05-23 | 1992-10-27 | At&T Bell Laboratories | Buffer control for variable bit-rate channel |
US5231484A (en) * | 1991-11-08 | 1993-07-27 | International Business Machines Corporation | Motion video compression system with adaptive bit allocation and quantization |
US5552832A (en) * | 1994-10-26 | 1996-09-03 | Intel Corporation | Run-length encoding sequence for video signals |
JPH08163554A (ja) | 1994-12-02 | 1996-06-21 | Electron & Telecommun Res Inst | ビデオビット率制御方法 |
US5825970A (en) * | 1994-12-20 | 1998-10-20 | Lg Electronics Inc. | Quantization number selecting apparatus for DVCR and method therefor |
US5686964A (en) | 1995-12-04 | 1997-11-11 | Tabatabai; Ali | Bit rate control mechanism for digital image and video data compression |
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 |
US5731835A (en) | 1996-02-26 | 1998-03-24 | David Sarnoff Research Center, Inc. | Dynamic coding rate control in a block-based video coding system |
KR100297830B1 (ko) * | 1996-11-09 | 2001-08-07 | 윤종용 | 영상단위별 비트발생량 조절 장치 및 방법 |
JP3934712B2 (ja) * | 1996-09-27 | 2007-06-20 | 日本ビクター株式会社 | 映像信号符号化方法及び装置 |
JPH10190745A (ja) | 1996-11-07 | 1998-07-21 | Sony Corp | 符号化信号伝送方法及び装置 |
JPH10190946A (ja) | 1996-12-27 | 1998-07-21 | Canon Inc | 密着型イメージセンサとこれを用いた画像読み取り装置 |
JPH10290428A (ja) | 1997-04-15 | 1998-10-27 | Sony Corp | データ圧縮装置 |
JP4061511B2 (ja) | 1997-04-15 | 2008-03-19 | ソニー株式会社 | 符号化装置及び符号化方法 |
JPH10290427A (ja) | 1997-04-15 | 1998-10-27 | Sony Corp | データ圧縮装置 |
JPH10290429A (ja) | 1997-04-17 | 1998-10-27 | Sony Corp | データ圧縮装置 |
EP1051853B1 (en) * | 1998-01-26 | 2003-06-18 | STMicroelectronics Asia Pacific Pte Ltd. | One-pass variable bit rate moving pictures encoding |
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 |
-
2000
- 2000-06-28 KR KR1020000035982A patent/KR100341063B1/ko not_active IP Right Cessation
-
2001
- 2001-04-26 JP JP2001130285A patent/JP4205315B2/ja not_active Expired - Fee Related
- 2001-05-18 US US09/861,359 patent/US6937653B2/en not_active Expired - Lifetime
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100557217B1 (ko) * | 2001-05-11 | 2006-03-07 | 닛폰 덴키 가부시끼 가이샤 | 가변 길이 코드들의 입력이 인터럽트되는 것을 방지하는 방법 및 시스템 |
KR100949755B1 (ko) * | 2002-09-05 | 2010-03-25 | 에이전시 포 사이언스, 테크놀로지 앤드 리서치 | 비디오 시퀀스의 레이트를 제어하는 방법 및 장치, 비디오부호화 장치 |
KR101360494B1 (ko) * | 2009-07-15 | 2014-02-07 | 후지쯔 가부시끼가이샤 | 데이터 레이트 조정 장치, 데이터 배신 시스템, 및 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 |
Also Published As
Publication number | Publication date |
---|---|
US20020012395A1 (en) | 2002-01-31 |
JP4205315B2 (ja) | 2009-01-07 |
US6937653B2 (en) | 2005-08-30 |
JP2002044656A (ja) | 2002-02-08 |
KR100341063B1 (ko) | 2002-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100341063B1 (ko) | 실시간 영상 통신을 위한 율제어 장치 및 그 방법 | |
KR100740381B1 (ko) | 디지털 신호 부호화 장치 및 디지털 신호 복호 장치 | |
KR101106086B1 (ko) | 부호화 장치 및 부호화 방법 | |
KR100484148B1 (ko) | 개선된 비트율 제어 방법과 그 장치 | |
KR100304103B1 (ko) | 비트율이급변되는재양자화계단크기선택방법및그를이용한비트율제어방법 | |
US6959041B2 (en) | Picture encoding system conversion device and encoding rate conversion device | |
EP1209625A2 (en) | Picture coding apparatus and method | |
KR100601615B1 (ko) | 네트워크 대역폭에 적응적인 영상 압축 장치 | |
KR19990037507A (ko) | 지각적 압축 및 견고한 비트 레이트 제어 시스템 | |
JP3739388B2 (ja) | 二重基準画像符号化方法、符号化装置および復号化器 | |
Tsai et al. | Modified TMN8 rate control for low-delay video communications | |
KR100713400B1 (ko) | 평균 히스토그램 오차 방식을 이용한 h.263/mpeg비디오 인코더 및 그 제어 방법 | |
US20010053182A1 (en) | Picture encoding format converting apparatus | |
JPH08195961A (ja) | 符号化器 | |
KR20040007818A (ko) | 동영상 부호화를 위한 dct연산량 조절 방법 및 그 장치 | |
WO2004093457A1 (ja) | 動画像圧縮符号化方式変換装置及び動画像通信システム | |
JPH07288804A (ja) | 画像信号の再符号化装置 | |
KR19990065775A (ko) | 비디오 스트림 코딩을 위한 적응적 비트율 제어 방법 | |
KR100228549B1 (ko) | 채널율을 이용한 가변 비트율 비디오 제어 방법 | |
KR100555750B1 (ko) | 저전송율 비디오 부호화 장치 및 방법 | |
KR100778473B1 (ko) | 비트율 제어 방법 | |
KR100926826B1 (ko) | 비디오 비트열의 전송 오류에 대비하기 위한 변환부호장치 및 방법 | |
JPH10210475A (ja) | 画像符号化装置 | |
KR100223194B1 (ko) | 비트량 제어방법 및 이를 적용한 프랙탈 동영상 부호화장치 | |
Mersereau et al. | Methods for low bit-rate video compression: some issues and answers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
N231 | Notification of change of applicant | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20100525 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |