KR20160139233A - 비트율 제어를 이용한 영상 부호화 장치 - Google Patents

비트율 제어를 이용한 영상 부호화 장치 Download PDF

Info

Publication number
KR20160139233A
KR20160139233A KR1020150073769A KR20150073769A KR20160139233A KR 20160139233 A KR20160139233 A KR 20160139233A KR 1020150073769 A KR1020150073769 A KR 1020150073769A KR 20150073769 A KR20150073769 A KR 20150073769A KR 20160139233 A KR20160139233 A KR 20160139233A
Authority
KR
South Korea
Prior art keywords
encoding
unit
rate control
bit rate
cost
Prior art date
Application number
KR1020150073769A
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 KR1020150073769A priority Critical patent/KR20160139233A/ko
Publication of KR20160139233A publication Critical patent/KR20160139233A/ko

Links

Images

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
    • 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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • 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
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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

Landscapes

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

Abstract

본 발명은 효율적인 비트율 제어를 통해 영상을 효율적으로 부호화할 수 있는 영상 부호화 장치에 관한 것이다.
본 발명의 일실시예에 의한 영상 부호화 장치는 부호화 그룹 단위로 비트를 할당하여 부호화를 수행하는 부호화 장치에 있어서, 현재 부호화 그룹 내에 존재하는 부호화 단위의 코스트를 계산하되, 프레임 타입이 I 프레임인 경우는 인트라 코스트를 계산하고, 상기 프레임 타입이 I 프레임이 아닌 경우는 인트라 코스트 및 인터 코스트를 각각 계산하는 전처리부; 상기 계산된 코스트에 근거하여 현재 부호화 그룹에 존재하는 모든 부호화 단위의 목표 비트 및 양자화 파라미터(QP, Quantization Parameter) 값을 예측하는 비트율 제어 정보 예측부; 참조하는 이전 부호화 그룹의 실제 부호화 결과 및 상기 예측된 목표 비트를 이용하여 상기 목표 비트 및 상기 예측된 양자화 파라미터 값을 수정하는 비트율 제어 정보 결정부; 상기 수정된 양자화 파라미터 값을 이용하여 상기 현재 부호화 그룹의 부호화를 수행하는 부호화부; 및 상기 현재 부호화 그룹의 실제 부호화 결과를 이용하여 현재 버퍼 상황 및 비트율 제어 파라미터를 포함하는 비트율 제어 정보를 갱신하는 비트율 제어 정보 갱신부를 포함할 수 있다.

Description

비트율 제어를 이용한 영상 부호화 장치{DEVICE FOR VIDEO ENCODING USING BIT RATE CONTROL}
본 발명은 영상 부호화 장치에 관한 것으로, 보다 상세하게는 효율적인 비트율 제어를 통해 영상을 효율적으로 부호화할 수 있는 영상 부호화 장치에 관한 것이다.
MPEG2부터 H.264/MPEG-4 AVC로 영상 부호화 기술이 발전하는 동안 이 부호화기들은 다양한 기술들을 이용하여 영상 부호화 효율을 향상시켜 왔다. 최근에는 초고해상도 영상인 UHD(Ultra High Definition)의 관심으로 UHD 영상 부호화를 위한 HEVC(High Efficiency Video Coding)의 표준화가 완료되며 H.264/MPEG-4 AVC보다 2배 이상의 부호화 효율을 향상시켰다. 관련된 선행문헌으로 공개특허 제10-2013-0032722호가 있다.
부호화 효율 향상을 위해 HEVC에는 기존의 영상 부호화 기술 대비 다양한 모듈들이 추가되었다. 특히, 비트율 제어 기술은 HEVC의 표준화로 새로운 연구가 진행되었으며, 현재 HEVC에 검증을 위한 참조소프트웨어 HM(HEVC test Model)에는 비트율 제어 기술인 R-lambda model이 사용되고 있다.
특히, 최근에는 정확한 영상 부호화를 위해서 효율적인 비트율 제어 기술에 대한 연구가 필요한 실정이다.
본 발명의 목적은 비트율 제어 기술을 이용하여 정확한 영상 부호화를 수행할 수 있는 비트율 제어를 이용한 영상 부호화 장치를 제공하는 데 있다.
상기 목적을 달성하기 위해 본 발명의 일실시예에 의하면, 부호화 그룹 단위로 비트를 할당하여 부호화를 수행하는 부호화 장치에 있어서, 현재 부호화 그룹 내에 존재하는 부호화 단위의 코스트를 계산하되, 프레임 타입이 I 프레임인 경우는 인트라 코스트를 계산하고, 상기 프레임 타입이 I 프레임이 아닌 경우는 인트라 코스트 및 인터 코스트를 각각 계산하는 전처리부; 상기 계산된 코스트에 근거하여 현재 부호화 그룹에 존재하는 모든 부호화 단위의 목표 비트 및 양자화 파라미터(QP, Quantization Parameter) 값을 예측하는 비트율 제어 정보 예측부; 참조하는 이전 부호화 그룹의 실제 부호화 결과 및 상기 예측된 목표 비트를 이용하여 상기 목표 비트 및 상기 예측된 양자화 파라미터 값을 수정하는 비트율 제어 정보 결정부; 상기 수정된 양자화 파라미터 값을 이용하여 상기 현재 부호화 그룹의 부호화를 수행하는 부호화부; 및 상기 현재 부호화 그룹의 실제 부호화 결과를 이용하여 현재 버퍼 상황 및 비트율 제어 파라미터를 포함하는 비트율 제어 정보를 갱신하는 비트율 제어 정보 갱신부를 포함하는 부호화 장치가 개시된다.
본 발명의 일실시예에 의한 부호화 장치는 영상 또는 부호화 단위의 특성 분석을 통해 보다 정확한 비트율 제어를 수행할 수 있다.
도 1은 본 발명의 일실시예와 관련된 영상 부호화의 대표적인 부호화 그룹을 도식화한 것이다.
도 2는 본 발명의 일실시예와 관련된 부호화 장치의 블록도이다.
도 3은 본 발명의 일실시예와 관련된 전처리부의 블록도이다.
도 4은 본 발명의 일실시예와 관련된 비트율 제어 정보 예측부의 블록도이다.
도 5는 본 발명의 일실시예와 관련된 프레임 동시 부호화 기술 사용 시 도 4에 도시된 버퍼 및 파라미터 초기화의 동작을 나타낸 플로차트이다.
도 6는 본 발명의 일실시예와 관련된 부호화 그룹 동시 부호화 기술 사용 시 도 4에 도시된 버퍼 및 파라미터 초기화의 동작을 나타낸 플로차트이다.
도 7은 도 4에 도시된 프레임 목표 비트량 예측의 동작을 나타낸 블록도이다.
도 8은 본 발명의 일실시예와 관련된 비트율 제어 정보 결정부의 블록도이다.
도 9는 도 8에 도시된 목표비트 수정의 동작을 나타낸 블록도이다.
도 10은 도 8에 도시된 Lambda 및 QP 설정의 동작을 나타낸 블록도이다.
도 11은 도 10에 도시된 참조 부호화 단위의 QP 확인의 동작을 나타낸 블록도이다.
도 12는 본 발명의 일실시예와 관련된 비트율 제어 정보 갱신부의 블록도이다.
도 13은 도 12에 도시된 버퍼 상태 및 남은 비트 정보 갱신의 동작을 나타낸 블록도이다.
도 14는 본 발명의 일실시예와 관련된 전역 관리부의 블록도이다.
도 15은 도 14에 도시된 전역 관리부에 저장된 코스트 및 파라미터 값을 이용하는 동작을 나타낸 플로차트이다.
이하, 본 발명의 일실시예와 관련된 부호화 장치 및 방법에 대해 도면을 참조하여 설명하도록 하겠다.
본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "구성된다" 또는 "포함한다" 등의 용어는 명세서상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
본 명세서 사용되는 용어는 다음과 같이 정의 또는 설명될 수 있다.
본 명세서에서 부호화 단위란 개별적으로 부호화를 수행할 단위로 프레임 혹은 CTU(Coding Tree Unit)가 부호화 단위가 될 수 있다.
상기 CTU(코딩 트리 유닛, Coding Tree Unit)은 부호화의 기본 프로세스 유닛으로, 프레임의 인코딩 시의 가장 큰 처리 블록이 될 수 있다. 예를 들어, CTU는 그 크기가 64X64일 수 있다.
또한, 본 명세서에서 부호화 그룹은 비트율 제어 정보 예측이 진행되는 단위로, 이하에서 부호화 그룹 단위는 GOP(Group Of Pictures)인 것을 예로 설명하도록 하겠다. 상기 비트율 제어 정보는 부호화 그룹마다 일정한 비트가 할당되도록 할 수 있는 정보로 현재 버퍼 상황 및 비트율 제어 파라미터인 알파, 베타 값이 포함될 수 있다. 상기 현재 버퍼 상황은 부호화 그룹에 할당한 비트를 기반으로 현재 부호화 그룹 내 남은 비트에 대한 정보를 포함할 수 있다.
상기 비트율 제어 파라미터에 대해서는 후술하도록 하겠다.
본 명세서에서 프레임 동시 부호화는 부호화 속도 향상을 위해 순차적으로 부호화하던 프레임들을 동시에 부호화하는 기술을 의미한다.
본 명세서에서 부호화 그룹 동시 부호화는 부호화 속도 향상을 위해 순차적으로 부호화하던 부호화 그룹들을 동시에 부호화하는 기술을 의미한다.
통상적으로 영상은 연속적인 프레임으로 구성될 수 있으며, 각 프레임들은 블록과 같은 영역으로 분할될 수 있다. 또한, 이하에 기재된 "프레임"이라는 용어는 영상(image), 픽쳐(picture) 등과 같은 동등한 의미를 갖는 다른 용어로 대치되어 사용될 수 있다.
본 명세서에서는 정의 또는 설명된 용어는 영문 약자로 표현되기도 하고, 한글로 표현되기도 하나, 그 의미는 동일하다.
도 1은 본 발명의 일실시예와 관련된 영상 부호화의 대표적인 부호화 그룹을 도식화한 것이다.
도시된 바와 같이, 부호화 그룹이란 GOP(Group Of Pictures) 혹은 I 프레임에서 시작되어 다음 I 프레임이 나올 때 까지를 의미하며, 프레임 타입은 I, P 그리고 B가 있다. 본 실시예에서의 부호화 그룹은 I 프레임에서 시작되어 다음 I 프레임이 나올 때 까지를 말한다. I 프레임과 I 프레임 사이에는 P와 B 프레임이 하나도 없을 수 있고, 무수히 많이 올 수도 있다. 여기서 I 프레임은 인트라 프레임이라고도 하며, P와 B 프레임은 인터 프레임이라고도 한다.
이하, 실시예에서는 R-lambda model을에 대해 간략하게 설명하고, 이를 이용하여 비트율 제어를 수행하는 방법에 대해 설명하도록 하겠다.
R-lambda model은 크게 I 프레임의 Distortion 계산, 부호화 단위의 목표 비트 할당, 할당된 목표 비트에 따른 부호화 단위의 양자화 파라미터(QP, Quantization Parameter)결정, 부호화 단위의 부호화 완료 후 정보 업데이트 이렇게 3단계로 구분될 수 있다.
I 프레임의 Distortion은 목표 비트 할당을 위해 계산되며, 인트라 코스트라고 한다.
부호화 단위의 목표 비트 할당에서는 부호화할 단위가 사용할 목표 비트를 결정한다. 목표 비트는 현재 부호화 그룹에서 사용 가능한 총 비트 중 현재 부호화 단위의 프레임 타입과 부호화 단위가 포함된 부호화 그룹에 따라 비율이 달리 적용되어 결정될 수 있다. 하기 수학식 1은 프레임 타입이 I일 경우 목표 비트 할당 식이다.
Figure pat00001
상기 수학식 1에서 c, d, e, f는 상수이며, CostIntra는 I 프레임의 Distortion 값이다. 프레임 타입이 I인 경우를 제외하고는 부호화 그룹에 따라 일정 비율로 목표 비트가 할당된다.
할당된 목표 비트에 따른 부호화 단위의 QP결정은 Bit Rate와 Lambda의 상관 관계를 통해 QP가 결정된다. 할당된 목표 비트와 초기 설정된 혹은 업데이트된 상수 파라미터(α와 β)와 부호화 단위의 프레임 타입이 I일 경우는 추가적으로 Distortion(Cost)을 이용하여 Lambda는 결정하고, 그 Lambda를 통해 부호화 단위의 최종 QP가 결정된다. 하기 수학식 2는 부호화 단위의 프레임 타입이 I일 경우 Lambda 계산 식이며, 수학식 3은 부호화 단위의 프레임 타입이 P 혹은 B일 경우 Lambda 계산 식이고, 수학식 4는 앞서 계산된 Lambda값을 이용하여 QP를 결정하는 계산식이다.
Figure pat00002
Figure pat00003
Figure pat00004
수학식 4에서 결정된 QP로 부호화 단위는 부호화를 진행하며, 비트스트림을 출력한다. 부호화 단위의 부호화 완료 후 정보 업데이트에서는 이 출력 비트스트림과 할당된 목표비트와의 차이에 따라 상수 파라미터(α와 β)를 업데이트하여 다음 부호화 단위의 QP 결정에 사용된다.
수학식 5는 프레임 타입이 I일 경우 상수 파라미터(α와 β)를 업데이트하는 계산식이며, 수학식 6는 부호화 단위의 프레임 타입이 P 혹은 B일 경우 상수 파라미터(α와 β)를 업데이트하는 계산식이다.
Figure pat00005
Figure pat00006
도 2는 본 발명의 일실시예와 관련된 부호화 장치의 블록도이다.
도시된 바와 같이, 부호화 장치(100)는 전처리부(200), 비트율 제어 정보 예측부(210), 비트율 제어 정보 결정부(220), 부호화부(230), 비트율 제어 정보 갱신부(240), 전역 관리부(250)를 포함할 수 있다.
전처리부(200)는 부호화 단위의 목표비트 할당에 앞서 부호화 단위의 특성을 분석해 목표 비트 할당의 정확도를 높이는 역할을 수행할 수 있다.
비트율 제어 정보 예측부(210)는 분석된 부호화 단위의 특성을 이용하여 부호화 그룹내의 부호화 단위들에 1차 목표 비트와 1차 QP를 예측할 수 있다.
비트율 제어 정보 결정부(220)는 부호화 그룹 내의 부호화 단위들의 실제 부호화 결과와 참조하는 부호화 단위의 실제 부호화 QP를 반영하여 목표 비트를 수정하고, 그에 따라 QP를 재설정할 수 있다.
부호화부(230)는 비트율 제어 정보 결정부(220)에서 결정된 정보를 이용하여 실제 부호화를 진행할 수 있다.
비트율 제어 정보 갱신부(240)는 현재 부호화 그룹의 실제 부호화 결과를 이용하여 부호화 그룹 내의 남은 비트와 비트율 제어 파라미터 등의 비트율 제어 정보를 다음 부호화를 위해 갱신할 수 있다.
전역 관리부(250)는 부호화 실행중인 영상의 전체적인 특성 정보를 저장하고, 그 정보를 부호화에 적용할 수 있게 도와주는 역할을 수행할 수 잇다.
도 3은 본 발명의 일실시예와 관련된 전처리부의 블록도이다.
본 발명의 일실시예에 따른 전처리부(200)는 부호화 단위의 특성을 Distortion 값으로 계산할 수 있다. 상기 계산된 Distortion은 코스트라고 하며, 부호화 단위의 부호화 복잡도를 의미하기도 한다.
전처리부(200)는 먼저 입력 부호화 단위의 프레임 타입을 판단한다(S300). 만약 프레임 타입이 I 라면 인트라 코스트만(Intra cost)을 계산한다(S310). 그 외의 부호화 단위는 인트라 코스트(S320)와 인터 코스트(S330) 모두를 계산하며, 둘 중에 작은 값을 갖는 코스트가 최종 부호화 단위의 코스트로 결정된다.
본 명세서에서 인트라 코스트(Intra cost)란, 부호화 단위가 인트라 모드로 부호화 될 경우 그 부호화 단위가 얼마의 비트를 사용하여 부호화 될 것인지를 나타내는 코스트이다. 또한, 인터 코스트(Inter cost)란, 부호화 단위가 인터 모드로 부호화 될 경우 그 부호화 단위가 얼마의 비트를 사용하여 부호화 될 것인지를 나타내는 코스트이다. 실제로 부호화가 최종적으로 완료 되어야 얼마의 비트를 사용하여 부호화 되었는지 알 수 있다. 하지만 부호화 전에 그 비트를 예측하기 위해 코스트를 계산하여 사용할 수 있다.
인트라 코스트의 경우, 부호화 단위의 원본 픽셀에 MSE 혹은 SAD나 SATD 값을 구하여 코스트로 사용할 수 있고, 또는 원본 픽셀을 사용해 실제 인트라 모드의 예측을 간략하게 수행하여 예측된 값과 원본 픽셀의 차이값에 MSE 혹은 SAD나 SATD 값을 코스트로 사용할 수 있다.
인터 코스트의 경우, 부호화 단위의 원본 픽셀과 참조하는 프레임의 원본 픽셀을 이용하여 실제 인터 모드 예측을 간략하게 수행하여 예측된 값과 원본 픽셀 사이의 차이값에 MSE 혹은 SAD나 SATD 값을 구하여 코스트로 사용할 수 있다.
만약 부호화 단위가 프레임 단위라면, 코스트 계산은 CTU 단위로 이루어질 수 있다.
한 프레임 내의 모든 부호화 단위의 코스트 계산이 완료 되었다면 프레임 타입이 I가 아닐 경우 프레임의 인트라 비율을 계산하여(S340), Scene Change 여부를 결정한다(S350). 한 프레임내의 부호화 단위의 코스트가 인터 코스트보다 인트라 코스트로 일정 비율 이상 결정되었다면, 이 프레임의 프레임 타입은 I로 바꿔 부호화가 될 수 있다.
인터 프레임인 경우는 모든 CU(코딩 블록, Coding Unit)가 인트라 예측과 인터 예측을 수행하여, 그 중에 가장 효율적인 예측 방법을 선택할 수 있다. 그래서 인터 프레임은 프레임 내부에 CU들이 인트라 모드 혹은 인터 모드 중 선택적으로 부호화될 수 있다. 인트라 비율은 이 때 인터 프레임내에 인트라 모드로 선택된 CU들의 비율을 나타낸다. 예를 들어, 인터 프레임내에 인트라 모드를 선택한 CU와 인터 모드를 선택한 CU가 1:1이라면, 인트라 비율은 50%가 되고, 3:1이라면 인트라 비율은 75%가 된다.
도 4은 본 발명의 일실시예와 관련된 비트율 제어 정보 예측부의 블록도이다.
비트율 제어 정보 예측부(210)는 부호화 그룹 안에 모든 부호화 단위(예: 프레임)의 목표 비트량과 QP를 전처리부(200)에서 계산한 코스트를 기반으로 예측할 수 있다.
비트율 제어 정보 예측부(210)는 초기 값 혹은 비트율 제어 정보 갱신부(240)나 전역 관리부(250)에 저장된 버퍼 및 파라미터 값으로 버퍼 및 파라미터를 초기화할 수 있다(S400). 전처리부(200)에서 계산한 코스트를 이용해 프레임의 목표 비트량을 예측한다(S410). 프레임 타입이 I인 경우 앞서 설명한 식 1과 같이 목표 비트량을 계산하며, 프레임 타입이 P 혹은 B일 경우는 하기 수학식 7과 같이 목표 비트량을 계산한다.
Figure pat00007
Figure pat00008
은 부호화 그룹에서 사용할 수 있는 총 비트이며,
Figure pat00009
은 식 1에서 구한 I 프레임의 목표 비트,
Figure pat00010
는 부호화 그룹내의 I 프레임을 제외한 프레임들의 총 코스트 값, 그리고 CostInter는 목표 비트 설정이 필요한 현재 프레임의 코스트이다. 비트율 제어 정보 예측부(210)는 초기화된 버퍼 및 파라미터 값과 예측된 목표 비트량으로 프레임 QP를 예측한다(S420). QP 예측을 위해 Lambda 계산 식은 I 프레임 경우는 수학식 2를 사용하며, P 혹은 B일 경우 하기 수학식 8을 사용한다.
Figure pat00011
수학식 8에서 αInter, βInter는 비트율 제어를 위한 파라미터(이하, 비트율 제어 파라미터라 함) 값이다. 각 프레임 타입에 따라 계산된 Lambda값으로 수학식 4를 이용해 프레임 QP를 예측한다.
도 5는 본 발명의 일실시예와 관련된 프레임 동시 부호화 기술 사용 시 도 4에 도시된 버퍼 및 파라미터 초기화의 동작을 나타낸 플로차트이다.
본 발명의 일실시예에 따른 프레임 동시 부호화 기술 사용시 버퍼 및 파라미터 초기화(S400)는 참조하는 부호화 단위의 부호화가 완료되면 수행될 수 있다. 만약 참조하는 부호화 단위의 부호화가 완료되지 않았다면, 비트율 제어 정보 예측부(210)는 참조하는 부호화 단위의 부호화가 완료될 때까지 상기 초기화(S400)을 수행하지 않고 기다린다(S500). 참조하는 부호화 단위의 부호화가 완료되면, 비트율 제어 정보 예측부(210)는 비트율 제어 정보 갱신부(240)나 전역 관리부(250)에 저장된 버퍼 및 비트율 제어 파라미터 값으로 버퍼 및 비트율 제어 파라미터 값을 초기화한다(S510).
도 6는 본 발명의 일실시예와 관련된 부호화 그룹 동시 부호화 기술 사용 시 도 4에 도시된 버퍼 및 파라미터 초기화의 동작을 나타낸 플로차트이다.
부호화 그룹 동시 부호화 기술 사용 시 버퍼 및 파라미터 초기화(S400)는 이전 부호화 그룹의 부호화가 진행되면(S610) 버퍼 및 파라미터를 초기화한다. 만약 이전 부호화 그룹의 부호화가 진행되지 않았다면, 한 단계 더 이전 부호화 그룹의 부호화가 진행 되었는지 판단한다(S600). 부호화가 진행된 이전 부호화 그룹을 찾게 되면, 비트율 제어 정보 갱신부(240)나 전역 관리부(250)에 저장된 버퍼 및 비트율 제어 파라미터 값으로 버퍼 및 비트율 제어 파라미터를 초기화한다(S620).
예를 들어, 부호화 그룹 동시 부호화 기술 사용되는 경우, 비트율 제어 정보 갱신부(240)는 가장 최근에 부호화가 완료된 부호화 그룹의 부호화 결과를 이용하여 현재 부호화 그룹의 버퍼 및 비트율 제어 파라미터의 초기화를 수행할 수 있다.
도 7은 도 4에 도시된 프레임 목표 비트량 예측의 동작을 나타낸 블록도이다.
비트율 정보 예측부(210)는 현재 부호화 그룹 내에 인트라 프레임의 비트를 먼저 할당하고(S700), 현재 부호화 그룹 내에 인트라 프레임만이 존재하는 경우인지 여부를 판단(S730)하여 그 판단 결과에 따라 인터 프레임의 비트를 할당(S740)한다.
만약 비트율 제어 방법이 Constant Bit Rate(CBR)(S710, S750)이라면, Under flow 방지를 위해 버퍼 상태를 체크(S720, S760)한다. 버퍼 상태를 체크(S720, S760)시 할당된 비트로 인해 Under flow가 발생할 경우 할당 비트를 줄여 Under flow를 예방할 수 있다.
도 8은 본 발명의 일실시예와 관련된 비트율 제어 정보 결정부의 블록도이다.
비트율 제어 정보 결정부(220)는 부호화 그룹 내 부호화 단위들의 부호화가 진행됨에 따라 변화하는 상황을 반영하여 실제 부호화전 QP를 결정할 수 있다. 비트율 제어 정보 예측부(210)에서 부호화 그룹에 할당한 비트를 기반으로 현재 부호화 그룹 내 남은 비트에 따라 부호화 단위의 목표 비트를 수정(S800)하고, 수정된 목표 비트를 반영해 Lambda와 QP를 설정(S810)할 수 있다.
도 9는 도 8에 도시된 목표비트 수정의 동작을 나타낸 블록도이다.
목표비트 수정(S800)은 부호화 그룹에 할당된 비트 중 남은 비트를 계산(S900)하여, 남은 비트에 따라 부호화 단위의 목표 비트를 재설정(S910)하는 방식으로 이루어질 수 있다.
도 10은 도 8에 도시된 Lambda 및 QP 설정의 동작을 나타낸 블록도이다.
Lambda 및 QP 설정(S810)은 수정된 부호화 단위의 목표 비트로 실제로 부호화에 사용될 Lambda와 QP를 설정하는 방식으로 수행될 수 있다. 비트율 제어 정보 결정부(220)는 수정된 부호화 단위의 목표 비트를 프레임 타입에 따라 수학식 2 혹은 수학식 8을 이용하여 Lambda를 계산(S1000)하고, 계산된 Lambda를 수학식 4에 적용하여 QP를 계산(S1010)할 수 있다. 추가적으로 비트율 제어 정보 결정부(220)는 설정된 QP가 자신이 참조하는 부호화 단위의 QP를 확인(S1020)하여 상기 참조하는 부호화 단위의 QP 보다 작을 경우(S1030) QP를 참조하는 부호화 단위의 QP보다 크거나 같게 하여 부호화 단위의 목표 비트를 재설정(S1040)한다. 비트율 제어 정보 결정부(220)는 부호화 단위의 목표 비트가 재설정되면 다시 Lambda와 QP를 결정하여 부호화전 최종적으로 설정한다.
도 11은 도 10에 도시된 참조 부호화 단위의 QP 확인의 동작을 나타낸 블록도이다.
참조 부호화 단위의 QP 확인(S1020)은 참조 부호화 단위와 동일 Scene인지를 먼저 확인하는(S1100) 과정을 포함할 수 있다. 동일 Scene이라면, 비트율 제어 정보 결정부(220)는 QPref .를 참조 부호화 단위에서 사용한 동일 QP로 설정(S1110)한다. 동일 Scene이 아니라면, 비트율 제어 정보 결정부(220)는 참조 부호화 단위와는 무관하게 설정 가능한 최소 QP로 QPref .를 설정(S1120)한다.
상기과 같이 Lambda와 QP가 최종 설정되면, 부호화부(230)는 부호화 단위의 부호화를 진행한다.
도 12는 본 발명의 일실시예와 관련된 비트율 제어 정보 갱신부의 블록도이다.
비트율 제어 정보 갱신부(240)는 실제 부호화가 완료된 부호화 단위의 실제 발생 비트에 따라 비트율 제어 정보를 갱신한다. 비트율 제어 정보 갱신부(240)는 부호화 단위의 실제 발생 비트로 버퍼 상태 및 부호화 그룹 내 남은 비트 정보를 갱신(S1200)하고, 부호화 단위의 목표 비트와 실제 발생비트의 차이를 이용해 비트율 제어 파라미터 값을 갱신(S1210)한다.
도 13은 도 12에 도시된 버퍼 상태 및 남은 비트 정보 갱신의 동작을 나타낸 블록도이다.
도 12의 버퍼 상태 및 남은 비트 정보 갱신(S1200)은 비트율 제어 방법이 CBR 인가에 따라 다르게 동작되는(S1300) 방식으로 수행된다.
CBR일 경우, 비트율 제어 정보 갱신부(240)는 부호화 단위의 실제 발생 비트로 버퍼 상태를 갱신(S1310)한다. 만약 여기서 부호화 그룹 동시 부호화 기술이 적용되었다면, 비트율 제어 정보 갱신부(240)는 부호화 그룹 내 마지막 프레임의 부호화가 완료 후 현재 부호화 그룹의 마지막 버퍼와 다음 부호화 그룹의 시작 버퍼 상태를 맞춰준다(S1320, S1330, S1340). 부호화 그룹 간에 버퍼상태 조절의 한 예로 지정된 일정 크기로 설정되는 것이 기준이 되며, 만약 이 일정 크기와 맞지 않는 경우 Filler data를 채우거나 현재 부호화 그룹의 부호화가 완료되어 정보가 갱신된 후 초기화 되는 미래 부호화 그룹(아직 부호화가 시작되지 않은 부호화 그룹)의 버퍼 상태에 적용된다. 부호화 구조의 목표 비트와 실제 발생 비트의 차이는 파라미터 갱신(S1210)에 적용될 수 있다. 비트율 제어 정보 갱신부(240)는 프레임 타입에 따라 수학식 5 또는 하기 수학식 9를 이용하여 비트율 제어 파라미터를 갱신할 수 있다.
Figure pat00012
수학식 9에서
Figure pat00013
는 부호화 단위의 실제 발생 비트,
Figure pat00014
는 부호화 단위의 목표 비트이다. m, n은 업데이트 정도를 조절해주는 상수이다.
도 14는 본 발명의 일실시예와 관련된 전역 관리부의 블록도이다.
전역 관리부(250)는 부호화가 진행되고 있는 영상의 전체적인 코스트와 비트율 제어 파라미터를 갱신(S1400)하여 저장할 수 있다. 상기 영상의 전체적인 코스트와 비트율 제어 파라미터는 영상의 특성을 파악하는데 사용될 수 있다. 상기 영상의 전체적인 코스트와 비트율 제어 파라미터는 전체적인 특성에 대응되는 대표값이 될 수 있다.
Figure pat00015
수학식 10은 전역 관리부(250)의 코스트와 비트율 제어 파라미터를 갱신하는 방법의 한 예로, 평균 값이 전체적인 특성에 대응되는 대표값으로 사용되는 예이다. NumAvg .는 전역 관리부(250) 갱신된 일정 크기 이하의 샘플 수이다.
도 15은 도 14에 도시된 전역 관리부에 저장된 코스트 및 파라미터 값을 이용하는 동작을 나타낸 플로차트이다.
전역 관리부(250)에 저장된 값들은 영상의 Scene Change가 발생하였을 때 사용될 수 있다(S1500). Scene Change 발생 시 프레임 간의 특성이 변화하여 비트율 제어 갱신부(240)를 통해 갱신된 비트율 제어 파라미터 값은 부정확한 비트율 제어를 유발할 수 있다. 이러한 문제점을 보안하기 위한 방법으로 프레임의 특성을 반영한 코스트의 크기를 기준으로(S1510) 현재 비트율 제어 파라미터 값이 Scene Change 이후 부정확하다고 판단되면, 현재 비트율 제어 파라미터 값이 전역 관리부(250)에서 저장하고 있는 비트율 제어 파라미터로 대체될 수 있다(S1520).
전술한 바와 같이, 본 발명의 일실시예에 의한 부호화 장치는 영상 또는 부호화 단위의 특성 분석을 통해 보다 정확한 비트율 제어를 수행할 수 있다.
또한, 본 발명의 일실시예에 의하면, 목적에 따라 부호화 그룹가 변경되는 상황과 속도 향상을 위해 부호화 그룹 및 부호화 단위를 동시에 부호화하는 경우를 고려한 비트율 제어로 보다 정확한 영상 부호화가 가능하다.
상술한 부호화 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터로 판독 가능한 기록 매체에 기록될 수 있다. 이때, 컴퓨터로 판독 가능한 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 한편, 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터로 판독 가능한 기록매체에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM, DVD와 같은 광기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.
한편, 이러한 기록매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다.
또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
상기와 같이 설명된 부호화 장치 및 방법은 상기 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
100: 부호화 장치
200: 전처리부
210: 비트율 제어 정보 예측부
220: 비트율 제어 정보 결정부
230: 부호화부
240: 비트율 제어 정보 갱신부
250: 전역 관리부

Claims (11)

  1. 부호화 그룹 단위로 비트를 할당하여 부호화를 수행하는 부호화 장치에 있어서,
    현재 부호화 그룹 내에 존재하는 부호화 단위의 코스트를 계산하되, 프레임 타입이 I 프레임인 경우는 인트라 코스트를 계산하고, 상기 프레임 타입이 I 프레임이 아닌 경우는 인트라 코스트 및 인터 코스트를 각각 계산하는 전처리부;
    상기 계산된 코스트에 근거하여 현재 부호화 그룹에 존재하는 모든 부호화 단위의 목표 비트 및 양자화 파라미터(QP, Quantization Parameter) 값을 예측하는 비트율 제어 정보 예측부;
    참조하는 이전 부호화 그룹의 실제 부호화 결과 및 상기 예측된 목표 비트를 이용하여 상기 목표 비트 및 상기 예측된 양자화 파라미터 값을 수정하는 비트율 제어 정보 결정부;
    상기 수정된 양자화 파라미터 값을 이용하여 상기 현재 부호화 그룹의 부호화를 수행하는 부호화부; 및
    상기 현재 부호화 그룹의 실제 부호화 결과를 이용하여 현재 버퍼 상황 및 비트율 제어 파라미터를 포함하는 비트율 제어 정보를 갱신하는 비트율 제어 정보 갱신부를 포함하는 것을 특징으로 하는 부호화 장치.
  2. 제 1 항에 있어서, 상기 전처리부는
    프레임 타입이 I가 아닐 경우 프레임 내에 부호화 단위들의 인트라 코스트와 인터 코스트 비중을 이용하여 Scene Change 여부를 결정하는 것을 특징으로 하는 부호화 장치.
  3. 제 2 항에 있어서,
    상기 부호화 장치는 영상의 전체적인 특성에 대응되는 대표값을 저장하는 전역 관리부를 더 포함하되,
    상기 대표값은 상기 영상의 전체적인 코스트 및 비트율 제어 파라미터 값을 포함하는 것을 특징으로 하는 부호화 장치.
  4. 제 3 항에 있어서, 상기 비트율 제어 정보 예측부는
    Scene Change 발생 시, 현재 계산된 코스트 및 비트율 제어 파라미터 값과 상기 전역 관리부에 저장된 대표값과의 비교 결과에 근거하여 상기 계산된 코스트 및 비트율 제어 파라미터 값을 상기 저장된 영상의 전체적인 코스트 및 비트율 제어 파라미터 값으로 대체하는 것을 특징으로 하는 부호화 장치.
  5. 제 1 항에 있어서, 상기 비트율 제어 정보 예측부는,
    참조 부호화 단위의 부호화 완료 상태에 따라 현재 부호화 단위의 버퍼 및 비트율 제어 파라미터의 초기화를 수행하는 것을 특징으로 하는 부호화 장치.
  6. 제 1 항에 있어서, 상기 비트율 제어 정보 예측부는,
    가장 최근에 부호화가 완료된 부호화 그룹의 부호화 결과를 이용하여 현재 부호화 그룹의 버퍼 및 비트율 제어 파라미터의 초기화를 수행하는 것을 특징으로 하는 부호화 장치.
  7. 제 1 항에 있어서, 상기 비트율 제어 정보 결정부는
    상기 현재 부호화 그룹에 할당된 비트 중 부호화가 완료된 부호화 단위에 사용된 비트를 제외하고 남은 비트 및 상기 전처리부에서 계산된 코스트를 고려하여 현재 부호화 단위의 목표 비트를 수정하는 것을 특징으로 하는 부호화 장치.
  8. 제 7 항에 있어서, 상기 비트율 제어 정보 결정부는
    상기 수정된 목표 비트 및 참조하는 부호화 단위의 양자화 파라미터 값을 이용하여 현재 부호화 단위의 양자화 파라미터 값을 수정하는 것을 특징으로 하는 부호화 장치.
  9. 제 7 항에 있어서, 상기 비트율 제어 정보 결정부는
    현재 부호화 단위가 참조 부호화 단위와 동일한 Scene 인지 여부에 따라 현재 부호화 단위의 양자화 파라미터 값을 상기 참조 부호화 단위의 양자화 파라미터 값으로 사용하는 것을 특징으로 하는 부호화 장치.
  10. 제 7 항에 있어서, 상기 비트율 정보 갱신부는
    현재 부호화 그룹의 마지막 버퍼 상태와 다음 부호화 그룹의 초기 버퍼 상태를 동일하게 맞춰주는 것을 특징으로 하는 부호화 장치.
  11. 제 7 항에 있어서, 상기 비트율 정보 갱신부는,
    현재 부호화 그룹의 마지막 버퍼 상태와 다음 부호화 그룹의 초기 버퍼 상태를 동일하지 않고 오차가 발생했을 경우,
    상기 오차를 부호화가 시작되지 않은 미래의 부호화 그룹에 반영해 버퍼 상태를 갱신하는 것을 특징으로 하는 부호화 장치.
KR1020150073769A 2015-05-27 2015-05-27 비트율 제어를 이용한 영상 부호화 장치 KR20160139233A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150073769A KR20160139233A (ko) 2015-05-27 2015-05-27 비트율 제어를 이용한 영상 부호화 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150073769A KR20160139233A (ko) 2015-05-27 2015-05-27 비트율 제어를 이용한 영상 부호화 장치

Publications (1)

Publication Number Publication Date
KR20160139233A true KR20160139233A (ko) 2016-12-07

Family

ID=57572769

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150073769A KR20160139233A (ko) 2015-05-27 2015-05-27 비트율 제어를 이용한 영상 부호화 장치

Country Status (1)

Country Link
KR (1) KR20160139233A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190073564A (ko) * 2017-03-07 2019-06-26 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 비디오 코딩 코드율 할당 및 코딩 단위 코드율 할당 방법과, 컴퓨터 장비
US10664958B2 (en) 2017-06-16 2020-05-26 Hanwha Techwin Co., Ltd. Method of adjusting bitrate of image and image capturing apparatus, and method of generating bitrate-adjusted image
CN111787322A (zh) * 2020-08-04 2020-10-16 北京百度网讯科技有限公司 视频编码的方法、装置、电子设备及计算机可读存储介质
CN114422783A (zh) * 2021-12-07 2022-04-29 网宿科技股份有限公司 视频编码方法、电子设备及存储介质

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190073564A (ko) * 2017-03-07 2019-06-26 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 비디오 코딩 코드율 할당 및 코딩 단위 코드율 할당 방법과, 컴퓨터 장비
EP3595307A4 (en) * 2017-03-07 2020-09-16 Tencent Technology (Shenzhen) Company Limited VIDEO CODING CODE RATE ALLOCATION AND CODING UNIT CODE RATE ALLOCATION, AND COMPUTER EQUIPMENT
US10664958B2 (en) 2017-06-16 2020-05-26 Hanwha Techwin Co., Ltd. Method of adjusting bitrate of image and image capturing apparatus, and method of generating bitrate-adjusted image
CN111787322A (zh) * 2020-08-04 2020-10-16 北京百度网讯科技有限公司 视频编码的方法、装置、电子设备及计算机可读存储介质
US11463697B2 (en) 2020-08-04 2022-10-04 Beijing Baidu Netcom Science And Technology Co., Ltd. Method and apparatus for coding video, electronic device and computer-readable storage medium
CN114422783A (zh) * 2021-12-07 2022-04-29 网宿科技股份有限公司 视频编码方法、电子设备及存储介质
CN114422783B (zh) * 2021-12-07 2024-04-12 网宿科技股份有限公司 视频编码方法、电子设备及存储介质

Similar Documents

Publication Publication Date Title
RU2651181C2 (ru) Кодирование и декодирование видео с повышенной устойчивостью к ошибкам
KR101823321B1 (ko) 적응적 비트레이트 스트리밍을 위해 적응적 양자화를 갖고 다수의 비디오 스트림들을 인코딩하는 시스템들 및 방법들
US6597858B1 (en) Compressed video editor with transition buffer matcher
US9025664B2 (en) Moving image encoding apparatus, moving image encoding method, and moving image encoding computer program
EP3033872B1 (en) Quality driven video re-encoding
US20120207219A1 (en) Picture encoding apparatus, picture encoding method, and program
JP4358215B2 (ja) 動画像符号化装置及びその方法
US8681864B2 (en) Video coding apparatus and video coding control method
CN101529912A (zh) 用于在多通路编码器中高效地进行第一通路编码的方法和设备
US8559519B2 (en) Method and device for video encoding using predicted residuals
US10721476B2 (en) Rate control for video splicing applications
KR20160139233A (ko) 비트율 제어를 이용한 영상 부호화 장치
US10165272B2 (en) Picture-level QP rate control performance improvements for HEVC encoding
Menon et al. All-intra rate control using low complexity video features for Versatile Video Coding
US20200059657A1 (en) Image processing apparatus and method
US20110216820A1 (en) Method and apparatus for rate control for multi-view video coding
US20130259123A1 (en) System and method for identifying unique portions of videos with validation and predictive scene changes
US8594195B2 (en) Method and apparatus for encoding and decoding at least one image frame that is artificially inserted into image sequence
JP4037839B2 (ja) 画像符号化方法及び装置
JP2002199398A (ja) 可変ビットレート動画像符号化装置および記録媒体
JPH114444A (ja) 画像符号化装置および方法
JP4755239B2 (ja) 映像符号量制御方法,映像符号化装置,映像符号量制御プログラムおよびその記録媒体
KR102049644B1 (ko) 노이즈 동영상의 효율적인 부호화를 위한 계층적 노이즈 제거 방법
JP4582710B2 (ja) 動画像符号化装置
JP4160513B2 (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