KR100790148B1 - 실시간 영상 복잡도 측정 방법 - Google Patents

실시간 영상 복잡도 측정 방법 Download PDF

Info

Publication number
KR100790148B1
KR100790148B1 KR1020060070862A KR20060070862A KR100790148B1 KR 100790148 B1 KR100790148 B1 KR 100790148B1 KR 1020060070862 A KR1020060070862 A KR 1020060070862A KR 20060070862 A KR20060070862 A KR 20060070862A KR 100790148 B1 KR100790148 B1 KR 100790148B1
Authority
KR
South Korea
Prior art keywords
frame
complexity
image
bits
header bits
Prior art date
Application number
KR1020060070862A
Other languages
English (en)
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 KR1020060070862A priority Critical patent/KR100790148B1/ko
Priority to US11/880,203 priority patent/US20080025401A1/en
Application granted granted Critical
Publication of KR100790148B1 publication Critical patent/KR100790148B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

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

Abstract

본 발명은 프레임별 매크로블록 단위로 처리되는 실시간 영상의 복잡도 측정 방법에 있어서, 이전 프레임에서 상기 매크로블록 단위로 처리되는 정보의 헤더 비트 중 미리 설정된 값의 상태를 확인하는 과정과, 이전 프레임까지의 상기 매크로블록 단위로 처리되는 정보의 헤더 비트 중 상기 미리 설정된 값의 상태를 확인하는 과정과, 상기 확인한 상태들을 비교하여 상기 현재 프레임의 영상 복잡도를 수행한다.
영상, 복잡도, 텍스처, 헤더, 인코딩, 실시간, MAD

Description

실시간 영상 복잡도 측정 방법{REAL-TIME VIDEO CONTENT COMPLEXITY MEASUR FOR RATE CONTROL OF VIDEO ENCODER}
도 1은 본 발명이 적용되는 비디오 인코더 장치의 블록 구성도.
도 2는 일반적인 비디오 인코딩시 영상 복잡도 측정 동작의 일 예시 흐름도.
도 3은 본 발명의 일 실시예에 따른 비디오 인코딩시 영상 복잡도 동작의 일 예시 흐름도.
본 발명은 비디오 인코딩(encoding)에 관한 기술로서, 특히 비트율이 낮고 프레임율이 높은 환경에서 비디오 인코딩 데이터 레이트 컨트롤시에 적용됨이 유용한 실시간 영상 복잡도 측정 방법에 관한 것이다.
비디오 신호의 전송이나 저장시에 높은 영상 화질을 유지하면서 낮은 데이터 레이트나 적은 저장 영역을 얻기 위한 다양한 디지털 비디오 압축 기술이 제안되어 왔다. 이러한 비디오 압축 기술은 H.261, H.263, H.264, MPEG-2, MPEG-4 등과 같은 국제 표준 규격들이다. 이러한 압축 기술은 이산 코사인 변환(DCT: Discrete Cosine Transform) 기법이나 모션 보상(MC: Motion Compensation) 기법 등에 의해, 비교적 높은 압축률을 달성하고 있다. 이러한 비디오 압축 기술은 비디오 데이터의 스트림이 다양한 디지털 네트워크, 예를 들면, 휴대전화 네트워크, 컴퓨터 네트워크, 케이블 네트워크, 위성 네트워크 등에 효율적으로 전달되도록 적용되고 있다. 또한 하드디스크, 광디스크, 디지털 비디오 디스크(DVD) 등의 기억 매체에도 효율적으로 저장되도록 적용되어 있다.
고화질을 위해서는, 비디오 인코딩시 많은 양의 데이터를 요구하게 된다. 그러나, 비디오 데이터를 전달하는 통신 네트워크는 인코딩에 적용할 수 있는 데이터 레이트를 제한할 수 있다. 예를 들어, 위성방송 시스템의 데이터 채널이나 디지털 케이블 텔레비전 네트워크의 데이터 채널은 일반적으로 고정 비트 레이트(CBR: Constant Bit Rate)로 데이터를 보내고 있다. 또한 디스크와 같은 저장 매체의 저장 용량도 한정되어 있다.
따라서, 비디오 인코딩 프로세스는 화질과 이미지 압축에 필요한 비트 수를 적절히 트레이드 오프하게 된다. 또한 비디오 인코딩은 비교적 복잡한 처리를 요구하므로, 예를 들어 소프트웨어로 이를 구현하려고 할 경우에는, 비디오 인코딩 프로세스는 비교적 많은 CPU 사이클을 필요로 하게 된다. 더욱이 이를 실시간 처리로 재생하려고 하면, 시간적인 제약이 인코딩 수행시의 정밀함을 제한하게 되며, 이에 따라 달성할 수 있는 화질이 제한된다.
이와 같이, 비디오 인코딩 데이터 레이트 컨트롤은 실제 사용환경에서 중요한 사안이며, 되도록이면 처리 방식의 복잡도와 전송 데이터 레이트를 줄이면서도 고화질을 얻도록 하기 위한 비디오 인코딩 데이터 레이트 컨트롤 방식이 제안되고 있다.
일반적으로 비디오 인코딩 데이터 레이트 컨트롤(rate control)은 GOP(group of picture)내(內) 영상의 변화가 심하지 않다는 가정에서 만들어졌다. JVT(joint video team: ITU-T Video Coding Experts Group and ISO/IEC 14496-10 AVC Moving Picture Experts Group, Z. G. Li, F. Pan, K. P. Lim, G. Feng, X. Lin, and S. Rahardja, "Adaptive basic unit layer rate control for JVT", JVT-G012-r1, 7th Meeting Pattaya Ⅱ, Thailand, Mar. 2003.)에는 MPEG 비디오 압축 알고리즘에 따른 비디오 프레임 인코딩시 양자화 파라미터(QP: Quantization Parameter)를 조절하여 데이터 레이트를 제어하는 기본적인 기술이 개시되고 있다.
레이트 컨트롤은 특히 할당되는 비트 자원이 제한된 응용분야에서 비디오 인코딩 성능에 큰 영향을 미친다. 주어진 비트 자원은 크게, 영상의 프레임 단위별로 배분된다. 복잡도가 높은 영상 프레임은 코딩된 영상 품질을 높게 유지하기 위해 비트 자원을 많이 할당하고 반대로 복잡도가 낮은 영상 프레임에는 상대적으로 낮은 비트 자원을 할당한다. 따라서 영상 프레임의 복잡도를 측정하는 것은 레이트 컨트롤의 성능을 좌우하는 중요한 파라미터이다.
이에 따라, 상기 JVT를 비롯하여 보다 효율적으로 또한 보다 정확히 영상 복잡도를 측정하기 위한 다양한 방식이 제안되고 있다.
따라서, 본 발명의 목적은 주어진 비트율이 낮고 프레임율이 높은 응용분야에서 영상 복잡도를 보다 정확하고 효율적으로 측정할 수 있도록 영상 복잡도 측정 방법을 제공함에 있다.
상기한 목적을 달성하기 위하여 본 발명은 프레임별 매크로블록 단위로 처리되는 실시간 영상의 복잡도 측정 방법에 있어서, 이전 프레임에서 상기 매크로블록 단위로 처리되는 정보의 헤더 비트 중 미리 설정된 값의 상태를 확인하는 과정과, 이전 프레임까지의 상기 매크로블록 단위로 처리되는 정보의 헤더 비트 중 상기 미리 설정된 값의 상태를 확인하는 과정과, 상기 확인한 상태들을 비교하여 상기 현재 프레임의 영상 복잡도를 파악함을 특징으로 한다.
이하 본 발명에 따른 바람직한 실시예를 첨부한 도면을 참조하여 상세히 설명한다. 하기 설명에서는 구체적인 구성 소자 등과 같은 특정 사항들이 나타나고 있는데 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐 이러한 특정 사항들이 본 발명의 범위 내에서 소정의 변형이나 혹은 변경이 이루어질 수 있음은 이 기술분야에서 통상의 지식을 가진 자에게는 자명하다 할 것이다.
H.264/AVC의 RDO(Rate Distortion Optimization) 과정에 따르면 인터(Inter) 프레임에서도 매크로블록(macroblock)별로 인터(inter) 또는 인트라 모드(Intra mode)가 선택되어진다. 상기 JVT에서는 영상 내 복잡도를 상대적으로 반영하지 못하여 움직임이 많은 영상에서 최적의 성능을 내지 못한다. 이에 "M. Jiang, X. Yi, and N. Ling, "Improved frame-layer rate control for H.264 using MAD ratio," IEEE International Symposium on Circuits and Systems, vol. III, pp. 813-816, May 2004, Vancouver, Canada. "에서는 이러한 매크로블록 단위로 코딩된 정보를 바탕으로 영상 복잡도를 측정하고, 이를 반영하여 상기 JVT의 단점을 개선한다. 이때 매크로블록 단위의 코딩 정보는 헤더 비트(the number of header bits)와, 텍스처 비트(the number of texture-bits)들로 구성되는데, H.264/AVC의 레이트 컨트롤에 적용될 수 있는 상기 Jiang의 영상 복잡도 측정 방식은 텍스처 비트를 분석하여 하기 수학식 1에 따라 구해진다.
Figure 112006054242221-pat00001
여기서 PMAD는 예측된 평균절대오차(Predicted Mean Absolute Difference)를 의미하며, CMAD는 실제 계산된 평균절대오차(actually Computed Mean Absolute Difference)를 의미한다. i는 현재 프레임의 프레임 번호이며, j는 현재 프레임의 바로 이전 프레임의 프레임 번호이다. 즉, 상기 수학식 1에 따르면, 영상 복잡도인 RatioMAD는 현재 프레임(i번째)의 PMAD와 이전프레임까지의 CMAD 평균값에 대한 비율이다. 이때 상기 CMAD는 이전 프레임의 해당 입력된 프레임과 재구성된 프레임과의 오차 정보를 통해 계산되며, 상기 PMAD는 이전 프레임들의 계산된 CMAD들의 변이 상태 등을 이용하여 예측되는 현재 프레임의 MAD의 예측 값이다.
이와 같이, Jiang 등에서는, H.264/AVC의 레이트 컨트롤에 적용될 수 있는 상기 영상 복잡도 측정 방식을 제공하고 있으나, 이러한 방식들은 텍스처 비트만을 분석함으로, 주어진 비트율이 낮고 프레임율이 높은 응용분야에서 정확성이 떨어지게 된다. 이하, 이러한 기존 기술의 영상 복잡도 측정 방식의 문제점을 보다 상세히 설명하기로 한다.
먼저, H.264/AVC에서의 비트 스트림 구조를 살펴보면, 비트 스트림(bit stream)은 슬라이스(slice) 단위로 코딩된다. 하나의 슬라이스는 슬라이스 헤더(slice header) 필드와 슬라이스 데이터 필드로 구성되며, 슬라이스 데이터 필드는 다수의 매크로블록 필드들을 포함한다. 하나의 매크로블록 필드는 하나의 매크로블록의 영상 정보를 나타내기 위한 것으로, 매크로블록 헤더 필드와 텍스처 데이터 필드로 구성된다. 매크로블록 헤더 필드는 'mb_type' 필드와 'mb_pred' 필드로 구분될 수 있다.
'mb_type' 필드에는 매크로블록의 종류를 가리키는 값이 기록된다. 즉, 이 필드는 현재 매크로블록이 인트라 매크로블록인지 인터 매크로블록인지 등을 나타낸다. 'mb_pred' 필드에는 상기 매크로블록의 종류에 따른 상세 예측 모드에 대한 정보가 기록된다. 인트라 매크로블록인 경우에는, 선택된 인트라 예측 모드가 기록되며, 인터 매크로블록인 경우에는 기준 프레임 번호 및 매크로블록 파티션(partition)에 의한 모션 벡터 등에 대한 정보가 저장된다. 턱스처 필드에는 코딩된 나머지 프레임의 데이터, 즉 텍스처 데이터가 기록된다.
그런데, 주어진 비트율이 낮고 프레임율이 높은 응용분야에서 영상복잡도에 대한 헤더 비트(헤더 필드에서 사용한 비트수)의 비율은 전체 총 비트수(헤더 필드의 비트수 + 텍스처 필드의 비트 수)대비 점차 커진다. 하기 표 1은 프레임율이 30fps(frame per second)이고 비트 레이트를 낮출 때 인코딩된 전체 비트에 대한 헤더 비트의 비율을 나타낸 것이다.
Figure 112006054242221-pat00002
상기 표 1에서는 비트 레이트가 76.8kbps, 38.4kbs, 19.2kbs일 경우에 인코딩된 전체 비트에 대한 헤더 비트의 비율을 임의의 테스트 시퀀스 영상 일명, 'Carphone', 'Foreman', 'Salesman', 'Silent', 및 'Trevor'를 예로 들어 확인하였다. 표 1에서와 같이, 비트 레이트가 작아질수록, 즉 가용 비트수가 적어질수록 상대적으로 헤더 비트의 비율은 증가함을 알 수 있다. 특히 움직임이 많은 'Carphone', 'Foreman' 과 같은 영상에서는 그 비율이 더욱 증가함을 알 수 있다. 따라서 비트율이 낮고 프레임율이 높은 영상에 대해서, 영상복잡도 측정시 헤더 비트가 고려되는 것이 바람직하다.
이에 본 발명에서는 비트율이 낮고 프레임율이 높은 응용분야에서 영상복잡도 측정시 텍스처 비트는 물론이고 헤더 비트까지 고려한 영상복잡도 측정 방법을 제안하다. 이러한 본 발명의 영상 복잡도 측정 방법을 설명하기에 앞서, 먼저 도 1을 참조하여 본 발명이 적용되는 비디오 인코더 장치에 대해 설명하기로 한다.
도 1은 본 발명이 적용되는 비디오 인코더 장치의 블록 구성도이다. 도 1을 참조하면, 본 발명이 적용되는 비디오 인코더 장치는 비디오 프레임 시퀀스를 입력받으며 출력으로서는 압축된 비디오 데이터를 출력하는 일반적인 H.264/AVC(Advanced Video Coding) 인코더(10)를 구비할 수 있다. 또한 프레임들을 저장하는 프레임 저장 메모리(20)와, 인코더(10)의 데이터 레이트 제어를 위한 양자화 파라미터(QP: Quantization Parameter) 제어 동작을 수행하는 인코더 QP 제어기(30)를 구비한다.
먼저, 인코더(10)의 구성 및 동작을 보다 상세히 설명하면, 인코더(10)는 주파수 변환기(104), 양자화기(106), 엔트로피 코더(108), 인코더 버퍼(110), 역양자화기(116), 역주파수 변환기(114), 모션추정/보상기(120) 및 필터(112)를 포함한다.
현재 프레임이 인터 프레임(예를 들어 P프레임일 경우)이라면, 모션추정/보상기(120)는 프레임 저장 메모리(20)에 버퍼링되어 있는 이전 프레임의 재구성된 프레임인 기준 프레임에 대한, 현재 프레임내(內) 매크로블록의 모션을 추정하고 보상한다. 프레임은 원 영상의 예를 들어 16x16 픽셀에 대응하는 매크로블록의 단위로 처리된다. 각 매크로블록은 인트라(intra) 또는 인터(inter) 모드로 부호화된다. 모션추정시에는 부가 정보로서 모션 벡터와 같은 모션 정보를 출력하고, 모션보상시에는 모션정보를 재구성된 이전 프레임에 적용하여 모션보상된 현재 프레임을 생성한다. 이와 같이 모션보상된 현재 프레임의 매크로블록(예측 매크로블록)과 원래의 현재 프레임의 매크로블록간의 차이분이 주파수 변환기(104)로 제공된다.
주파수 변환기(104)는 공간 도메인의 비디오 정보를 주파수 도메인(예를 들어 스펙트럼) 데이터로 변환한다. 이때 주파수변환기(104)는 통상 이산 코사인 변환(DCT: Discrete Cosine Transform)을 수행하여 매크로블록단위로 DCT 계수 블록을 생성한다.
양자화기(106)는 상기 주파수 변환기(104)에서 출력되는 스펙트럼 데이터 계수의 블록을 양자화한다. 이때 양자화기(106)는 통상 프레임별 기반으로 가변되는 스텝-크기로 스펙트럼 데이터에 일정한 스칼라 양자화를 적용한다. 이러한 양자화기(106)는 데이터 레이트 컨트롤을 위해 프레임별로 양자화 파라미터(QP)의 가변 정보를 인코더 QP 제어기(30)의 QP조정부(34)로터 제공받게 된다.
엔트로피 코더(108)는 해당 매크로블록의 특정 부가 정보(예를 들어, 모션 정보, 공간 보외법 모드, 양자화 파라미터)를 비롯하여, 양자화기(106)로부터의 출력을 압축한다. 통상적으로 적용되는 엔트로피 코딩 기술은, 산술 코딩, 허프만 코딩, 런 랭스(run-length) 코딩, LZ(Lempel Ziv) 코딩 등이 있다. 엔트로피 코더(108)는 통상 다른 종류의 정보에 다른 코딩 기술을 적용한다.
엔트로피 코더(108)에서 압축된 비디오 정보는 인코더 버퍼(110)에 버퍼링된다. 인코더 버퍼(110)의 버퍼 레벨 지시자는 데이터 레이트 조절을 위해 인코더 QP 제어기(30)로 제공된다. 인코더 버퍼(110)에 저장된 비디오 정보는 예를 들어 고정된 전송율로 인코더 버퍼(110)로부터 출력 및 삭제된다.
한편, 상기에서 재구성된 현재 프레임이 후속 모션추정/보상에 필요한 경우, 역양자화기(116)는 양자화된 스펙트럼 계수에 대해 역양자화를 수행한다. 역주파수 변환기(114)는 주파수 변환기(104)의 동작을 역으로 수행하여, 역양자화기(116)의 출력으로부터 예를 들어 역DCT 변환을 통해 역차이 매크로블록이 생성된다. 이는 신호 손실 등의 영향으로 원래의 차이 매크로블록과 동일하지 않다.
현재 프레임이 인터 프레임일 경우에는, 재구성된 상기 역차이 매크로블록은 상기 모션추정/보상기(120)의 예측 매크로블록과 합쳐져서 재구성된 매크로블록을 생성하게 된다. 재구성된 매크로블록들은 프레임 저장 메모리(20)에 다음 프레임을 예측하는데 이용하기 위해 기준 프레임으로 저장된다. 이때 상기 재구성된 매크로블록은 원래의 매크로블록의 왜곡된 버전이므로 일부 실시예에서는 디블록킹(deblocking) 필터(112)를 재구성된 프레임에 적용하여, 매크로블록간 불연속성을 원활하게 한다.
한편, 인코더(10)의 QP를 제어하는 인코더 QP 제어기(30)에는 프레임 저장 메모리(20)에 저장된 현재 프레임 및 기준 프레임 등을 통해 프레임율 제어를 위한 각종 파라미터들을 업데이트하는 파라미터 업데이트부(31)와, 상기 업데이트된 파라미터들을 통해 현재 프레임의 인코딩시 타겟 비트(the number of target bits)를 추정하는 타겟비트 추정부(32)와, 상기 업데이트된 파라미터와 타겟비트에 따른 적절한 QP를 계산하는 QP계산부(33) 및 상기 업데이트된 파라미터들과 QP계산부(33)에서 계산된 QP에 따라 양자화기(106)의 QP를 적절히 조정하는 QP조정부(34)를 구비하며, 특히 본 발명의 특징에 따라 상기 업데이트된 파라미터들을 통해 영상의 복잡도를 측정하는 복잡도 측정부(35)를 구비하며, 상기 QP조정부(34)는 이러한 영상 복잡도 측정부(35)에서 측정한 영상 복잡도를 고려하여 QP를 조정하게 된다.
도 2는 일반적인 비디오 인코딩시 영상 복잡도 측정 동작의 일 예시 흐름도로서, 상기 Jiang에 개시된 바와 같다. 도 2를 참조하여 먼저 기존의 비디오 인코딩시 영상 복잡도 측정 동작에 대해 설명하기로 한다. 먼저 310과정에서는 현재 프레임 및 기준 프레임 등을 통해 프레임율 제어를 위한 각종 파라미터들을 업데이트하며, 이후 350과정에서 영상 복잡도를 측정하게 되며, 이후 340과정에서는 측정된 복잡도로 적절히 QP를 조정하며, 이후 360과정에서는 상기 조정된 QP에 따른 RDO(Rate Distortion Optimization) 처리를 수행하며, 이후 370과정에서는 MC(Motion Compensation) 처리를 수행한다. 이때 상기 350과정은 복잡도 측정부(35)에서 수행되는 과정이며, 340과정은 QP 조정부(34)에 의해 수행되며, 360과정은 주파수 변환기(104), 양자화기(106), 엔트로피 코더(108)에 의해 수행되며, 또한 370과정은 모션추정/보상기(120)에서 수행되는 과정으로 볼 수 있다.
상기 350과정은 상기 수학식 1에 따라, 상기 370과정의 MC 처리를 수행한 후의 이전 프레임의 해당 입력된 프레임과 재구성된 프레임과의 오차 정보를 통해 CMAD를 계산하는 단계(351단계)와, 이전 프레임들의 계산된 CMAD들의 변이 상태 등을 이용하여 상기 PMAD를 계산하는 단계(352단계) 및 상기 계산한 PMAD와 이전프레임까지의 CMAD 평균값에 대한 비율을 계산하여 영상 복잡도인 RatioMAD를 계산하는 단계(353단계)를 수행하여 이루어진다.
한편 상기 실시예의 설명에서는, 복잡도 측정부(35)에서 측정된 영상 복잡도가 QP 조정부(34)에 제공되어, QP 조정부(34)에서 QP를 조정을 위한 일부 인자로 사용되는 것으로 설명하였으나, 이외에도 영상 복잡도는 타겟비트 추정부(32)나 QP 계산부(33)에 제공되어, 타겟비트 추정을 위한 인자나 QP 계산을 위한 추가적인 인자로 사용될 수도 있다.
이러한 영상 복잡도 측정 방식은 상기 Jiang에 개시된 바와 동일할 수 있으나, 상기 Jiang에서는 앞서 설명한 바와 같이, 헤더 비트에 대해서는 고려하지 않았다. 이와는 달리, 본 발명에서는 같은 헤더 비트까지 고려하여 하기 수학식 2에 따라 영상 복잡도 CM을 측정하게 된다.
Figure 112006054242221-pat00003
상기 수학식 2에서 RatioMAD는 상기 수학식 1과 같이 기존 방식대로 구해진다. 또한 RatioMVD는 헤더 비트, 특히 헤더 비트 중에서 영상의 움직임을 가장 잘 나타내는 것으로 선택된 MVD(Motion Vector Difference) 비트들을 가지고 계산한 본 발명의 특징에 따른 영상 복잡도 파라미터이다. ε은 가중치(weighting factor)로서, 헤더 비트와 텍스처 비트를 이용한 복잡도 측정치간의 비중을 적절히 조절한다. i는 i번째 프레임을 의미한다. 상기 RatioMVD는 하기 수학식 3에 따라 구해질 수 있다.
Figure 112006054242221-pat00004
상기 수학식 3에서 AMVD는 프레임내 모든 매크로블록 MVD 비트 평균값을 나타낸다.
상기 수학식 3에 따르면, 현재 프레임(i번째)의 RatioMVD는 이전 프레임의 AMVD와, 이전프레임까지의 모든 AMVD의 평균값에 대한 비율로 구해짐을 알 수 있다.
도 3은 본 발명의 일 실시예에 따른 비디오 인코딩시 영상 복잡도 동작의 일 예시 흐름도이다. 도 3에 도시된 동작은 도 2에 도시된 동작과 유사하게 310과정에서 각종 파라미터들을 업데이트하며, 이후 350'과정에서 영상 복잡도를 측정하고, 이후 340과정에서는 측정된 복잡도로 적절히 QP를 조정하고, 이후 360과정에서는 상기 조정된 QP에 따른 RDO 처리를 수행하며, 이후 370과정에서는 MC 처리를 수행한다. 이때 상기 350'과정은 복잡도 측정부(35)에서 수행되는 과정이며, 340과정은 QP 조정부(34)에 의해, 360과정은 주파수 변환기(104), 양자화기(106), 엔트로피 코더(108)에 의해 수행되며, 또한 370과정은 모션추정/보상기(120)에서 수행되는 과정으로 볼 수 있다. 이때, 상기 복잡도 측정부(35)에서 측정된 영상 복잡도는 타겟비트 추정부(32)나 QP 계산부(33)에서 타겟비트 추정을 위한 인자나 QP 계산을 위한 추가적인 인자로 사용될 수도 있다.
상기 350'과정은 도 2에 도시된 과정과 마찬가지로 상기 수학식 1에 따라 CMAD를 계산하는 단계(351단계)와, PMAD를 계산하는 단계(352단계) 및 RatioMAD를 계산하는 단계(353단계)를 구비하며, 아울러, 본 발명의 특징에 따라 상기 수학식 2, 3에 따른 AMVD를 계산하는 단계(354단계)와, RatioMVD를 계산하는 단계(356단계) 및 상 RatioMAD와 RatioMVD를 이용하여 최종적인 영상 복잡도 CM을 계산하는 단계(357)를 추가로 구비한다.
처음으로 입력되는 영상을 0번째 프레임이라 순서를 매기면 일반적으로 레이트 컨트롤은 2번째 프레임부터 영향을 미친다. 따라서 상기 수학식 2는 i값이 2이상에서부터 유효하다. 영상 프레임이 입력되면 H.264/AVC는 주어진 양자화 파라미터(QP)값으로 RDO를 수행한다. RDO 이후 최적의 모드가 선정되면 그에 따른 헤더 비트를 얻는다. 본 발명에서는 헤더 비트 중 MVD 비트 정보를 이용하여 상기 수학식 3의 RatioMVD를 얻는다. RatioMAD는 RDO 과정 이전에 계산되어진다. 이 두 값을 상기 수학식 3과 같이 조합시켜 영상 복잡도를 측정한다. 여기서 RatioMVD는 현재 프레임을 이용한 예측값은 아니지만 이를 현재 프레임의 실시간 영상 복잡도 측정을 위한 값으로서 이용할 수 있다. 특히 이러한 RatioMVD는 하이모션의 영상(즉 영상 복잡도가 높은 영상)이 연속될 경우에 더욱 의미가 있게 된다.
상기와 같이 본 발명의 일 실시예에 따른 영상 복잡도 측정 동작이 수행될 수 있으며, 한편 상기한 본 발명의 설명에서는 구체적인 실시예에 관해 설명하였으나 여러 가지 변형이 본 발명의 범위를 벗어나지 않고 실시될 수 있다. 따라서 본 발명의 범위는 설명된 실시예에 의하여 정할 것이 아니고 청구범위와 청구범위의 균등한 것에 의하여 정하여져야 할 것이다.
상기한 바와 같이, 본 발명의 영상 복잡도 측정 방법은 주어진 비트율이 낮고 프레임율이 높은 응용분야에서 영상 복잡도를 보다 정확하고 실시간으로 측정할 수 있으며, 이를 통해 레이트 컨트롤 수행시 제한된 비트 자원을 효율적으로 사용 하여 향상된 비디오 코딩 성능을 나타낼 수 있다.

Claims (8)

  1. 프레임별 매크로블록 단위로 처리되는 실시간 영상의 복잡도 측정 방법에 있어서,
    이전 프레임에서 상기 매크로블록 단위로 처리되는 정보의 헤더 비트 중 미리 설정된 값의 상태를 확인하는 과정과,
    이전 프레임까지의 상기 매크로블록 단위로 처리되는 정보의 헤더 비트 중 상기 미리 설정된 값의 상태를 확인하는 과정과,
    상기 확인한 상태들을 비교하여 현재 프레임의 영상 복잡도를 파악함을 특징으로 하는 영상 복잡도 측정 방법.
  2. 제1항에 있어서, 상기 헤더 비트 중 미리 설정된 값은 MVD(Motion Vector Difference)임을 특징으로 하는 영상 복잡도 측정 방법.
  3. 제2항에 있어서, 상기 확인한 상태를 비교하는 것은 상기 이전 프레임의 모든 매크로블록의 MVD의 평균과 상기 이전 프레임까지의 모든 매크로블록의 MVD의 평균값에 대한 비율로 구함을 특징으로 하는 영상 복잡도 측정 방법.
  4. 프레임별 매크로블록 단위로 처리되는 영상의 복잡도 측정 방법에 있어서,
    이전 프레임에서 상기 매크로블록 단위로 처리되는 정보의 헤더 비트 중 미리 설정된 값의 상태의 평균을 확인하는 과정과,
    이전 프레임까지의 상기 매크로블록 단위로 처리되는 정보의 헤더 비트 중 상기 미리 설정된 값의 평균을 확인하는 과정과,
    상기 확인한 상태들을 비교하여 현재 프레임의 영상 복잡도를 파악함을 특징으로 하는 영상 복잡도 측정 방법.
  5. 제3항에 있어서, 상기 헤더 비트 중 미리 설정된 값은 MVD(Motion Vector Difference)임을 특징으로 하는 영상 복잡도 측정 방법.
  6. 프레임별 매크로블록 단위로 처리되는 영상의 복잡도 측정 방법에 있어서,
    이전 프레임들 각각의 해당 원본 영상의 프레임과 인코딩을 거쳐 재구성된 프레임과의 오차 정보를 통해 계산되는 CMAD(actually Computed Mean Absolute Difference)의 평균값과, 이전 프레임들의 계산된 상기 CMAD들의 상태를 이용하여 계산되는 PMAD(Predicted Mean Absolute Difference)에 대한 비율로서 계산되는 텍스처 비트의 영상 복잡도인 RatioMAD를 계산하는 과정과,
    이전 프레임에서 상기 매크로블록 단위로 처리되는 정보의 헤더 비트 중 미리 설정된 값의 평균과, 이전 프레임까지의 상기 매크로블록 단위로 처리되는 정보의 헤더 비트 중 상기 미리 설정된 값의 평균에 대한 비율로서 계산되는 헤더 비트의 영상 복잡도를 계산하는 과정과,
    상기 텍스처 비트의 영상 복잡도와 상기 헤더 비트의 영상 복잡도를 이용하여 현재 프레임의 영상 복잡도를 측정하는 과정을 포함함을 특징으로 하는 영상 복잡도 측정 방법.
  7. 제6항에 있어서, 상기 헤더 비트 중 미리 설정된 값은 MVD(Motion Vector Difference)임을 특징으로 하는 영상 복잡도 측정 방법.
  8. 제7항에 있어서, 상기 헤더 비트의 영상 복잡도인 RatioMVD는 하기 수학식 4에 따라 구해짐을 특징으로 하는 영상 복잡도 측정 방법.
    Figure 112006054242221-pat00005
    상기 수학식 3에서 AMVD는 해당 번째(i번째 또는 j번째)의 프레임의 모든 매 크로블록의 MVD 비트 평균값을 의미한다.
KR1020060070862A 2006-07-27 2006-07-27 실시간 영상 복잡도 측정 방법 KR100790148B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020060070862A KR100790148B1 (ko) 2006-07-27 2006-07-27 실시간 영상 복잡도 측정 방법
US11/880,203 US20080025401A1 (en) 2006-07-27 2007-07-20 Method for measuring real-time image complexity

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060070862A KR100790148B1 (ko) 2006-07-27 2006-07-27 실시간 영상 복잡도 측정 방법

Publications (1)

Publication Number Publication Date
KR100790148B1 true KR100790148B1 (ko) 2008-01-02

Family

ID=38986254

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060070862A KR100790148B1 (ko) 2006-07-27 2006-07-27 실시간 영상 복잡도 측정 방법

Country Status (2)

Country Link
US (1) US20080025401A1 (ko)
KR (1) KR100790148B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101441886B1 (ko) 2008-06-25 2014-09-25 에스케이텔레콤 주식회사 영상 코덱의 복잡도 측정 방법 및 장치

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10298939B2 (en) * 2011-06-22 2019-05-21 Qualcomm Incorporated Quantization in video coding
CN110324622B (zh) 2018-03-28 2022-09-23 腾讯科技(深圳)有限公司 一种视频编码码率控制方法、装置、设备及存储介质
CN110895789B (zh) * 2018-09-13 2023-05-02 杭州海康威视数字技术股份有限公司 一种人脸美颜方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030014716A (ko) * 2001-04-18 2003-02-19 코닌클리케 필립스 일렉트로닉스 엔.브이. 미디어 프로세서에서 mpeg2 디코딩의 동적인 복잡도예측 및 조절
KR20030090308A (ko) * 2002-05-22 2003-11-28 삼성전자주식회사 적응적 동영상 부호화 및 복호화 방법과 그 장치
KR20040079084A (ko) * 2003-03-06 2004-09-14 삼성전자주식회사 시간적 복잡도를 고려한 적응적 동영상 부호화와 그 장치

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050036548A1 (en) * 2003-08-12 2005-02-17 Yong He Method and apparatus for selection of bit budget adjustment in dual pass encoding
US8311113B2 (en) * 2004-11-12 2012-11-13 Broadcom Corporation Method and system for using motion prediction to equalize video quality across intra-coded frames
US20090225829A2 (en) * 2005-07-06 2009-09-10 Do-Kyoung Kwon Method and apparatus for operational frame-layerrate control in video encoder

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030014716A (ko) * 2001-04-18 2003-02-19 코닌클리케 필립스 일렉트로닉스 엔.브이. 미디어 프로세서에서 mpeg2 디코딩의 동적인 복잡도예측 및 조절
KR20030090308A (ko) * 2002-05-22 2003-11-28 삼성전자주식회사 적응적 동영상 부호화 및 복호화 방법과 그 장치
KR20040079084A (ko) * 2003-03-06 2004-09-14 삼성전자주식회사 시간적 복잡도를 고려한 적응적 동영상 부호화와 그 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101441886B1 (ko) 2008-06-25 2014-09-25 에스케이텔레콤 주식회사 영상 코덱의 복잡도 측정 방법 및 장치

Also Published As

Publication number Publication date
US20080025401A1 (en) 2008-01-31

Similar Documents

Publication Publication Date Title
KR101971909B1 (ko) 이산 여현 변환/이산 정현 변환을 선택적으로 이용하는 부호화/복호화 장치 및 방법
KR100790149B1 (ko) 비디오 인코딩 데이터율 제어 방법
US8031774B2 (en) Video encoding methods and systems with frame-layer rate control
US20090097546A1 (en) System and method for enhanced video communication using real-time scene-change detection for control of moving-picture encoding data rate
US8094716B1 (en) Method and apparatus of adaptive lambda estimation in Lagrangian rate-distortion optimization for video coding
US20070009025A1 (en) Method and apparatus for operational frame-layer rate control in video encoder
US8948242B2 (en) Encoding device and method and multimedia apparatus including the encoding device
US8451891B2 (en) Rate control method for video encoder using Kalman filter and FIR filter
KR20070110517A (ko) 부호화 장치 및 부호화 장치를 구비한 동화상 기록 시스템
KR100790148B1 (ko) 실시간 영상 복잡도 측정 방법
KR100834625B1 (ko) 비디오 인코딩 데이터율 제어를 위한 실시간 장면 전환검출 방법
KR100800838B1 (ko) 비디오 인코딩 데이터율 제어 방법
KR100708182B1 (ko) 동영상 부호화기의 비트율 제어 장치 및 방법
KR101377833B1 (ko) 분석적이고 경험적인 하이브리드 인코딩 왜곡 모델링을 위한 방법 및 장치
KR101336445B1 (ko) 비디오 인코딩 데이터율 제어 방법
KR101490521B1 (ko) 동영상 부호화 데이터율 제어를 위한 실시간 장면 전환검출 방법, 이를 이용한 영상통화 품질 향상 방법, 및영상통화 시스템
JP3149673B2 (ja) 映像符号化装置、映像符号化方法、映像再生装置及び光ディスク
KR100963322B1 (ko) 실시간 h.264를 위한 적응적 프레임 비트율 제어 방법
KR100809013B1 (ko) 복잡도 가변형 동영상 부호화 장치 및 그 방법
JP3937248B2 (ja) 映像信号符号化方法及び映像信号符号化装置
JPH10108197A (ja) 画像符号化装置、画像符号化制御方法および画像符号化制御用プログラムを記録した媒体
JP3918208B2 (ja) 映像データ圧縮装置およびその方法
JP3765129B2 (ja) 符号化装置および符号化方法
JP3765130B2 (ja) 符号化装置および符号化方法
JP4134572B2 (ja) 圧縮動画像の再符号化プログラム、再符号化装置および方法

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: 20121129

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20131128

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20141127

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee