KR100354434B1 - 2차원 히스토리 풀과 슬라이딩 윈도우를 이용하는 동영상코딩 장치 및 제어방법 - Google Patents

2차원 히스토리 풀과 슬라이딩 윈도우를 이용하는 동영상코딩 장치 및 제어방법 Download PDF

Info

Publication number
KR100354434B1
KR100354434B1 KR1020000031577A KR20000031577A KR100354434B1 KR 100354434 B1 KR100354434 B1 KR 100354434B1 KR 1020000031577 A KR1020000031577 A KR 1020000031577A KR 20000031577 A KR20000031577 A KR 20000031577A KR 100354434 B1 KR100354434 B1 KR 100354434B1
Authority
KR
South Korea
Prior art keywords
image frame
coding
image
quantization step
transmission
Prior art date
Application number
KR1020000031577A
Other languages
English (en)
Other versions
KR20010112555A (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 정보통신연구진흥원
Priority to KR1020000031577A priority Critical patent/KR100354434B1/ko
Publication of KR20010112555A publication Critical patent/KR20010112555A/ko
Application granted granted Critical
Publication of KR100354434B1 publication Critical patent/KR100354434B1/ko

Links

Classifications

    • 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/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 동영상 코딩에 있어서 2차원 히스토리 풀과 슬라이딩 윈도우를 이용한 3차원적 전송 제어가 가능한 동영상 코딩 장치 및 방법에 관한 것이다. 본 발명의 동영상 인코딩 장치는, 과거에 전송된 영상 프레임의 코딩 결과를 이용하여 현재 전송할 영상 프레임의 전송률을 제어하는 동영상 인코딩 장치에 있어서, 영상 프레임에 적합한 전송비트의 양자화 스텝을 이용하여 인코딩을 수행하는 인코딩부; 상기 인코딩부에 의해 인코딩이 완료된 이전 영상 프레임의 전송비트량과 송신버퍼의 상태, 전송선로상의 타겟 비트율을 이용하여 코딩하고자 하는 영상 프레임의 전송비트량을 결정하는 전송비트 결정부; 상기 인코딩부에 의해 발생된 상기 이전 영상 프레임의 코딩 결과를 M개의 구간으로 나누어서 각각 저장하는, 각각이 N개의 저장장소를 포함하는 M개의 1차원 히스토리 풀(1-dimensional history pool)을 포함하는 2차원 히스토리 풀(2-dimensional history pool); 상기 전송비트 결정부에 의해 결정된 코딩하고자 하는 영상 프레임의 특성과 비슷한 특성을 가진 코딩 결과들을 슬라이딩 윈도우(sliding window)를 이용하여 상기 2차원 히스토리 풀에서 추출하여 저장하는 워킹 히스토리부(working history pool); 상기 워킹 히스토리부에 저장된 코딩 결과를 이용하여 수학적 레이트 디스톨션(Rate distortion: RD) 모델을 갱신하는 레이트 디스톨션(RD) 모델 갱신부; 상기 RD 모델 갱신부에 의해 갱신된 RD 모델을 이용하여 코딩하고자 하는 영상 프레임의 양자화 스텝을 결정하는 양자화 스텝 결정부를 포함한다.

Description

2차원 히스토리 풀과 슬라이딩 윈도우를 이용하는 동영상 코딩 장치 및 제어방법{APPARATUS AND METHOD FOR CODING MOVING IMAGE USING 2-DIMENSIONAL HISTORY POOL AND SLIDING WINDOW}
본 발명은 동영상 코딩에 있어서 2차원 히스토리 풀과 슬라이딩 윈도우를 이용한 3차원적 전송 제어가 가능한 동영상 코딩 장치 및 방법에 관한 것으로, 특히, 2차원 히스토리 풀에 과거의 코딩 결과를 가급적 많이 저장하고 이 중에서 코딩 하고자 하는 영상 프레임의 특성과 비슷한 데이터만을 선택하는 것에 의해 정확한 전송비트량을 예측할 수 있게 하는 3차원적 전송 제어가 가능한 동영상 코딩 장치 및 방법에 관한 것이다.
동영상 코딩에 있어서 영상 전송 방법에는 ATM 망 등에서 사용 가능한 가변비트율 전송 방법과, PSTN 망이나 무선전송 라인 등의 전송선로상의 제약으로 일정량 이상을 전송할 수 없는 경우에 사용되는 균일 비트율 전송 방법이 있다.
현재에 주로 사용되는 방법은 균일 비트율 전송 방법으로서, 상기 방법은, 과거에 전송된 인코딩 결과를 이용하여 현재 전송하여야 할 영상 프레임의 특성을 예측하여 처리하는 피드백 회귀(Feedback Regression) 방법을 주로 사용하고 있으며, 이를 MPEG 전송비트 제어 방법으로도 사용하고 있다.
도 1 및 도 2를 참조하여 종래의 동영상 코딩 장치 및 전송률 제어 방법을 살펴보기로 한다.
종래의 동영상 코딩 장치의 블록도인 도 1에 도시하듯이, 종래의 동영상 코딩 장치는 전송비트 결정부(10), 양자화 스텝 결정부(11), RD 모델 갱신부(12), 정보원 부호기(13), 비디오 신호 다중화 부호기(14), 송신 버퍼(15)를 포함한다.
상기 동영상 코딩 장치에서는, 정보원 부호기(13)가 이산적 코사인 변형(Discrete Cosine Transform; DCT), 양자화(Quantization; Q), 움직임 예측(Motion Estimation: ME) 및 보상(Motion Compensation: MC)을 수행하여 공간 축(Spatial) 방향과 시간 축(Temporal) 방향에서 영상 정보 압축(Image Date Compression)을 수행하며, 비디오 다중화 부호기(14)가 가변 길이 코딩(Variable Length Coding; VLC) 등을 수행하여 부호의 발생확률의 편중에 따른 엔트로피 부호화를 실시하며, 송신버퍼(15)가 이를 전송선로로 전송하여 인코딩을 수행하고, 상기 인코딩을 제어하기 위해, 상기 전송비트 결정부(10), 양자화 스텝 결정부(11), 레이트 디스톨션 (Rate Distortion: RD) 모델 갱신부(12)에서 전송률 제어(BitrateControl) 알고리즘을 이용하고 양자화 스텝(Quantization Step; Q) 값을 변경하는 것에 의해 전송비트의 제어를 행한다.
다음으로 상기 도 1의 종래의 동영상 코딩 장치에서의 전송률 제어방법을 도 2를 참조하여 보다 상세히 설명한다. 도 2는 종래의 MPEG-4 비디오 코딩에서의 전송률 제어 방법을 설명하는 블록도로서, 간단한 설명을 위해, 상기 도 1에서의 정보원 부호기(13), 비디오 신호 다중화 부호기(14), 송신버퍼(15)를 포함하여 인코딩부(20)로 표시하면, 종래의 동영상 코딩 장치는 전송비트 결정부(10), 양자화 스텝 결정부(11), 인코딩부(20), RD 모델 갱신부(12)를 포함하여 구성된다.
먼저, 전송비트 결정부(10)에서는, 이전에 인코딩이 완료된 영상 프레임의 전송비트와 송신버퍼의 상태, 그리고 전송선로상의 타겟(target) 비트율 (bitrate)의 관계를 이용하여, 코딩하고자 하는 영상 프레임의 전송비트량을 결정한다. 타겟 비트량 설정은 송신버퍼의 점유상태를 고려하며 버퍼의 오버플로우(overflow)와 언더플로우(underflow)를 피하도록 설계되어 있다.
다음으로 양자화 스텝 결정부(11)에서는, 전송비트 결정부(10)에서 결정된 타겟 비트량과, 정보원 부호기에서 수행하는 인코딩하고자 하는 영상 프레임의 복잡도(MPEG-4에서는 MAD: Sum of Absolute Difference)를 구하게 되면, 수학적 레이트 디스톨션(RD) 모델을 이용하여, 인코딩 하고자 하는 정보에 필요한 양자화 스텝(Q)을 결정하게 된다. 예로서, MPEG-4에서 주로 사용되는 RD 모델은 다음과 같다.
(1)
여기서 Tframe은 코딩하고자 하는 영상의 타겟 비트량이며, MAD는 전송 영상의 복잡도, Q는 양자화 스텝, X1과 X2는 RD 모델 갱신 단계에서 결정되는 파라메타 값이다. 이와 같이 타겟 비트량이 결정되면 그에 해당하는 양자화 스텝을 상기 양자화 스텝 결정부(11)를 통해 결정하는 과정을 도 3에 도시하였다. 도 3은 RD 모델을 이용하여 타겟 비트량에 해당하는 양자화 스텝(Qp)을 결정하는 과정을 표시하는 그래프이다.
마지막으로 상기 양자화 스텝 결정부(11)에 의해 결정된 양자화 스텝을 이용하여 인코딩부(20)에서 인코딩이 이루어지면, RD모델 갱신부(12)에서, 양자화 스텝 결정부(11)에서 설정된 양자화 스텝(Q) 값을 이용하여 영상 프레임을 인코딩하여 전송할 때마다 실제 코딩 결과(전송 영상의 영상복잡도: MAD, 양자화 스텝: Q, 실제 발생 비트량: Bit)를 알 수 있게 된다.
이때 전송된 실제 비트량은 전송비트 결정부(10)에서 설정된 타겟 비트량과 오차가 있으므로, 정확한 양자화 스텝을 설정하기 위해 RD 모델을 갱신하는 과정이 주기적으로 필요하다. 따라서, RD모델 갱신부(12)에서는 과거에 실제로 인코딩 된 결과를 이용하여 코딩하고자 하는 영상에 적합한 양자화 스텝을 결정하기 위해 RD 모델을 갱신하게 된다. 예를 들어. MPEG-4에서는 수학식 (1) 에서 파라메타 X1과 X2결정한다.
상기 종래의 전송률 제어 방법에서의 RD 모델에 대한 갱신은, 도 2에 도시하듯이, 1차원 퍼스트 컴 퍼스트 서브(First Come First Serve: FCFS) 큐(21) 형식의히스토리 풀(History Pool)에 존재하는 정보를 이용한 회귀(Regression)을 통하여 수행된다. 1차원 FCFS 큐(21)에는 전송을 완료한 영상 프레임들에 대한 코딩 결과가 저장되어 있어, 그들을 이용하여 코딩 하고자 하는 영상 프레임의 양자화 스텝을 예측한다. 1차원 FCFS 큐(21)의 크기는 유한한 크기의 저장 공간(N개의 저장 공간)으로서 가변적으로 구성한다.
즉, 종래의 전송률 제어 방법은, 코딩하고자 하는 영상 프레임이 입력되면, 전송비트 결정부(10)에서 해당 영상에 적합한 타겟 전송비트를 결정하고, 양자화 스텝 결정부(11)에서 타겟 전송비트에 적합한 양자화 스텝을 결정하게 된다. 양자화 스텝은 미리 정해둔 RD 모델을 이용하여 정하는데, 예를 들어 MPEG-4의 경우에는 수학식 (1)을 RD 모델로 이용할 수 있다. 다음으로 양자화 스텝이 결정되면 해당 양자화 스텝(Q) 값을 이용하여 인코딩부(20)에서 입력영상을 인코딩하고, 그 결과로 발생된 비트열을 디코더 단으로 전송한다. 전송이 끝나면, 실제 전송 완료된 비트량을 알 수 있게 되는데 이를 상기 1차원 FCFS 큐(21)에 저장한 후 일정량(N개)의 코딩 결과를 이용하여 RD 모델의 파라메타 값을 회귀(Regression)를 이용하여 변경한 후, 이를 다음에 입력되는 영상의 양자화 스텝 결정부에서 이용한다. 예를 들어 MPEG-4에서는 수학식 (1)의 X1과 X2파라메타 값을 변경하게 될 것이다. 이와 같이 종래에서는 상기 방법을 반복적으로 수행 함으로서 전송률을 일정하게 제어할 수 있다.
그러나, 상기 종래의 전송률 제어 방법은 다음과 같은 문제점이 있다.
종래의 전송률 제어 방법은 수학적인 RD 모델을 이용하며, 상술한 바와 같이1차원 FCFS 큐를 이용하여 사전에 코딩 완료된 전송 결과(영상복잡도:MAD, 처리한 양자화 스텝: Q, 양자화 스텝(Q) 값을 이용하여 인코딩 했을 때의 실제 발생 비트량: actual bit)를 이용하여, 해당 전송 결과를 가장 근접하게 만족할 수 있는 RD 모델을, 모델 파라메타를 변경 함으로서 결정하게 된다.
이때 현재 코딩 하고자 하는 영상의 특성이 1차원 FCFS 큐에 저장된 코딩 결과와 매우 다른 경우, 또한 비슷한 코딩 결과가 과거에도 존재했지만 1차원 FC FS 큐의 크기가 N개로 제한된 관계로 해당 전송 결과를 저장하지 못했을 경우에는, 코딩 하고자 하는 영상 특성을 처리하지 못하여 적합하지 못한 양자화 스텝을 결정하는 경우가 종종 발생하게 된다. 이 경우, 잘못 적용된 양자화 스텝을 이용하여 인코딩을 수행하게 되며, 그 결과 과도한 전송비트를 발생하게 된다. 만약 발생 비트량이 송신버퍼의 용량을 초과하게 되는 경우에는, 송신 버퍼의 점유율을 낮추기 위하여 다음에 전송하려는 영상의 코딩을 중단(skip)해야 하는 문제가 발생한다.
상기 종래의 전송률 제어방법에 따른 RD 모델, 상기 RD 모델에 의해 결정된 양자화 스텝과 실제 전송비트량의 관계를 도 4에 도시한다.
상기 도 4에서는 종래의 전송률 제어방법으로서 MEPG-4 전송률 제어 방법을 이용하여 영상 프레임의 인코딩을 수행한 경우로써, 1차원 FCFS 큐, 즉 1차원 히스토리 풀의 데이터[복잡도(Mad), 양자화 스텝(Qp), 발생 비트량(Actual Bits)로서 그래프에서는 ""으로 표시됨], 그에 따른 RD 모델(그래프에서 곡선으로 표시됨), RD 모델에 의해 결정된 양자화 스텝(그래프에서 8로 표시됨), 타겟 비트량(약 5400 비트), 실제 전송비트량 (2560비트로서 그래프에서는 ""로 표시됨)의 관계를 나타내고 있다.
상기 도에서 알 수 있듯이, 실제 코딩 결과가 RD 모델을 이용한 예측치와 많은 차이를 나타내고 있으며, 이는 코딩 하려는 영상 프레임의 특성과 히스토리 풀의 저장 내용이 많은 차이를 보여 RD 모델 예측이 잘못되었기 때문이다. 즉 코딩 하려는 영상 프레임의 특성이 1차원 히스토리 풀에 저장된 코딩 결과와 매우 달라서, RD 모델 갱신 과정에서 외삽(Extrapolation)이 수행되었기 때문이다.
RD 모델 갱신 과정에서 외삽(Extrapolation)이 발생하는 경우는 장면 전환과 같은 경우이며, 이는 코딩 하고자 하는 영상의 특성과 비슷한 영상 특성을 가진 정보가 1차원 히스토리 풀에 존재하지 않아서 발생된다. 수학적으로 외삽이 발생하는 경우의 예측 정확도는, 보간(Interpolation)시의 예측 정확도에 비하여 현저히 떨어진다. 이를 도 5a-5d에 나타내었다. 도 5a 및 5c는 각각 외삽 및 보간이 수행된 경우의 양자화 스텝(Qp)과 발생 및 예측 비트량의 관계를 나타내는 그래프들이며, 도 5b 및 5d는 영상복잡도(Mad)로 본 외삽 및 보간을 나타내는 그래프들이다. 상기 도 5a 및 5c에서 외삽이 발생한 경우의 예측 비트량과 발생 비트량 차이가 보간이 발생한 경우의 예측 비트량과 발생 비트량 차이보다 큰 것을 알 수 있으며, 상기 도 5b 및 5d에서도 비슷한 결과를 나타내는 것을 알 수 있다. 즉, 외삽의 경우 발생 비트량은 보간 시 발생된 비트량과 비교하여 정확도가 현저히 떨어지는 것을 알 수 있다.
이와 같이 코딩 하고자 하는 영상 프레임의 특성이 코딩 완료되어 1차원 히스토리 풀에 저장된 결과와 현저히 다르다면, RD 모델 갱신 후 양자화 스텝 결정단계에서 외삽이 수행 되어야 하고, 이는 보간 수행 시의 결과와 비교하여 정확도가 현저히 떨어지는 문제점이 있다.
상술한 바와 같이, 종래의 전송률 제어 방법에서는 여러 가지의 수학적인 레이트 디스톨션 (Rate Distortion: RD) 모델을 이용한 회귀(Regression)를 수행하며, 이는 동영상의 특징이 비슷하거나 시간적으로 서서히 변화할 때는 효과가 있지만, 장면 전환 등의 급격하게 영상의 특징이 변화하는 경우에 있어서는 과거 정보를 바탕으로 한 수학적인 RD 모델을 적용할 수 없게 되어 예상되는 전송량과 부합하지 않는 정보량을 전송하게 된다.
따라서, 사용자의 조작이나 전송선로 상의 문제로 인하여 급변하는 멀티미디어 환경이나 영상 특징이 급격히 변화하는 경우에 상기 전송률 제어 방법을 적용한다면 전송환경에 적극적인 대처를 할 수 없게 되므로, 종래의 간단한 수학적 RD 모델을 이용한 피드백 방식의 전송률 제어 방법의 개선이 요구된다.
본 발명의 목적은 상기 종래의 문제점을 개선하는 것으로서, 급변하는 멀티미디어 환경이나 영상 특징이 급격히 변화하는 경우에도 전송 환경에 적극적으로 대처할 수 있고, 예상되는 전송량과 부합된 정보량을 전송함으로써 효율적인 영상 정보의 전송을 가능하게 하는 동영상 코딩 장치 및 제어 방법을 제공하는데 있다.
도 1은 종래의 동영상 코딩 장치의 블록도.
도 2는 종래의 MPEG-4 비디오 코딩 장치에서의 전송률 제어 방법을 설명하는 블록도.
도 3은 상기 도 2에서의 양자화 스텝 결정 단계를 설명하는 그래프.
도 4는 종래의 전송률 제어방법에 따른 RD 모델, 상기 RD 모델에 의해 결정된 양자화 스텝과 실제 전송률의 관계를 나타내는 도면.
도 5a-5d는 외삽과 보간이 수행된 경우의 양자화 스텝 결정 단계들을 설명하는 그래프들..
도 6a는 실제 영상들을 인코딩하여 도출된, 영상복잡도 (MAD), 양자화 스텝(Qp)과 실제 발생 비트량(BIT)의 관계를 3차원 좌표에 도시한 도면.
도 6b는 상기 도 6a를 간략화하여 도시한 도면.
도 7은 본 발명에 따른 2차원 히스토리 풀과, 입력 영상의 복잡도에 따른 슬라이딩 윈도우, 슬라이딩 윈도우 내의 데이터를 저장하는 워킹 히스토리부들간의관계를 설명하는 도면.
도 8a는 본 발명의 일 실시예에 따른 3차원 전송률 제어방법의 각 단계들을 도식화한 도면.
도 8b는 상기 도 8b의 결과를 나타내는 그래프.
도 9는 본 발명의 일 실시예에 따른 동영상 코딩 장치의 블록도.
도 10은 본 발명의 일 실시예에 따른 동영상 코딩 장치에서의 전송률 제어방법을 설명하는 블록도.
도 11 및 12는 각각 본 발명에 따른 동영상 코딩 장치에서의 제어방법과 종래의 방법에 따른 인코딩 결과를 비교하는 그래프 및 도표.
상기 목적을 달성하기 위하여, 본 발명의 한 측면에 따르면, 동영상 코딩 장치는, 과거에 전송된 영상 프레임의 코딩 결과를 이용하여 현재 전송할 영상 프레임의 전송률을 제어하는 동영상 인코딩 장치에 있어서, 영상 프레임에 적합한 전송비트의 양자화 스텝을 이용하여 인코딩을 수행하는 인코딩부; 상기 인코딩부에 의해 인코딩이 완료된 이전 영상 프레임의 전송비트량과 송신버퍼의 상태, 전송선로상의 타겟 비트율을 이용하여 코딩하고자 하는 영상 프레임의 전송비트량을 결정하는 전송비트 결정부; 상기 인코딩부에 의해 발생된 상기 이전 영상 프레임의 코딩 결과를 M개의 구간으로 나누어서 각각 저장하는, 각각이 N개의 저장장소를 포함하는 M개의 1차원 히스토리 풀(1-dimensional history pool)을 포함하는 2차원 히스토리 풀(2-dimensional history pool); 상기 전송비트 결정부에 의해 결정된 코딩하고자 하는 영상 프레임의 특성과 비슷한 특성을 가진 코딩 결과들을 슬라이딩 윈도우(sliding window)를 이용하여 상기 2차원 히스토리 풀에서 추출하여 저장하는 워킹 히스토리부(working history); 상기 워킹 히스토리부에 저장된 코딩 결과를 이용하여 수학적 레이트 디스톨션(Rate distortion: RD) 모델을 갱신하는 레이트 디스톨션(RD) 모델 갱신부; 상기 RD 모델 갱신부에 의해 갱신된 RD 모델을 이용하여 코딩하고자 하는 영상 프레임의 양자화 스텝을 결정하는 양자화 스텝 결정부를 포함한다.
본 발명의 다른 측면에 의하면, 동영상 코딩 장치의 전송률 제어 방법은, 과거에 전송된 영상 프레임의 코딩 결과를 이용하여 현재 전송할 영상 프레임의 전송률을 제어하는 동영상 인코딩 장치의 제어방법에 있어서, 영상 프레임에 적합한 전송비트의 양자화 스텝을 이용하여 인코딩을 수행하는 제1 단계; 상기 제1 단계에 의해 인코딩이 완료된 이전 영상 프레임의 전송비트량과 송신버퍼의 상태, 전송선로상의 타겟 비트율을 이용하여 코딩하고자 하는 영상 프레임의 전송비트량을 결정하는 제2 단계; 상기 제1 단계에 의해 발생된 상기 이전 영상 프레임의 코딩 결과를 M개의 구간으로 나누어서, 각각이 N개의 저장장소를 가진 M개의 1차원 히스토리 풀을 포함하는 2차원 히스토리 풀(history pool) 중, 자신의 코딩 결과에 해당하는 M 개의 구간에 속한 상기 2차원 히스토리 풀의 상기 N 개의 1차원 히스토리 풀에 저장하는 제3 단계; 슬라이딩 윈도우(sliding window)를 이용하여 상기 제2 단계에 의해 결정된 코딩하고자 하는 영상 프레임의 특성과 비슷한 특성을 가진 코딩 결과들을 상기 2차원 히스토리 풀에서 추출하여, 또 다른 1차원 히스토리 풀인 워킹 히스토리부(working history)에 저장하는 제4 단계; 상기 워킹 히스토리부에 저장된 코딩 결과를 이용하여 수학적 레이트 디스톨션(Rate distortion: RD) 모델을 갱신하는 제5 단계; 상기 제5 단계에 의해 갱신된 RD 모델을 이용하여 코딩하고자 하는 영상 프레임의 양자화 스텝을 결정하는 제6 단계를 포함한다.
본 발명의 다른 측면에 의하면, 동영상 인코딩 장치의 전송률 제어 방법은, 과거에 전송된 영상 프레임의 코딩 결과를 이용하여 RD 모델을 갱신하고 양자화 스텝을 결정하는 것에 의해 전송할 영상 프레임의 전송을 제어하는 동영상 인코딩 장치의 전송률 제어 방법에 있어서, 상기 과거에 전송된 영상 프레임의 코딩 결과를 획득한 후, 전송할 영상 프레임의 특성과 비슷한 특성을 가진 상기 코딩 결과만을 이용하여 상기 RD 모델을 갱신함으로써, 외삽(extrapolation)의 수행을보간(interpolations)의 수행으로 전환하는 것에 의해 영상 프레임의 전송을 제어한다.
다음으로 도면들을 참조하여 본 발명의 바람직한 일 실시예에 따른 동영상 코딩에서의 전송률 제어 장치 및 제어 방법을 설명한다.
본 발명은, 종래의 1차원 히스토리 풀을 이용한 RD 모델 예측을 통한 동영상 코딩에 있어서, 코딩 하고자 하는 영상의 특성이 기록된 코딩 결과와 크게 다른 경우 외삽(Extrapolation)이 발생하게 되어 예측 오차가 매우 크게 나타나는 것을 방지하기 위해서, 가급적 많은 과거의 코딩 결과를 기록하여 RD 모델 예측에 이용하는 것을 특징으로 하며, 이를 위해 종래와는 달리 다수의 1차원 히스토리 풀로 구성된 2차원 히스토리 풀을 이용하는 것을 특징으로 한다.
즉, 본 발명에서는, 인코딩 결과 중 영상복잡도에 따라 구분된 M개의 1차원 히스토리 풀을 포함하는 2차원 히스토리 풀을 설정한 후, 슬라이딩 윈도우(Sliding Window)를 사용하여 현재 코딩 하려는 영상 프레임의 특성과 비슷한 특성을 가진 데이터를 상기 2차원 히스토리 풀에서 추출하여, 이를 또 다른 1차원 히스토리 풀에 저장한다. 본 발명에서는 상기 1차원 히스토리 풀을 워킹 히스토리부(working history pool)라 칭한다.
본 발명에서는 2차원 히스토리 풀을, 도 6a 및 6b에 도시하듯이, 실제 영상들을 인코딩하여 도출된 영상복잡도(Mad), 양자화 스텝(Qp), 실제 발생 비트량(Bit)을 이용하여 설정한다. 상기 도 6a는 실제 영상들을 인코딩하여 도출된, 영상복잡도 (MAD), 양자화 스텝(Qp)과 실제 발생 비트량(Bit)의 관계를 3차원좌표에 도시한 도면이며, 도 6b는 상기 도 6a를 간략화하여 도시한 도면이다.
상기와 같이 설정되는 2차원 히스토리 풀의 구성을 도 7에 도시한다. 도 7은 본 발명에 따른 2차원 히스토리 풀과, 입력 영상의 복잡도에 따른 슬라이딩 윈도우, 슬라이딩 윈도우 내의 데이터를 저장하는 워킹 히스토리부들간의 관계를 설명하는 도면이다.
상기 도 7에서 알 수 있듯이, 본 발명에서는 시스템 구성의 복잡도를 줄이기 위하여 코딩시 발생되는 영상복잡도를 M개의 구간으로 나누고, 각각의 구간에 N개의 저장장소를 둔 퍼스트 컴 퍼스트 서버 큐(First Come First Serve Queue) 형식의 M개의 1차원 히스토리 풀을 포함하는 2차원 히스토리 풀을 구성한다.
본 발명에 따른 2차원 히스토리 풀을 이용하여 RD 모델을 갱신하기 위해서는, 먼저 코딩된 영상의 영상복잡도(Mad)에 해당하는 구간의 1차원 히스토리 풀을 선택하여 해당하는 1차원 히스토리 풀에 현재 코딩된 결과를 삽입해 두어야 한다. 다음으로, 코딩 하고자 하는 영상의 복잡도를 파악한 후, 슬라이딩 윈도우(Sliding window)를 사용하는 것에 의해, 이와 유사한 영상복잡도를 가진 코딩 결과를 상기 2차원 히스토리 풀에서 추려 내어, 또 다른 1차원 히스토리 풀, 즉 워킹 히스토리부에 저장하는 것에 의해 RD 모델을 갱신한다.
다음으로, 도 9 및 10을 참조하여, 본 발명의 바람직한 일 실시예에 따른 동영상 코딩 장치 및 제어 방법을 설명한다.
도 9는 본 발명에 따른 동영상 코딩 장치의 블록도로서. 동 도에 도시하듯이, 본 발명에 따른 동영상 코딩 장치는 정보원 부호기(96), 비디오 신호 다중화부호기(97), 송신 버퍼(98)를 포함하는 종래의 동영상 코딩 장치에 있어서, 2차원 히스토리 풀(90), 전송비트 결정부(91), 워킹 히스토리부(92), RD 모델 갱신부(93), 양자화 스텝 결정부(94), 2차원 히스토리 갱신부(95)를 더 포함하여 구성된다. 상기 정보원 부호기(96), 비디오 신호 다중화 부호기(97), 송신 버퍼(98)는 상술한 바와 같이 입력된 영상신호의 인코딩을 수행한다.
먼저, 상기 2차원 히스토리 풀(90)은 상술한 바와 같이 실제 인코딩 결과 도출된 코딩된 영상복잡도(Mad), 양자화 스텝(Qp), 실제 발생 비트량(Bit)를 데이터로서 N개의 저장장소에 저장하고 있는 M개의 1차원 히스토리 풀을 포함하고 있다.
상기 전송비트 결정부(91)에서는, 이전 프레임에서 실제로 인코딩이 완료된 후에 발생된 비트량과 송신버퍼 상태, 그리고 전송선로상의 타겟(target) 비트율 (bitrate)의 관계를 이용하여 코딩 하고자 하는 영상 프레임의 전송비트량을 결정한다. 현재 프레임의 타겟 비트량 설정은 송신버퍼의 점유상태를 고려하며 버퍼의 오버플로우(overflow)와 언더플로우(underflow)를 피하도록 설계하는 것이 바람직하다.
상기 워킹 히스토리부(92)는 영상복잡도 구간별로 과거의 코딩 결과가 저장된 2차원 히스토리 풀(90)로부터, 코딩 하고자 하는 영상의 영상복잡도와 비슷한 특징을 갖는 코딩 결과를 슬라이딩 윈도우를 이용하여 추출하여 저장하며, 그 과정은 다음과 같다.
먼저, 슬라이딩 윈도우를 이용하여 상기 2차원 히스토리 풀(90)에서 필요한 인코딩 결과의 데이터만을 선택하기 위해서는, 히스토리 풀에 있는 데이터들과 코딩 하려는 영상 프레임의 복잡도 간의 차(difference)를 구하고, 그 차가 소정의 범위 내에 있는 것만을 추출하여 워킹 히스토리부(92)에 저장한다.
만일 상기 워킹 히스토리부(92)를 구성하는 인코딩 결과가 적다면, 상기 히스토리 풀의 데이터와 코딩 하려는 영상 프레임의 복잡도 간의 차의 기준이 되는 상기 소정의 범위를 크게 하는 것에 의해, 워킹 히스토리부(92)에 포함되는 데이터의 수를 늘릴 수 있다. 이렇게 함으로써, 워킹 히스토리부(92)의 데이터가 적어 RD 모델 예측이 불가능하게 되는 것을 방지할 수 있다.
다음으로, 워킹 히스토리부(92) 내에 상기 추출한 데이터들을 코딩 완료된 순서대로 정렬한다.
이 때, 상기 워킹 히스토리부(92) 내의 데이터 중에 양자화 스텝에 해당하는 값이 한 개의 값으로 편중되는 경우가 발생하게 되면, 상기 소정의 범위를 크게 하는 것에 의해, 하나의 값으로 편중되어 있는 양자화 스텝에 해당하는 데이터를 교체하여, 양자화 스텝의 편중화를 방지할 수 있다.
마지막으로, 워킹 히스토리부(92)에서는 저장되어 있는 데이터 중에서, 가장 최근에 코딩된 영상 특성과 유사하지 않는 정보는 제거한다. 이러한 정보를 제거하는 방법으로서는, 예를 들어, 가장 최근에 코딩된 두개의 프레임의 영상 특성 정보를 이용하여, 그들의 특성과 매우 다른 특성을 갖는 저장 정보의 값들을 제거하는 방법이 있으며, 다음과 같이 수행된다.
1. 워킹 히스토리부(92)에 있는 모든 데이터에 대해 영상 특성 비율을 결정한다. 영상 특성 비율(RATIOi)이란, 실제 전송비트량 (Bit), 양자화 스텝 (Qp)과 영상복잡도(Mad)간의 관계를 말하며, 수학식 (2)를 이용하여 구한다.
(2)
2. 다음으로 가장 최근에 코딩된 두 개의 영상 특성 비율(RATIO) 값의 평균을 수학식 (3)을 이용하여 구한다.
(3)
3. 상기 비율(RATIO)에 대한 편차를 수학식 (4) 및 (5)를 이용하여 구한다.
Sum=Sum +(RATIOi-RATIOAve) (4)
Sigma=Sqrt(Sum/n) (5)
4. 만일, ABS(RATIOi-RATIOAve)율이 상기 sigma 보다 작으면, 즉 최근에 코딩된 영상 특성 비율과 비슷하면, 워킹 히스토리부(92)에 잔존 시키며, 그렇지 않으면 제거한다.
상기 RD모델 갱신부(93)는, 상기 위킹 히스토리부(92)에 저장된 데이터를 이용하여, 코딩 하고자 하는 영상에 적합한 양자화 스텝을 결정하기 위해, 회귀(Regression)와 아우트라인 제거(Remove outliner) 과정을 수행하는 것에 의해 RD 모델을 갱신한다.
상기 양자화 스텝 결정부(94)는, 타겟 비트량과 영상 프레임의 복잡도 그리고 RD 모델 갱신부(93)에서 결정된 RD 모델을 이용하여, 코딩 하고자 하는 영상 프레임에 적합한 양자화 스텝(Q)을 결정하며, 이에 따라 정보원 부호기(96), 비디오 신호 다중화 부호기(97), 송신버퍼(98)에 의해 영상이 인코딩된 후 전송선로로 전송된다. 이 때, 양자화 스텝 결정부(94)는, 이전 영상의 양자화 스텝의 크기와 일정한 값 이상, 예를 들어, 약+25% 이상 차이가 나지 않도록 양자화 스텝을 결정하는 것이 바람직하다. 그러나, 이전 프레임과 현재 프레임의 영상복잡도가 일정한 값 이상의 차이를 보일 경우, 즉 영상 특성차가 매우 클 경우에는 양자화 스텝 결정부(94)에서 결정된 양자화 스텝을 그대로 인정한다.
이 때, 영상을 인코딩을 수행하여 전송 선로상으로 전송한 후에는, 실제 전송비트량을 알 수 있게 되므로, 상기 2차원 히스토리 풀 갱신부(95)에서는, 전송된 영상 프레임의 영상복잡도와 인코딩에 사용된 양자화 스텝 그리고 실제 발생 비트량을, 영상복잡도 구간별로 나뉘어진 2차원 히스토리 풀(90) 중 영상복잡도를 기준으로 하여 포함된 1차원 히스토리 풀 중 적절한 1차원 히스토리 풀에 저장하여 2차원 히스토리 풀(90)을 갱신한다.
다음으로 상기 본 발명에 따른 동영상 코딩 장치를 보다 간략히 도시하는 도 10을 참조하여 본 발명에 따른 동영상 코딩 장치에서의 제어 방법을 설명한다. 도 10에서는 간단한 설명을 위해 상기 정보원 부호기(96), 비디오 신호 다중화 부호기(97), 송신 버퍼(98)를 인코딩부(100)로 표시한다.
도 10에 도시하듯이, 코딩 하고자 하는 영상 프레임이 입력되면, 전송비트 결정부(91)에서 해당영상에 적합한 타겟 전송비트량을 결정하고, 인코딩부(100)에서 결정된 영상복잡도를 이용하여, 2차원 히스토리 풀(90)에 저장되어 있는 과거에 이미 코딩된 결과 중에서 코딩 하고자 하는 영상과 유사한 영상 특성을 갖는 인코딩 결과만을 슬라이딩 윈도우를 이용하여 추출하여 워킹 히스토리부(92)에 저장한다. 다음으로 RD 모델 갱신부(93)는 워킹 히스토리부(92)에 기록된 데이터를 이용하여 RD 모델을 갱신하며, 양자화 스텝 결정부(94)는 양자화 스텝을 결정하면 인코딩부(100)에서 해당 양자화 스텝을 이용하여 입력 영상을 인코딩 한다. 이 후, 인코딩이 완료되면, 2차원 히스토리 풀 갱신부(95)가 상기 인코딩 결과 발생된 실제 발생 비트량을 이용하여 2차원 히스토리 풀(90)을 갱신하게 된다.
다음으로 상기와 같은 본 발명의 동영상 코딩 장치의 제어 방법의 일 예를 도 8a 및 8b를 참조하여 설명한다. 도 8a에 도시하듯이, 본 발명에 따른 2차원 히스토리 풀(90)에서 현재의 영상복잡도(본 실시예에서는 Mad=4.98973)와 비슷한 영상복잡도에 해당하는 인코딩 결과 데이터를 슬라이딩 윈도우를 이용하여 추출하여 워킹 히스토리부(92)에 저장한 후 RD 모델을 갱신한다. RD 모델을 갱신 후에는 양자화 스텝(Qp)을 결정하고 해당하는 양자화 스텝을 이용하여 인코딩을 행한다. 상기 과정을 통해 수행된 인코딩 결과는 도 8b을 통해 알 수 있다.
도 8b에서, "o"는 2차원 히스토리 풀(90)에 저장된 데이터이고, ""는 코딩 하고자 하는 영상의 영상복잡도와 유사한 코딩 특성을 갖는 데이터들로서 슬라이딩 윈도우에 의해 선택되어 워킹 히스토리부(92)에 저장된 데이터를 나타내며, 곡선은 상기 데이터들을 이용하여 갱신된 RD 모델을 지수함수로서 나타낸다. 상기 도는 현재 타겟 비트량은 약 5000 비트로 하여 이에 해당하는 양자화 스텝을 8로 결정하는 과정을 나타내는 것으로써, 해당 양자화 스텝을 이용하여, 인코딩을 수행한 결과로 발생된 비트량은 약 4500 비트(""로서 표시됨)로서, RD 모델 갱신 시 보간이 수행됨을 알 수 있고 또한 코딩 결과도 타겟 비트량과 유사한 양의 비트가발생됨을 알 수 있다.
다음으로 도 11 및 12를 참조하여, 상기 본 발명에 따른 동영상 코딩 장치의 제어방법에 따른 인코딩 결과와 종래 방법에 따른 인코딩 결과를 비교하기로 한다.
도 11은 본 발명에 따른 동영상 코딩 장치의 제어방법과 종래의 방법에 따른 동영상 코딩 장치의 제어방법의 코딩 결과를 비교하는 그래프이다. 상기 도 11에서, "o"는 2차원 히스토리 풀(90)에 저장된 데이터를, ""는 워킹 히스토리부(92)에 저장된 데이터를, ""는 종래의 방법, 예를 들어, MPEG-4에서 제안한 전송비트율 제어 방식에서의 히스토리 풀 데이터를, 실선의 곡선은 본 발명에 따라서 갱신된 RD 모델을, 점선의 곡선은 종래의 방법에 따라 갱신된 RD 모델을, ""는 본 발명에 따른 갱신된 RD 모델을 이용하여 수행된 인코딩 결과(약 5,000비트)를, "◆"는 종래의 방법에 의해 수행된 인코딩 결과(약 6,300 비트)를 나타낸다. 상기 도에서 알 수 있듯이, 본 발명에 따라 수행된 인코딩 결과가 종래에 비해서 타깃 비트(약 5,000비트)와 근접한 비트량을 전송하였으며, 따라서 본 발명에 따른 동영상 제어 방법이 종래에 비해서 보다 정확한 실제 발생 비트량을 예측할 수 있음을 알 수 있다.
도 12는 본 발명에 따른 동영상 코딩 장치의 제어방법(3DRC)과 종래의 MPEG-4의 전송률 제어방법(MPEG-4 VM으로 표시)에 따른 코딩 결과를 비교하는 도표이다.
상기 도 12에서는 48kbits/second의 전송환경에서 뉴스(news), 사일런트(silent), 포맨(foreman) 등의 다양한 시퀀스들을 전송할 때의 전송 결과를, 프레임당 전송된 비트량(Ave.Bits/Vop), 피크 신호 대 노이즈 비(Peak Signalto Noise Ratio: PSNR), 프레임 중지를 가지고 비교한다. 상기 프레임 중지(Frame Skip)란, 비트율 제어를 제대로 할 수 없어서 영상을 전송할 수 없는 경우를 말한다. 상기 도에 도시하듯이, 예를 들어, 사일런트 시퀀스를 전송하는 경우, 본 발명이 종래에 비해서 전송환경과 근접한 평균 전송비트량(Ave.Bit/Vop)과, 보다 높은 PSNR, 적은 프레임 중지를 나타내고 있으므로, 본 발명에 따른 제어 방법이 종래에 비해서 화질은 향상되면서도 보다 정확하게 비트량을 전송하고 있음을 알 수 있다.
본 발명은 상기와 같은 구성에 의해, 사용자의 조작이나 전송선로 상의 문제로 인하여 급변하는 멀티미디어 환경이나 영상 특징이 급격히 변화하는 경우에 있어서도 전송환경에 적극적인 대처를 할 수 있게 되므로, 정확한 전송량을 예측하여 화질이 우수하면서도 우수한 영상 정보의 전송을 가능하게 하는 효과를 발생한다.

Claims (25)

  1. 과거에 전송된 영상 프레임의 코딩 결과를 이용하여 현재 전송할 영상 프레임의 전송률을 제어하는 동영상 인코딩 장치에 있어서,
    영상 프레임에 적합한 전송비트의 양자화 스텝을 이용하여 인코딩을 수행하는 인코딩부;
    상기 인코딩부에 의해 인코딩이 완료된 이전 영상 프레임의 전송비트량과 송신버퍼의 상태, 전송선로상의 타겟 비트율을 이용하여 코딩하고자 하는 영상 프레임의 전송비트량을 결정하는 전송비트 결정부;
    상기 인코딩부에 의해 발생된 상기 이전 영상 프레임의 코딩 결과를 M개의 구간으로 나누어서 각각 저장하는, 각각이 N개의 저장장소를 포함하는 M개의 1차원 히스토리 풀(1-dimensional history pool)을 포함하는 2차원 히스토리 풀(2-dimensional history pool);
    상기 전송비트 결정부에 의해 결정된 코딩하고자 하는 영상 프레임의 특성과 비슷한 특성을 가진 코딩 결과들을 슬라이딩 윈도우(sliding window)를 이용하여 상기 2차원 히스토리 풀에서 추출하여 저장하는 워킹 히스토리부(working history pool);
    상기 워킹 히스토리부에 저장된 코딩 결과를 이용하여 수학적 레이트 디스톨션(Rate distortion: RD) 모델을 갱신하는 레이트 디스톨션(RD) 모델 갱신부;
    상기 RD 모델 갱신부에 의해 갱신된 RD 모델을 이용하여 코딩하고자 하는 영상 프레임의 양자화 스텝을 결정하는 양자화 스텝 결정부
    를 포함하는 동영상 코딩 장치.
  2. 제 1 항에 있어서,
    상기 동영상 코딩 장치는,
    상기 2차원 히스토리 풀에 저장된 이미 전송된 영상 프레임의 코딩 결과를 갱신하는 2차원 히스토리 풀의 갱신부
    를 더 포함하는 동영상 코딩 장치.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 워킹 히스토리부는 1차원 히스토리 풀이며,
    상기 1차원 히스토리 풀은 퍼스트 컴 퍼스트 서브(first come first serve) 큐 형식인
    동영상 코딩 장치.
  4. 제 2 항에 있어서,
    상기 2차원 히스토리 풀에 저장되는 코딩 결과에는, 전송된 영상 프레임의 영상복잡도, 상기 영상 프레임의 인코딩에 사용된 양자화 스텝 및 코딩 결과 발생된 실제 비트량이 포함되며,
    상기 코딩 결과는 상기 영상 프레임의 영상복잡도에 따라서 M 구간으로 나뉘어지는
    동영상 코딩 장치.
  5. 제 4 항에 있어서,
    상기 워킹 히스토리부는,
    상기 2차원 히스토리 풀에 저장된 코딩 결과와 코딩하려는 영상 프레임간의 복잡도의 차가 소정의 범위 내에 있는 상기 2차원 히스토리 풀에 저장된 코딩 결과들을 추려내고, 상기 추려진코딩 결과를 코딩 완료된 순서대로 저장하며, 상기 저장된 코딩 결과 중에서 가장 최근에 코딩된 영상 프레임의 특성과 비교하여 소정의 범위 내에 있지 않는 코딩 결과는 제거하는
    동영상 코딩 장치.
  6. 제 5 항에 있어서,
    상기 2차원 히스토리 풀에 저장된 코딩 결과와 코딩하려는 영상 프레임간의 복잡도의 상기 소정의 차 범위는, 상기 워킹 히스토리부에 저장될 코딩 결과들의 양자화 스텝에 해당하는 값이 한 개의 값으로 편중되지 않고, 상기 워킹 히스토리부에 포함된 코딩 결과가 상기 RD 모델을 예측할 수 있는 범위로 설정되는
    동영상 코딩 장치.
  7. 제 6 항에 있어서,
    상기 워킹 히스토리부는, 가장 최근에 코딩된 두 개의 영상 프레임의 영상 특성 비율을 이용하여, 상기 영상 특성 비율과 비교하여 소정의 범위 내에 포함되지 않는 특성을 가진 저장된 코딩 값을 제거하는
    동영상 코딩 장치.
  8. 제 7 항에 있어서,
    상기 영상 특성 비율은, 코딩된 영상의 실제 전송비트량, 양자화 스텝과 영상복잡도와의 관계를 이용하여 수학식 (1)로 구하며, 상기 수학식 (1)은
    이며, 상기에서 RATIOi는 i번째 코딩된 영상의 영상 특성 비율을 말하며, Bit는 실제 전송비트량이며, Qp는 양자화 스텝, Mad는 영상복잡도를 나타내며,
    상기 소정의 범위는,
    상기 가장 최근에 코딩된 두 개의 영상 특성 비율 값들의 평균과 편차를 수학식 (2)∼(4)으로 구한 후, 상기 결과 값들이 수학식 (5)의 조건을 만족하면 상기 워킹 히스토리부에 잔존시키며,
    상기 수학식 (2)는,
    이며,
    상기 수학식 (3) 및 (4)는,
    Sum=Sum +(RATIOi-RATIO Ave) 및
    Sigma=Sqrt(Sum/n) 이며,
    상기 수학식 (5)는,
    ABS(RATIOi-RATIO Ave) < Sigma 인
    동영상 코딩 장치.
  9. 제 1 항 또는 제 2 항에 있어서,
    상기 RD 모델 갱신부는, 회귀(regression)와 아우트라인 제거(remove outliner) 과정을 행하여 RD 모델의 변수들을 구하는
    동영상 코딩 장치.
  10. 제 1 항 또는 제 2 항에 있어서,
    상기 양자화 스텝 결정부는, 양자화 스텝의 크기가 이전 영상의 양자화 스텝의 크기와 소정의 값 이상 차이가 나지 않도록 양자화 스텝을 결정하며, 이전 영상 프레임과 현재 영상 프레임의 영상복잡도가 일정한 값 이상 차이가 나는 경우에는 결정된 양자화 스텝을 그대로 유지하는
    동영상 코딩 장치
  11. 제 10 항에 있어서,
    상기 양자화 스텝 결정부는,
    상기 양자화 스텝의 크기와 이전 영상의 양자화 스텝의 크기 차가 ±25% 이내가 되도록 양자화 스텝을 결정하는
    동영상 코딩 장치.
  12. 제 1 항 또는 제 2 항에 있어서,
    상기 전송비트 결정부는,
    송신버퍼의 점유상태를 고려하여 버퍼의 오버플로우(overflow)와 버퍼의 언더플로우(underflow)를 피하도록 전송비트량을 결정하는
    동영상 코딩 장치.
  13. 과거에 전송된 영상 프레임의 코딩 결과를 이용하여 현재 전송할 영상 프레임의 전송률을 제어하는 동영상 인코딩 장치의 제어방법에 있어서,
    영상 프레임에 적합한 전송비트의 양자화 스텝을 이용하여 인코딩을 수행하는 제1 단계;
    상기 제1 단계에 의해 인코딩이 완료된 이전 영상 프레임의 전송비트량과 송신버퍼의 상태, 전송선로상의 타겟 비트율을 이용하여 코딩하고자 하는 영상 프레임의 전송비트량을 결정하는 제2 단계;
    상기 제1 단계에 의해 발생된 상기 이전 영상 프레임의 코딩 결과를 M개의 구간으로 나누어서, 각각이 N개의 저장장소를 가진 M개의 1차원 히스토리 풀을 포함하는 2차원 히스토리 풀(history pool) 중, 자신의 코딩 결과에 해당하는 M 개의 구간에 속한 상기 2차원 히스토리 풀의 상기 N 개의 1차원 히스토리 풀에 저장하는 제3 단계;
    슬라이딩 윈도우(sliding window)를 이용하여 상기 제2 단계에 의해 결정된 코딩하고자 하는 영상 프레임의 특성과 비슷한 특성을 가진 코딩 결과들을 상기 2차원 히스토리 풀에서 추출하여, 또 다른 1차원 히스토리 풀인 워킹 히스토리부(working history pool)에 저장하는 제4 단계;
    상기 워킹 히스토리부에 저장된 코딩 결과를 이용하여 수학적 레이트 디스톨션(Rate distortion: RD) 모델을 갱신하는 제5 단계;
    상기 제5 단계에 의해 갱신된 RD 모델을 이용하여 코딩하고자 하는 영상 프레임의 양자화 스텝을 결정하는 제6 단계
    를 포함하는 동영상 코딩 장치의 전송률 제어 방법.
  14. 제 13 항에 있어서,
    상기 전송률 제어 방법은,
    상기 2차원 히스토리 풀에 저장된 전송된 영상 프레임의 인코딩 결과를 갱신하는 제7 단계
    를 더 포함하는 동영상 코딩 장치의 전송률 제어 방법.
  15. 제 13 항 또는 제 14 항에 있어서,
    상기 1차원 히스토리 풀은 퍼스트 컴 퍼스트 서브(first come first serve) 큐 형식인
    동영상 코딩 장치의 전송률 제어 방법.
  16. 제 14 항에 있어서,
    상기 2차원 히스토리 풀에 저장되는 코딩 결과에는, 전송된 영상 프레임의 영상복잡도, 상기 영상 프레임의 인코딩에 사용된 양자화 스텝 및 코딩 결과 발생된 실제 비트량이 포함되며,
    상기 코딩 결과는 상기 영상 프레임의 영상복잡도에 따라서 M 구간으로 나뉘어지는
    동영상 코딩 장치의 전송률 제어 방법.
  17. 제 16 항에 있어서,
    상기 제4 단계는,
    상기 2차원 히스토리 풀에 저장된 코딩 결과와 코딩하려는 영상 프레임간의 복잡도의 차가 소정의 범위 내에 있는 코딩 결과들을 추려내는 제8 단계;
    상기 코딩 결과를 코딩 완료 순서대로 정렬하여 저장하는 제9 단계;
    상기 저장된 코딩 결과 중에서 가장 최근에 코딩된 영상 프레임의 특성과 비교하여 소정의 범위 내에 있지 않는 코딩 결과를 제거하는 제10 단계
    를 포함하는 동영상 인코딩 장치의 전송률 제어 방법.
  18. 제 17 항에 있어서,
    상기 제4 단계는,
    상기 제 8단계에 의해 추려된 코딩 결과가 상기 RD 모델을 예측할 수 없을 만큼 작은 경우에는, 상기 2차원 히스토리 풀에 저장된 코딩 결과와 코딩하려는 영상 프레임간의 복잡도의 상기 소정의 차 범위를 크게 하는 제11 단계;
    상기 저장된 코딩 결과들의 양자화 스텝에 해당하는 값들이 편중되는 경우에는, 상기 소정의 차 범위를 크게 하는 제12 단계
    를 더 포함하는 동영상 장치의 전송률 제어 방법.
  19. 제 18 항에 있어서,
    상기 제10 단계는,
    가장 최근에 코딩된 두 개의 영상 프레임의 영상 특성 비율을 이용하여, 상기 영상 특성 비율과 비교하여 소정의 범위 내에 포함되지 않는 특성을 가진 저장된 코딩 값을 제거하는
    동영상 코딩 장치의 전송률 제어 방법.
  20. 제 19 항에 있어서,
    상기 영상 특성 비율은, 코딩된 영상의 실제 전송비트량, 양자화 스텝과 영상복잡도와의 관계를 이용하여 수학식 (1)로 구하며, 상기 수학식 (1)은
    이며, 상기에서 RATIOi는 i번째 코딩된 영상의 영상 특성 비율을 말하며, Bit는 실제 전송비트량이며, Qp는 양자화 스텝, Mad는 영상복잡도를 나타내며,
    상기 소정의 범위는,
    상기 가장 최근에 코딩된 두 개의 영상 특성 비율 값들의 평균과 편차를 수학식 (2)∼(4)으로 구한 후, 상기 결과 값들이 수학식 (5)의 조건을 만족하면 상기 워킹 히스토리부에 잔존시키며,
    상기 수학식 (2)는,
    이며,
    상기 수학식 (3) 및 (4)는,
    Sum=Sum +(RATIOi-RATIO Ave) 및
    Sigma=Sqrt(Sum/n) 이며,
    상기 수학식 (5)는,
    ABS(RATIOi-RATIO Ave) < Sigma 인
    동영상 코딩 장치의 전송률 제어 방법.
  21. 제 13 항 또는 제 14 항에 있어서,
    상기 제5 단계는,
    회귀(regression)와 아우트라인 제거(remove outliner) 과정을 행하여 RD 모델의 변수들을 구하는
    동영상 코딩 장치의 전송률 제어 방법.
  22. 제 13 항 또는 제 14 항에 있어서,
    상기 제6 단계는,
    양자화 스텝의 크기가 이전 영상의 양자화 스텝의 크기와 소정의 값 이상 차이가 나지 않도록 양자화 스텝을 결정하며, 이전 영상 프레임과 현재 영상 프레임의 영상복잡도가 일정한 값 이상 차이가 나는 경우에는 결정된 양자화 스텝을 그대로 유지하는
    동영상 코딩 장치의 전송률 제어 방법.
  23. 제 21 항에 있어서,
    제6 단계는,
    상기 양자화 스텝의 크기와 이전 영상의 양자화 스텝의 크기 차가 ±25% 이내가 되도록 양자화 스텝을 결정하는
    동영상 코딩 장치의 전송률 제어 방법.
  24. 제 13 항 또는 제 14 항에 있어서,
    상기 제2 단계는,
    송신버퍼의 점유상태를 고려하여 버퍼의 오버플로우와 버퍼의 언더플로우를 피하도록 전송비트량을 결정하는
    동영상 코딩 장치의 전송률 제어 방법.
  25. 과거에 전송된 영상 프레임의 코딩 결과를 이용하여 RD 모델을 갱신하고 양자화 스텝을 결정하는 것에 의해 전송할 영상 프레임의 전송을 제어하는 동영상 인코딩 장치의 전송률 제어 방법에 있어서,
    상기 과거에 전송된 영상 프레임의 코딩 결과를 획득한 후, 전송할 영상 프레임의 특성과 비슷한 특성을 가진 상기 코딩 결과만을 이용하여 상기 RD 모델을 갱신함으로써, 외삽(extrapolation)의 수행을 보간(interpolations)의 수행으로 전환하는 것에 의해 영상 프레임의 전송을 제어하는
    동영상 인코딩 장치의 전송률 제어 방법.
KR1020000031577A 2000-06-09 2000-06-09 2차원 히스토리 풀과 슬라이딩 윈도우를 이용하는 동영상코딩 장치 및 제어방법 KR100354434B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020000031577A KR100354434B1 (ko) 2000-06-09 2000-06-09 2차원 히스토리 풀과 슬라이딩 윈도우를 이용하는 동영상코딩 장치 및 제어방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000031577A KR100354434B1 (ko) 2000-06-09 2000-06-09 2차원 히스토리 풀과 슬라이딩 윈도우를 이용하는 동영상코딩 장치 및 제어방법

Publications (2)

Publication Number Publication Date
KR20010112555A KR20010112555A (ko) 2001-12-20
KR100354434B1 true KR100354434B1 (ko) 2002-09-30

Family

ID=19671478

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000031577A KR100354434B1 (ko) 2000-06-09 2000-06-09 2차원 히스토리 풀과 슬라이딩 윈도우를 이용하는 동영상코딩 장치 및 제어방법

Country Status (1)

Country Link
KR (1) KR100354434B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101525383B1 (ko) * 2014-05-30 2015-06-09 연세대학교 산학협력단 홀로그래픽 데이터 스토리지의 비트 에러 비율(BER:bit error rate) 향상을 위한 홀로그래픽 데이터 스토리지에 정보를 기록하여 재생하는 장치 및 방법.

Also Published As

Publication number Publication date
KR20010112555A (ko) 2001-12-20

Similar Documents

Publication Publication Date Title
Ribas-Corbera et al. Rate control in DCT video coding for low-delay communications
US5686964A (en) Bit rate control mechanism for digital image and video data compression
JP4786114B2 (ja) 映像をコード化するための方法及び装置
CA2748373C (en) Multiple bit rate video encoding using variable bit rate and dynamic resolution for adaptive video streaming
US9762917B2 (en) Quantization method and apparatus in encoding/decoding
US8270473B2 (en) Motion based dynamic resolution multiple bit rate video encoding
US9071841B2 (en) Video transcoding with dynamically modifiable spatial resolution
KR100305941B1 (ko) 실시간 단일 패스 가변 비트 레이트 제어 방법 및 그 인코더
JP2003199102A (ja) 映像符号化装置
KR20030040975A (ko) 오브젝트 기반 비트율 제어방법
EP1209625A2 (en) Picture coding apparatus and method
JPH11122612A (ja) 動画像の圧縮符号化装置
Ngan et al. Improved single-video-object rate control for MPEG-4
KR100950525B1 (ko) 트랜스코딩 장치 및 방법, 이에 사용되는 타겟비트할당 및픽처 복잡도 예측 장치 및 방법
JP2004040811A (ja) 動映像符号化のためのdct演算量調節方法及びその装置
KR100624404B1 (ko) 사람의 시각적 특성을 고려한 적응적 부호화 방법 및 장치
KR100354434B1 (ko) 2차원 히스토리 풀과 슬라이딩 윈도우를 이용하는 동영상코딩 장치 및 제어방법
JP4534106B2 (ja) 動画像符号化システム及び方法
EP1841237B1 (en) Method and apparatus for video encoding
JPH08307860A (ja) シーン再エンコード装置
US7623720B2 (en) Image processing apparatus and method
KR20030000310A (ko) 영상 변환 부호화 장치
KR20010014321A (ko) 데이터 압축
JP3652889B2 (ja) 映像符号化方法、映像符号化装置、記録媒体、及び映像通信システム
JP4755239B2 (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: 20110620

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee