KR20130101412A - 비디오 비트율 제어 방법 및 그 장치 - Google Patents

비디오 비트율 제어 방법 및 그 장치 Download PDF

Info

Publication number
KR20130101412A
KR20130101412A KR1020120022546A KR20120022546A KR20130101412A KR 20130101412 A KR20130101412 A KR 20130101412A KR 1020120022546 A KR1020120022546 A KR 1020120022546A KR 20120022546 A KR20120022546 A KR 20120022546A KR 20130101412 A KR20130101412 A KR 20130101412A
Authority
KR
South Korea
Prior art keywords
frame
subframe
bit amount
target bit
subframes
Prior art date
Application number
KR1020120022546A
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 KR1020120022546A priority Critical patent/KR20130101412A/ko
Priority to PCT/KR2012/011547 priority patent/WO2013133522A1/ko
Priority to US14/383,257 priority patent/US20150023413A1/en
Publication of KR20130101412A publication Critical patent/KR20130101412A/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/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/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/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/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/184Methods 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 bits, e.g. of the compressed video stream

Landscapes

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

Abstract

본 발명에 따른 비디오 비트율 제어 방법은, 현재 프레임을 복수의 제1 서브 프레임으로 분할하는 단계, 복수의 제1 서브 프레임 각각에 대한, 서브 프레임 목표 비트량을 도출하는 단계 및 도출된 서브 프레임 목표 비트량에 기반하여 복수의 제1 서브 프레임 각각에 대한 QP 값을 도출하는 단계를 포함한다. 본 발명에 의하면, 비디오 부호화 효율이 향상될 수 있다.

Description

비디오 비트율 제어 방법 및 그 장치 {METHOD FOR VIDEO RATE CONTROL AND APPARATUS THEREOF}
본 발명은 영상 처리에 관한 것으로서, 보다 상세하게는 비디오 비트율 제어 방법 및 그 장치에 관한 것이다.
비디오는 서비스의 환경 및 목적에 따라 다양한 비트율을 가질 수 있으나, 일반적으로 초 단위로 비슷한 비트율을 가지도록 부호화되어 서비스되고 있다. 비트율 제어 방법은 비디오 부호화기의 발전에 따라서 지속적으로 향상되어 오고 있다. 일반적으로 부호화기는 원하는 비트율을 제공하기 위해, 프레임 별로 비트율을 할당하고, QP 값을 조절함으로써, 부호화기 출력의 비트율을 제어한다.
한편, 비디오 부호화 대상이 되는 영상이 고해상도로 변해감에 따라, 비디오 부호화의 실시간 처리를 위한 병렬 처리 구조에 대한 연구가 활발하게 진행되고 있다. 병렬 처리를 위한 방법으로, 하나의 프레임을 복수 개의 영역으로 분할하여, 분할된 복수의 영역 각각을 동시에 부호화하는 방법이 사용될 수 있다.
본 발명의 기술적 과제는 비디오 부호화 효율을 향상시킬 수 있는 비디오 부호화 방법 및 장치를 제공함에 있다.
본 발명의 기술적 과제는 비디오 부호화 효율을 향상시킬 수 있는 비디오 복호화 방법 및 장치를 제공함에 있다.
본 발명의 다른 기술적 과제는 비디오 부호화 효율을 향상시킬 수 있는 비디오 비트율 제어 방법 및 장치를 제공함에 있다.
1. 본 발명의 일 실시 형태는 비디오 부호화 방법이다. 상기 방법은 현재 프레임을 복수의 제1 서브 프레임으로 분할하는 단계, 상기 복수의 제1 서브 프레임 각각에 대한, 서브 프레임 목표 비트량을 도출하는 단계, 상기 도출된 서브 프레임 목표 비트량에 기반하여 상기 복수의 제1 서브 프레임에 대한 부호화를 수행함으로써, 각각 하나의 서브 프레임에 대응하는 복수의 서브 프레임 비트스트림을 도출하는 단계 및 상기 복수의 서브 프레임 비트스트림을 통합하여 단일 비트스트림을 출력하는 단계를 포함한다.
2. 1에 있어서, 상기 복수의 서브 프레임 비트스트림을 도출하는 단계에서는, 각각 하나의 서브 프레임에 대응하는 복수의 서브 부호화기를 이용하여, 상기 복수의 제1 서브 프레임 각각에 대한 부호화를 수행할 수 있다.
3. 1에 있어서, 상기 현재 프레임이 입력 비디오에 존재하는 첫 번째 프레임인 경우, 상기 서브 프레임 목표 비트량 도출 단계에서는, 상기 현재 프레임에 할당된 프레임 목표 비트량을 상기 복수의 제1 서브 프레임의 개수로 나누어, 상기 서브 프레임 목표 비트량을 도출할 수 있다.
4. 1에 있어서, 상기 현재 프레임이 입력 비디오에 존재하는 첫 번째 프레임이 아닌 경우, 상기 서브 프레임 목표 비트량 도출 단계에서는, 이전 프레임을 구성하는 복수의 제2 서브 프레임 각각에 대한 평균 QP(Quantization Parameter: 양자화 파라미터) 값 및 상기 복수의 제2 서브 프레임 각각의 부호화 과정에서 발생한 실제 발생 비트량을 기반으로, 상기 서브 프레임 목표 비트량을 도출할 수 있다.
5. 4에 있어서, 상기 서브 프레임 목표 비트량 도출 단계는, 상기 평균 QP 값에 기반하여 제1 가중치를 계산하는 단계, 상기 실제 발생 비트량에 기반하여 제2 가중치를 계산하는 단계 및 상기 현재 프레임에 할당된 프레임 목표 비트량에 상기 제1 가중치 및 상기 제2 가중치를 적용하여, 상기 서브 프레임 목표 비트량을 도출하는 단계를 더 포함할 수 있다.
6. 본 발명의 다른 실시 형태는 비디오 부호화 장치이다. 상기 장치는 현재 프레임을 복수의 제1 서브 프레임으로 분할하는 프레임 분할기, 상기 복수의 제1 서브 프레임 각각에 대한, 서브 프레임 목표 비트량을 도출하는 비트율 제어기, 상기 도출된 서브 프레임 목표 비트량에 기반하여 상기 복수의 제1 서브 프레임에 대한 부호화를 수행함으로써, 각각 하나의 서브 프레임에 대응하는 복수의 서브 프레임 비트스트림을 도출하는 서브 프레임 부호화기 및 상기 복수의 서브 프레임 비트스트림을 통합하여 단일 비트스트림을 출력하는 비트스트림 통합기를 포함한다.
7. 6에 있어서, 상기 서브 프레임 부호화기는, 각각 하나의 서브 프레임에 대응하는 복수의 서브 부호화기를 포함하고, 상기 복수의 서브 부호화기 각각은, 상기 복수의 제1 서브 프레임 중에서, 상기 복수의 서브 부호화기 각각에 대응되는 서브 프레임을 하나씩 부호화할 수 있다.
8. 6에 있어서, 상기 현재 프레임이 입력 비디오에 존재하는 첫 번째 프레임인 경우, 상기 비트율 제어기는, 상기 현재 프레임에 할당된 프레임 목표 비트량을 상기 복수의 제1 서브 프레임의 개수로 나누어, 상기 서브 프레임 목표 비트량을 도출할 수 있다.
9. 6에 있어서, 상기 현재 프레임이 입력 비디오에 존재하는 첫 번째 프레임이 아닌 경우, 상기 비트율 제어기는, 이전 프레임을 구성하는 복수의 제2 서브 프레임 각각에 대한 평균 QP(Quantization Parameter: 양자화 파라미터) 값 및 상기 복수의 제2 서브 프레임 각각의 부호화 과정에서 발생한 실제 발생 비트량을 기반으로, 상기 서브 프레임 목표 비트량을 도출할 수 있다.
10. 9에 있어서, 상기 비트율 제어기는, 상기 평균 QP 값에 기반하여 제1 가중치를 계산하고, 상기 실제 발생 비트량에 기반하여 제2 가중치를 계산하고, 상기 현재 프레임에 할당된 프레임 목표 비트량에 상기 제1 가중치 및 상기 제2 가중치를 적용하여, 상기 서브 프레임 목표 비트량을 도출할 수 있다.
11. 본 발명의 또 다른 실시 형태는 비디오 비트율 제어 방법이다. 상기 방법은 현재 프레임을 복수의 제1 서브 프레임으로 분할하는 단계, 상기 복수의 제1 서브 프레임 각각에 대한, 서브 프레임 목표 비트량을 도출하는 단계 및 상기 도출된 서브 프레임 목표 비트량에 기반하여 상기 복수의 제1 서브 프레임 각각에 대한 QP 값을 도출하는 단계를 포함한다.
12. 11에 있어서, 상기 현재 프레임이 입력 비디오에 존재하는 첫 번째 프레임인 경우, 상기 서브 프레임 목표 비트량 도출 단계에서는, 상기 현재 프레임에 할당된 프레임 목표 비트량을 상기 복수의 제1 서브 프레임의 개수로 나누어, 상기 서브 프레임 목표 비트량을 도출할 수 있다.
13. 11에 있어서, 상기 현재 프레임이 입력 비디오에 존재하는 첫 번째 프레임이 아닌 경우, 상기 서브 프레임 목표 비트량 도출 단계에서는, 이전 프레임을 구성하는 복수의 제2 서브 프레임 각각에 대한 평균 QP(Quantization Parameter: 양자화 파라미터) 값 및 상기 복수의 제2 서브 프레임 각각의 부호화 과정에서 발생한 실제 발생 비트량을 기반으로, 상기 서브 프레임 목표 비트량을 도출할 수 있다.
14. 13에 있어서, 상기 서브 프레임 목표 비트량 도출 단계는, 상기 평균 QP 값에 기반하여 제1 가중치를 계산하는 단계, 상기 실제 발생 비트량에 기반하여 제2 가중치를 계산하는 단계 및 상기 현재 프레임에 할당된 프레임 목표 비트량에 상기 제1 가중치 및 상기 제2 가중치를 적용하여, 상기 서브 프레임 목표 비트량을 도출하는 단계를 더 포함할 수 있다.
본 발명에 따른 비디오 부호화 방법에 의하면, 비디오 부호화 효율이 향상될 수 있다.
본 발명에 따른 비디오 복호화 방법에 의하면, 비디오 부호화 효율이 향상될 수 있다.
본 발명에 따른 비디오 비트율 제어 방법에 의하면, 비디오 부호화 효율이 향상될 수 있다.
도 1은 본 발명이 적용되는 영상 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 2는 본 발명이 적용되는 영상 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 3은 비트율 제어 방법의 일 실시예를 개략적으로 나타내는 개념도이다.
도 4는 비디오 부호화기의 비트율 제어 방법의 일 실시예를 개략적으로 나타내는 흐름도이다.
도 5는 본 발명에 따른 비디오 부호화기의 일 실시예를 개략적으로 나타내는 블록도이다.
도 6은 복수의 서브 프레임으로 분할된 프레임의 실시예를 개략적으로 나타내는 개념도이다.
도 7은 본 발명에 따른 비트율 제어 방법의 일 실시예를 개략적으로 나타내는 흐름도이다.
도 8은 본 발명에 따른 비트율 제어 방법의 다른 실시예를 개략적으로 나타내는 개념도이다.
이하, 도면을 참조하여 본 발명의 실시 형태에 대하여 구체적으로 설명한다. 본 명세서의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
어떤 구성 요소가 다른 구성 요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있으나, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 아울러, 본 발명에서 특정 구성을 “포함”한다고 기술하는 내용은 해당 구성 이외의 구성을 배제하는 것이 아니며, 추가적인 구성이 본 발명의 실시 또는 본 발명의 기술적 사상의 범위에 포함될 수 있음을 의미한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
또한 본 발명의 실시예에 나타나는 구성부들은 서로 다른 특징적인 기능들을 나타내기 위해 독립적으로 도시되는 것으로, 각 구성부들이 분리된 하드웨어나 하나의 소프트웨어 구성단위로 이루어짐을 의미하지 않는다. 즉, 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 포함한 것으로 각 구성부 중 적어도 두 개의 구성부가 합쳐져 하나의 구성부로 이루어지거나, 하나의 구성부가 복수 개의 구성부로 나뉘어져 기능을 수행할 수 있고 이러한 각 구성부의 통합된 실시예 및 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.
또한, 일부의 구성 요소는 본 발명에서 본질적인 기능을 수행하는 필수적인 구성 요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성 요소일 수 있다. 본 발명은 단지 성능 향상을 위해 사용되는 구성 요소를 제외한 본 발명의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 단지 성능 향상을 위해 사용되는 선택적 구성 요소를 제외한 필수 구성 요소만을 포함한 구조도 본 발명의 권리범위에 포함된다.
도 1은 본 발명이 적용되는 영상 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 1을 참조하면, 상기 영상 부호화 장치(100)는 움직임 예측부(111), 움직임 보상부(112), 인트라 예측부(120), 스위치(115), 감산기(125), 변환부(130), 양자화부(140), 엔트로피 부호화부(150), 역양자화부(160), 역변환부(170), 가산기(175), 필터부(180) 및 참조 픽쳐 버퍼(190)를 포함한다.
영상 부호화 장치(100)는 입력 영상에 대해 인트라(intra) 모드 또는 인터(inter) 모드로 부호화를 수행하고 비트스트림을 출력할 수 있다. 인트라 모드인 경우 스위치(115)가 인트라로 전환되고, 인터 모드인 경우 스위치(115)가 인터로 전환될 수 있다. 영상 부호화 장치(100)는 입력 영상의 입력 블록에 대한 예측 블록을 생성한 후, 입력 블록과 예측 블록의 차분(residual)을 부호화할 수 있다.
인트라 모드인 경우, 인트라 예측부(120)는 현재 블록 주변의 이미 부호화된 블록의 픽셀값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성할 수 있다.
인터 모드인 경우, 움직임 예측부(111)는, 움직임 예측 과정에서 참조 픽쳐 버퍼(190)에 저장되어 있는 참조 영상에서 입력 블록과 가장 매치가 잘 되는 영역을 찾아 움직임 벡터를 구할 수 있다. 움직임 보상부(112)는 움직임 벡터를 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다.
감산기(125)는 입력 블록과 생성된 예측 블록의 차분에 의해 잔차 블록(residual block)을 생성할 수 있다. 변환부(130)는 잔차 블록에 대해 변환(transform)을 수행하여 변환 계수(transform coefficient)를 출력할 수 있다. 그리고 양자화부(140)는 입력된 변환 계수를 양자화 파라미터에 따라 양자화하여 양자화된 계수(quantized coefficient)를 출력할 수 있다.
엔트로피 부호화부(150)는, 양자화부(140)에서 산출된 값들 또는 부호화 과정에서 산출된 부호화 파라미터 값 등을 기초로 엔트로피 부호화를 수행하여 비트스트림(bit stream)을 출력할 수 있다.
엔트로피 부호화가 적용되는 경우, 높은 발생 확률을 갖는 심볼(symbol)에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당되어 심볼이 표현됨으로써, 부호화 대상 심볼들에 대한 비트열의 크기가 감소될 수 있다. 따라서 엔트로피 부호화를 통해서 영상 부호화의 압축 성능이 높아질 수 있다. 엔트로피 부호화부(150)는 엔트로피 부호화를 위해 지수 골룸(exponential golomb), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 부호화 방법을 사용할 수 있다.
도 1의 실시예에 따른 영상 부호화 장치는 인터 예측 부호화, 즉 화면 간 예측 부호화를 수행하므로, 현재 부호화된 영상은 참조 영상으로 사용되기 위해 복호화되어 저장될 필요가 있다. 따라서 양자화된 계수는 역양자화부(160)에서 역양자화되고 역변환부(170)에서 역변환된다. 역양자화, 역변환된 계수는 가산기(175)를 통해 예측 블록과 더해지고 복원 블록(Reconstructed Block)이 생성된다.
복원 블록은 필터부(180)를 거치고, 필터부(180)는 디블록킹 필터(deblocking filter), SAO(Sample Adaptive Offset), ALF(Adaptive Loop Filter) 중 적어도 하나 이상을 복원 블록 또는 복원 픽쳐에 적용할 수 있다. 필터부(180)는 적응적 인루프(in-loop) 필터로 불릴 수도 있다. 디블록킹 필터는 블록 간의 경계에 생긴 블록 왜곡을 제거할 수 있다. SAO는 코딩 에러를 보상하기 위해 픽셀값에 적정 오프셋(offset) 값을 더해줄 수 있다. ALF는 복원된 영상과 원래의 영상을 비교한 값을 기초로 필터링을 수행할 수 있다. 필터부(180)를 거친 복원 블록은 참조 픽쳐 버퍼(190)에 저장될 수 있다.
도 2는 본 발명이 적용되는 영상 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 2를 참조하면, 상기 영상 복호화 장치(200)는 엔트로피 복호화부(210), 역양자화부(220), 역변환부(230), 인트라 예측부(240), 움직임 보상부(250), 가산기(255), 필터부(260) 및 참조 픽쳐 버퍼(270)를 포함한다.
영상 복호화 장치(200)는 부호화기에서 출력된 비트스트림을 입력 받아 인트라 모드 또는 인터 모드로 복호화를 수행하고 재구성된 영상, 즉 복원 영상을 출력할 수 있다. 인트라 모드인 경우 스위치가 인트라로 전환되고, 인터 모드인 경우 스위치가 인터로 전환될 수 있다. 영상 복호화 장치(200)는 입력 받은 비트스트림으로부터 복원된 잔차 블록(reconstructed residual block)을 얻고 예측 블록을 생성한 후 복원된 잔차 블록과 예측 블록을 더하여 재구성된 블록, 즉 복원 블록을 생성할 수 있다.
엔트로피 복호화부(210)는, 입력된 비트스트림을 확률 분포에 따라 엔트로피 복호화하여, 양자화된 계수(quantized coefficient) 형태의 심볼을 포함한 심볼들을 생성할 수 있다. 엔트로피 복호화 방법은 상술한 엔트로피 부호화 방법과 유사하다.
엔트로피 복호화 방법이 적용되는 경우, 높은 발생 확률을 갖는 심볼에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당되어 심볼이 표현됨으로써, 각 심볼들에 대한 비트열의 크기가 감소될 수 있다. 따라서 엔트로피 복호화 방법을 통해서 영상 복호화의 압축 성능이 높아질 수 있다.
양자화된 계수는 역양자화부(220)에서 역양자화되고 역변환부(230)에서 역변환되며, 양자화된 계수가 역양자화/역변환 된 결과, 복원된 잔차 블록이 생성될 수 있다.
인트라 모드인 경우, 인트라 예측부(240)는 현재 블록 주변의 이미 부호화된 블록의 픽셀값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성할 수 있다. 인터 모드인 경우, 움직임 보상부(250)는 움직임 벡터 및 참조 픽쳐 버퍼(270)에 저장되어 있는 참조 영상을 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다.
복원된 잔차 블록과 예측 블록은 가산기(255)를 통해 더해지고, 더해진 블록은 필터부(260)를 거칠 수 있다. 필터부(260)는 디블록킹 필터, SAO, ALF 중 적어도 하나 이상을 복원 블록 또는 복원 픽쳐에 적용할 수 있다. 필터부(260)는 재구성된 영상, 즉 복원 영상을 출력할 수 있다. 복원 영상은 참조 픽쳐 버퍼(270)에 저장되어 인터 예측에 사용될 수 있다.
도 3은 비트율 제어 방법의 일 실시예를 개략적으로 나타내는 개념도이다. 도 3은 비디오 부호화기(310) 및 이에 포함된 비트율 제어기(320)를 도시한다.
부호화기는 비디오 부호화 병렬 처리를 위해, 하나의 프레임(frame)을 복수 개의 영역으로 분할할 수 있고, 분할된 복수의 영역 각각에 대해 동시에 부호화를 수행할 수 있다. 이 때, 상기 분할된 복수의 영역은 서로 동일한 크기를 가질 수 있다.
복수의 영역에 대해 동시에 부호화가 수행되는 경우, 복수의 영역 각각에 대해 동일한 비트율이 할당되면, 영상의 특성에 따라 영역 별로 화질의 차이가 발생할 수 있으므로, 사용자가 불편함을 느낄 수 있다. 따라서, 복수의 영역에 대해 동시에 부호화가 수행되는 경우, 부호화기는 복수의 영역 각각에 대해 적절하게 비트율을 제어할 필요가 있다.
도 3을 참조하면, 부호화기(310)는 입력 영상 및 비트율을 입력 받아 부호화된 비트스트림을 출력할 수 있다. 이 때, 비트율 제어기(320)는 상기 비트율 및 부호화 과정에서 실제 발생된, 부호화된 비트량에 관한 정보를 입력 받아, 비트율 제어를 수행할 수 있다. 상기 비트율 제어 과정에 의해, 주어진 비트율을 갖는 출력이 얻어질 수 있다.
도 4는 비디오 부호화기의 비트율 제어 방법의 일 실시예를 개략적으로 나타내는 흐름도이다.
입력 영상은 프레임 단위로 부호화기에 입력될 수 있다. 이 때, 부호화기는 입력 영상에 대해 프레임 별로 비트율을 할당하여 부호화를 수행할 수 있다. 부호화기는 비트율 할당 및/또는 비트율 제어를 위한 기본 단위(BU: Basic Unit, 이하, BU라 함.)를 한 프레임 내에서 일정한 크기를 가지는 영역으로 설정할 수 있다. 즉, 부호화기는 하나의 프레임을 복수의 BU로 분할할 수 있으며, 하나의 프레임은 복수의 BU로 구성될 수 있다. 상기 BU는 분할된 프레임의 각 영역을 나타내므로, SF로 나타내어질 수도 있다.
여기서, 상기 BU는 하나 이상의 블록으로 구성될 수 있다. 여기서, 블록은 영상 부호화 및 복호화의 단위를 의미할 수 있다. 영상 부호화 및 복호화 시 부호화 혹은 복호화 단위는, 영상을 분할하여 부호화 혹은 복호화할 때 그 분할된 단위를 의미하므로, 매크로 블록, 부호화 유닛(CU: Coding Unit), 예측 유닛(PU: Prediction Unit), 변환 유닛(TU: Transform Unit) 등으로 불릴 수 있다.
도 4를 참조하면, 프레임 단위의 입력 영상이 부호화기에 입력되면, 부호화기는 부호화 대상 프레임 및 상기 부호화 대상 프레임에 할당되는 프레임 목표 비트량(R(F))을 결정할 수 있다(S410). 여기서, 부호화 대상 프레임은 복수의 BU로 구성될 수 있으며, 부호화기는 각각의 BU에 대해 비트율을 제어할 수 있다.
부호화 대상 프레임 및 프레임 목표 비트량 R(F)가 결정되면, 부호화기는 현재 BU가 현재 프레임 내에서 첫 번째 BU인지 여부를 판단할 수 있다(S420).
현재 BU가 현재 프레임 내의 첫 번째 BU인 경우, 부호화기는 프레임 목표 비트량(R(F))을 현재 프레임 내의 BU 개수(BU_F)로 나누어, 현재 BU에 할당되는 BU 목표 비트량(R(BU))을 결정할 수 있다(S430). 예를 들어, 하나의 프레임에 할당된 비트량이 170 비트이고, 하나의 프레임은 16개의 BU로 구성된다고 가정한다. 이 때, 첫 번째 BU에 할당되는 비트량은 170 비트 * 1/16 = 10.625 비트일 수 있다.
현재 BU가 현재 프레임 내의 첫 번째 BU가 아닌 경우, 부호화기는 이전 BU(들)의 부호화 결과에 따라 현재 BU에 대한 비트율 제어를 수행할 수 있다(S440). 즉, 부호화기는 프레임 내의 부호화된 BU의 부호화 결과에 따라, 나머지 영역의 비트율을 조정할 수 있다. 이는, 도 4에 도시된 바와 같이, 다음 수학식 1에 의해 나타내어질 수 있다.
[수학식 1]
R(F_R)=R(F)-R(BU_A)
R(BU)=R(F_R)*1/BU_FR
R(F)=R(F_R)
여기서, R(BU_A)는 이전 BU에 대한 부호화 과정에서 실제 발생한 비트량을 나타낼 수 있다. 또한, BU_FR은 현재 프레임 내에서 부호화되지 않은 BU의 개수를 나타낼 수 있다.
예를 들어, 하나의 프레임에 할당된 비트량이 170 비트이고, 하나의 프레임은 16개의 BU로 구성된다고 가정한다. 또한, 첫 번째 BU의 부호화 과정에서 실제 발생한 비트량은 20 비트라 가정한다. 이 때, 두 번째 BU에 할당되는 비트량은 (170 비트 - 20 비트) * 1/15 = 10 비트일 수 있다. 그리고 두 번째 BU에 대한 부호화 결과에 따라 세 번째 BU에 할당되는 비트량이 결정될 수 있고, 네 번째 이후의 BU에 대해서도 순차적으로 동일한 방법으로 비트율 제어가 수행될 수 있다.
현재 BU에 할당되는 BU 목표 비트량(R(BU))이 결정된 경우, 부호화기는 결정된 BU 목표 비트량을 기반으로, 현재 BU에 대한 부호화를 수행할 수 있다(S450).
현재 BU에 대한 부호화가 수행되면, 부호화기는 현재 BU가 현재 프레임 내의 마지막 BU인지 여부를 판단할 수 있다(S460). 현재 BU가 현재 프레임 내의 마지막 BU가 아닌 경우, 현재 BU의 부호화 과정에서 발생한 실제 비트량(R(BU_A))에 관한 정보가, 다음 BU에 대한 비트율 제어를 위해 사용될 수 있다. 현재 BU가 현재 프레임 내의 마지막 BU인 경우, 현재 프레임 내의 모든 BU에 대한 부호화가 완료될 수 있다.
현재 프레임 내의 모든 BU에 대한 부호화가 완료되면, 부호화기는 현재 프레임이 입력 영상 내의 마지막 프레임에 해당되는지 여부를 판단할 수 있다(S470). 현재 프레임이 입력 영상 내의 마지막 프레임인 경우, 입력 영상에 대한 부호화 과정이 종료될 수 있다. 현재 프레임이 입력 영상 내의 마지막 프레임이 아닌 경우, 현재 프레임 전체의 부호화 과정에서 발생한 실제 비트량(R(F_A))에 관한 정보가, 다음 프레임에 할당되는 비트량 계산에 사용될 수 있다. 이 때에는, 다음 프레임에 대해 BU 단위로 부호화 과정이 계속하여 수행될 수 있다.
상술한 비트율 제어 방법에서는, 프레임 내의 하나의 BU에 대한 부호화가 완료된 후, 다음 BU에 대한 비트율 제어가 수행될 수 있다. 따라서, 하나의 프레임을 구성하는 복수의 BU에 대해 동시에 부호화가 수행되는 경우, 상술한 비트율 제어 방법이 적합하지 않을 수 있다. 따라서, 하나의 프레임이 복수의 BU로 분할되어 병렬 부호화가 수행되는 경우, 사용자가 불편 없이 영상을 볼 수 있도록 하기 위해, 분할된 각각의 영역(BU)에 적절한 비트율을 할당하여 공간적인 화질의 차이를 최소화할 수 있는 비트율 제어 방법이 제공될 수 있다.
도 5는 본 발명에 따른 비디오 부호화기의 일 실시예를 개략적으로 나타내는 블록도이다. 도 5의 실시예에 따른 비디오 부호화기(500)는 프레임 분할기(510), 복수의 서브 부호화기(520), 비트스트림 통합기(530) 및 비트율 제어기(540)를 포함할 수 있다.
상술한 바와 같이, 부호화기는 하나의 프레임을 복수 개의 영역(BU)으로 분할할 수 있고, 분할된 복수의 영역 각각에 대해 동시에 부호화를 수행할 수 있다. 즉, 하나의 프레임은 복수의 BU로 분할되어 병렬 부호화가 수행될 수 있다. 이 때, 부호화기는 분할된 각각의 영역(BU)에 대해, 비트율 제어를 수행할 수 있다.
도 5를 참조하면, 프레임 분할기(510)는 입력 영상을 입력 받은 후 상기 입력 영상에 포함된 각각의 프레임을 복수의 영역(BU)으로 분할할 수 있다. 서브 부호화기(520)에는 상기 BU가 하나씩 할당될 수 있으며, 서브 부호화기(520)는 이에 할당된 BU에 대해 부호화를 수행하여 비트스트림을 출력할 수 있다. 이 때, BU들은 서로 다른 서브 부호화기(520)에 의해 각각 부호화될 수 있고, 부호화기(500)는 하나의 프레임에 대한 BU들에 대해 동시에 부호화를 수행할 수 있다. 비트스트림 통합기(530)는 복수의 서브 부호화기(520)에서 출력된 비트스트림을 통합하여, 부호화된 단일 비트스트림을 출력할 수 있다.
비트율 제어기(540)에는 프레임이 분할되어 생성된 BU 각각에 대해 비트율 제어를 수행할 수 있다. 병렬 부호화기에서는 복수의 BU에 대해 동시에 부호화가 수행되므로, 비트율 제어를 위해 BU 각각에 대해 비트율이 할당되어야 한다. 따라서, 비트율 제어기(540)는 입력 영상(및/또는 각 프레임)에 할당된 비트율 및 각 서브 부호화기의 부호화 과정에서 실제 발생한 비트량에 관한 정보를 입력 받아, BU 각각에 대한 비트율 제어를 수행할 수 있다.
복수의 영역(BU)에 대해 동시에 부호화가 수행되는 경우, 복수의 영역 각각에 대해 동일한 비트율이 할당되면, 입력 영상 및/또는 프레임의 특성이 충분히 반영될 수 없다. 따라서, 복수의 영역에 대해 동시에 부호화가 수행되는 경우, 부호화기는 복수의 영역 각각에 대해 비트율을 제어할 필요가 있다.
도 6은 복수의 서브 프레임으로 분할된 프레임의 실시예를 개략적으로 나타내는 개념도이다. 여기서, 서브 프레임(sub-frame)은 상술한 BU에 해당될 수 있다.
부호화기는 하나의 프레임을 복수 개의 서브 프레임으로 분할할 수 있다. 일례로, 하나의 프레임을 구성하는 서브 프레임의 개수는 16개일 수 있다. 이 때, 부호화기는 16개의 서브 프레임에 대해 동시에 부호화를 수행할 수 있다.
도 6의 실시예에서, 상단 영역(1, 2, 3, 4, 5, 6, 7, 8)의 영상은 단조로운 형태를 가지고, 하단 영역(9. 10, 11, 12, 13, 14, 15, 16)의 영상은 복잡한 형태를 가진다고 가정한다. 이 때, 모든 서브 프레임에 대해 동일한 비트율이 할당되어 부호화가 수행된다면, 상단 영역 및 하단 영역 간에 화질 차이가 발생할 수 있다. 이를 해결하기 위해, 부호화기는 영상의 특성에 맞도록 각 서브 프레임에 비트율을 할당할 필요가 있다.
도 7은 본 발명에 따른 비트율 제어 방법의 일 실시예를 개략적으로 나타내는 흐름도이다.
상술한 바와 같이, 입력 영상은 프레임 단위로 부호화기에 입력될 수 있다. 이 때, 부호화기는 입력 영상에 대해 프레임 별로 비트율을 할당하여 부호화를 수행할 수 있다.
도 7을 참조하면, 부호화기는 현재 프레임을 N(N은 임의의 자연수)개의 BU로 분할하고, 각 BU에 대한 BU 목표 비트량(R(SFn))을 결정할 수 있다(S710). 여기서, BU는 비트율 제어가 수행되는 단위를 의미할 수 있다. 상기 BU는 분할된 프레임의 각 영역을 나타내므로, SF로 나타내어질 수도 있다. R(SFn)은 n(n은 1 이상 N 이하의 자연수)번째 BU에 할당된 목표 비트량을 나타낼 수 있다. 현재 프레임의 각 BU에 대한 목표 비트량은 이전 프레임의 부호화 과정에서 실제 발생된 각 BU에 대한 발생 비트량 및 이전 프레임의 각 BU에 대한 평균 QP 값을 이용하여 결정될 수 있으며, 영상의 특성에 맞게 각 BU에 할당될 수 있다.
BU 목표 비트량이 할당된 각각의 BU는 각 서브 부호화기에서 병렬적으로 부호화될 수 있다(S720). 예를 들어, 첫 번째 BU는 서브 부호화기 1에서, 두 번째 BU는 서브 부호화기 2에서, n번째 BU는 서브 부호화기 n에서 부호화될 수 있다.
부호화 수행 과정에서 부호화기는 각각의 BU에 대해, 실제 발생 비트량 및 평균 QP(Quantization Parameter: 양자화 파라미터) 값을 결정할 수 있다. 도 7에서, R(SFn_A)는 n번째 BU의 부호화 과정에서 실제 발생한 비트량을 나타낼 수 있고, QPn은 n번째 BU에 대한 평균 QP 값을 나타낼 수 있다.
다시 도 7을 참조하면, 부호화기는 N개의 서브 부호화기에서 출력된, 부호화된 비트스트림을 통합하여 단일 비트스트림을 출력할 수 있다(S730).
현재 프레임에 대한 부호화가 완료되면, 부호화기는 현재 프레임이 입력 영상 내의 마지막 프레임에 해당되는지 여부를 판단할 수 있다(S740). 현재 프레임이 입력 영상 내의 마지막 프레임에 해당되는 경우, 입력 영상에 대한 부호화 과정이 종료될 수 있다. 현재 프레임이 입력 영상 내의 마지막 프레임이 아닌 경우, 현재 프레임의 각 BU에 대한 실제 발생 비트량 및 평균 QP에 관한 정보가, 다음 프레임의 각 BU에 대한 목표 비트량 결정에 사용될 수 있다. 이 경우, 다음 프레임에 대해 BU 단위로 부호화 과정이 계속하여 수행될 수 있다.
도 8은 본 발명에 따른 비트율 제어 방법의 다른 실시예를 개략적으로 나타내는 개념도이다.
상술한 바와 같이, 입력 영상은 프레임 단위로 부호화기에 입력될 수 있다. 이 때, 부호화기는 입력 영상에 대해 프레임 별로 비트율을 할당하여 부호화를 수행할 수 있다.
도 8을 참조하면, 부호화기는 현재 프레임을 N(N은 임의의 자연수)개의 BU로 분할할 수 있다(S810). 이 때, N개의 BU는 서로 동일한 크기를 가질 수 있다. 즉, 하나의 프레임은 N개의 동일한 크기의 BU로 분할되어 부호화가 수행될 수 있다. 여기서, BU는 비트율 제어가 수행되는 단위를 의미할 수 있다. 상기 BU는 분할된 프레임의 각 영역을 나타내므로, SF로 나타내어질 수도 있다.
현재 프레임이 분할되면, 부호화기는 현재 프레임이 입력 영상 내의 첫 번째 프레임인지 여부를 판단할 수 있다(S820).
현재 프레임이 입력 영상 내의 첫 번째 프레임인 경우, 부호화기는 현재 프레임에 할당된 프레임 목표 비트량(R(F))을 현재 프레임 내의 BU 개수(SF_F)로 나누어, 각 BU에 할당되는 BU 목표 비트량(R(SFn))을 결정할 수 있다(S830). 즉, 첫 번째 프레임에 대해서는, 주어진 프레임 목표 비트량을 N으로 나눈 비트량이 각 BU에 동일하게 할당되어 부호화가 수행될 수 있다. 여기서, R(SFn)은 n(n은 1 이상 N 이하의 자연수)번째 BU에 할당된 목표 비트량을 나타낼 수 있다.
현재 프레임이 입력 영상 내의 첫 번째 프레임이 아닌 경우, 부호화기는 이전 프레임의 부호화 결과에 따라 현재 프레임에 대한 비트율 제어를 수행할 수 있다(S840). 즉, 두 번째 이후의 프레임에 대해서는, 이전 프레임의 부호화 결과를 이용하여 비트율 제어가 수행될 수 있다.
일반적으로 비트율 제어 과정에서, 목표 비트량이 할당되면 부호화기는 상기 할당된 목표 비트량에 대응되는 QP 값을 결정하고, 상기 결정된 QP 값을 기반으로 부호화를 수행할 수 있다. 예를 들어, 부호화기는 BU 각각에 대해 목표 비트량이 할당되면, 할당된 목표 비트량을 기반으로 BU 각각에 대한 QP 값을 결정할 수 있다. 이 때, QP 값이 클수록 부호화되는 비트량이 작아질 수 있다. 따라서, 부호화기는 복잡한 형태의 화면에 대해 큰 QP 값을 적용하고 단조로운 형태의 화면에 대해 작은 QP 값을 적용함으로써, 목표 비트량에 유사한 부호화 결과를 달성할 수 있다. 한편, QP 값이 화면 내 또는 화면 간에서 큰 폭으로 변하는 경우, 영상의 화질이 급격하게 변할 수 있다. 이러한 화질의 급격한 변화를 방지하기 위해, 일반적으로 부호화기는 QP 값이 변할 수 있는 범위를 제한할 수 있다. 이 경우, 주어진 QP 값의 범위 내에서 목표 비트량을 얻는 데는 한계가 있을 수 있다.
상술한 내용을 고려하면, QP 값이 크고 부호화된 비트량이 많은 화면은 복잡한 형태로 구성되어 있을 확률이 높을 수 있다. 또한 QP 값이 작고 부호화된 비트량이 적은 화면은 단조로운 형태로 구성되어 있을 확률이 높을 수 있다. 따라서, QP 값과 발생 비트량을 함께 고려하여 비트율을 제어하는 비트율 제어 방법이 제공될 수 있다. 구체적으로, 현재 프레임의 각 BU에 대한 목표 비트량은 이전 프레임의 부호화 과정에서 실제 발생된 각 BU에 대한 발생 비트량 및 이전 프레임의 각 BU에 대한 평균 QP 값을 이용하여 결정될 수 있다.
일례로, 부호화기는 QP 값 기반 가중치 및 실제 발생 비트량 기반 가중치를 도출한 후, 상기 도출된 가중치들을 이용하여 현재 프레임 내의 각 BU에 할당되는 목표 비트량(R(SFn))을 결정할 수 있다. n번째 BU에 대한 QP 값 기반 가중치는, 이전 프레임의 각 BU에 대한 평균 QP 값을 이용하여 도출될 수 있다. 이는 다음 수학식 1과 같이 나타내어질 수 있다.
[수학식 1]
W1(n)=QPn/(QP1+QP2+…+QPN)
여기서, W1(n)은 n번째 BU에 대한 QP 값 기반 가중치를 나타낼 수 있다. 또한 QPn은 이전 프레임의 n번째 BU에 대한 평균 QP 값을 나타낼 수 있다.
n번째 BU에 대한 실제 발생 비트량 기반 가중치는, 이전 프레임의 부호화 과정에서 실제 발생된, 각 BU에 대한 발생 비트량을 이용하여 도출될 수 있다. 이는 다음 수학식 2과 같이 나타내어질 수 있다.
[수학식 2]
W2(n)=R(SFn_A)/(R(SF1_A)+ R(SF2_A)+…+ R(SFN_A))
여기서, W2(n)은 n번째 BU에 대한 실제 발생 비트량 기반 가중치를 나타낼 수 있다. 또한 R(SFn_A)은 이전 프레임의 n번째 BU의 부호화 과정에서 실제 발생한 비트량을 나타낼 수 있다.
이 때, 현재 프레임의 n번째 BU에 할당되는 목표 비트량(R(SFn))은 상기 도출된 W1(n) 및 W2(n)을 이용하여 계산될 수 있다. 이 때, W1(n) 및 W2(n)에는 적절한 가중치가 곱해질 수 있다. 이는 다음 수학식 3에 의해 나타내어질 수 있다.
[수학식 3]
R(SFn)= R(F)*(a*W1(n) + (1-a)*W2(n))
여기서, a는 W1(n)에 적용되는 가중치 값을 나타내고, (1-a)는 W2(n)에 적용되는 가중치 값을 나타낼 수 있다. 상기 a는 0과 1 사이의 값을 가질 수 있으며, 부호화기는 상기 a에 의해 W1(n)과 W2(n)이 적용되는 비율을 조절할 수 있다.
BU 목표 비트량이 할당된 각각의 BU는 각 서브 부호화기에서 병렬적으로 부호화될 수 있다(S850). 예를 들어, 첫 번째 BU는 서브 부호화기 1에서, 두 번째 BU는 서브 부호화기 2에서, n번째 BU는 서브 부호화기 n에서 부호화될 수 있다. 부호화 수행 과정에서 부호화기는 각각의 BU에 대해, 실제 발생 비트량 R(SFn_A) 및 평균 QP 값(QPn)을 결정할 수 있다.
다시 도 8을 참조하면, 부호화기는 N개의 서브 부호화기에서 출력된, 부호화된 비트스트림을 통합하여 단일 비트스트림을 출력할 수 있다(S860).
출력된 단일 비트스트림은 복호화기로 전송될 수 있다. 이 때, 복호화기는 전송된 단일 비트스트림을 N개의 비트스트림으로 분할하거나 역다중화할 수 있다. 이 때, N개의 비트스트림 각각은 하나의 BU에 대응되는 비트스트림일 수 있다. 복호화기는 상기 N개의 비트스트림을 각각 서브 복호화기를 이용하여 복호화함으로써, N개의 BU에 대응하는 영상을 생성할 수 있다.
현재 프레임에 대한 부호화가 완료되면, 부호화기는 현재 프레임이 입력 영상 내의 마지막 프레임에 해당되는지 여부를 판단할 수 있다(S870). 현재 프레임이 입력 영상 내의 마지막 프레임에 해당되는 경우, 입력 영상에 대한 부호화 과정이 종료될 수 있다. 현재 프레임이 입력 영상 내의 마지막 프레임이 아닌 경우, 현재 프레임의 각 BU에 대한 실제 발생 비트량 및 평균 QP에 관한 정보가, 다음 프레임의 각 BU에 대한 목표 비트량 결정에 사용될 수 있다. 이 경우, 다음 프레임에 대해 BU 단위로 부호화 과정이 계속하여 수행될 수 있다.
상술한 비트율 제어 방법에 의하면, 부호화기는 영상의 확률적 특성을 이용하여, 복잡한 형태의 화면에 대해 상대적으로 많은 비트량을 할당하고 단조로운 형태의 화면에 대해 상대적으로 적은 비트량을 할당함으로써, 프레임의 분할된 영역(BU 또는 SF) 간에 발생하는 화질 차이를 최소화할 수 있다.
한편, 부호화기는 하나의 프레임이 분할된 각각의 영역(BU)에 비트량을 할당하기 위해, 인트라 모드로 부호화되는 프레임의 목표 비트율을 이용할 수도 있다. 예를 들어, 부호화기는 상기 프레임을 저해상도로 축소시켜 인트라 모드로 부호화할 수 있다. 이 때, 부호화기는 상기 부호화된 저해상도 프레임에 대하여 계산된 목표 비트율에 기초하여, 복수의 BU 각각의 비트율을 계산할 수 있다. 그러나, 상기 프로세스는 인트라 모드로 부호화되는 프레임을 저해상도로 축소시켜 부호화하는 과정을 포함하므로, 추가적인 처리가 요구될 수 있다. 또한, 상기 프로세스는 인트라 모드로 부호화되는 프레임에 대해서만, 각 BU에 대한 비트율이 갱신된다는 단점을 가질 수 있다.
본 발명에서는 프레임 및/또는 블록의 부호화 모드에 관계 없이 지속적으로 비트율 제어가 수행될 수 있다. 그리고 본 발명에 따른 비트율 제어 과정은, 부호화 결과 얻어지는 발생 비트량 및 QP를 기반으로 수행되므로, 낮은 복잡도를 제공한다는 장점을 가진다.
상술한 실시예들에서, 방법들은 일련의 단계 또는 블록으로서 순서도를 기초로 설명되고 있으나, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 당해 기술 분야에서 통상의 지식을 가진 자라면 순서도에 나타난 단계들이 배타적이지 않고, 다른 단계가 포함되거나, 순서도의 하나 또는 그 이상의 단계가 본 발명의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다.
상술한 실시예는 다양한 양태의 예시들을 포함한다. 다양한 양태들을 나타내기 위한 모든 가능한 조합을 기술할 수는 없지만, 해당 기술 분야의 통상의 지식을 가진 자는 다른 조합이 가능함을 인식할 수 있을 것이다. 따라서, 본 발명은 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다.

Claims (14)

  1. 현재 프레임을 복수의 제1 서브 프레임으로 분할하는 단계;
    상기 복수의 제1 서브 프레임 각각에 대한, 서브 프레임 목표 비트량을 도출하는 단계;
    상기 도출된 서브 프레임 목표 비트량에 기반하여 상기 복수의 제1 서브 프레임에 대한 부호화를 수행함으로써, 각각 하나의 서브 프레임에 대응하는 복수의 서브 프레임 비트스트림을 도출하는 단계; 및
    상기 복수의 서브 프레임 비트스트림을 통합하여 단일 비트스트림을 출력하는 단계를 포함하는 비디오 부호화 방법.
  2. 청구항 1에 있어서,
    상기 복수의 서브 프레임 비트스트림을 도출하는 단계에서는,
    각각 하나의 서브 프레임에 대응하는 복수의 서브 부호화기를 이용하여, 상기 복수의 제1 서브 프레임 각각에 대한 부호화를 수행하는 것을 특징으로 하는 비디오 부호화 방법.
  3. 청구항 1에 있어서,
    상기 현재 프레임이 입력 비디오에 존재하는 첫 번째 프레임인 경우,
    상기 서브 프레임 목표 비트량 도출 단계에서는,
    상기 현재 프레임에 할당된 프레임 목표 비트량을 상기 복수의 제1 서브 프레임의 개수로 나누어, 상기 서브 프레임 목표 비트량을 도출하는 것을 특징으로 하는 비디오 부호화 방법.
  4. 청구항 1에 있어서,
    상기 현재 프레임이 입력 비디오에 존재하는 첫 번째 프레임이 아닌 경우,
    상기 서브 프레임 목표 비트량 도출 단계에서는,
    이전 프레임을 구성하는 복수의 제2 서브 프레임 각각에 대한 평균 QP(Quantization Parameter: 양자화 파라미터) 값 및 상기 복수의 제2 서브 프레임 각각의 부호화 과정에서 발생한 실제 발생 비트량을 기반으로, 상기 서브 프레임 목표 비트량을 도출하는 것을 특징으로 하는 비디오 부호화 방법.
  5. 청구항 4에 있어서,
    상기 서브 프레임 목표 비트량 도출 단계는,
    상기 평균 QP 값에 기반하여 제1 가중치를 계산하는 단계;
    상기 실제 발생 비트량에 기반하여 제2 가중치를 계산하는 단계; 및
    상기 현재 프레임에 할당된 프레임 목표 비트량에 상기 제1 가중치 및 상기 제2 가중치를 적용하여, 상기 서브 프레임 목표 비트량을 도출하는 단계를 더 포함하는 것을 특징으로 하는 비디오 부호화 방법.
  6. 현재 프레임을 복수의 제1 서브 프레임으로 분할하는 프레임 분할기;
    상기 복수의 제1 서브 프레임 각각에 대한, 서브 프레임 목표 비트량을 도출하는 비트율 제어기;
    상기 도출된 서브 프레임 목표 비트량에 기반하여 상기 복수의 제1 서브 프레임에 대한 부호화를 수행함으로써, 각각 하나의 서브 프레임에 대응하는 복수의 서브 프레임 비트스트림을 도출하는 서브 프레임 부호화기; 및
    상기 복수의 서브 프레임 비트스트림을 통합하여 단일 비트스트림을 출력하는 비트스트림 통합기를 포함하는 비디오 부호화 장치.
  7. 청구항 6에 있어서,
    상기 서브 프레임 부호화기는, 각각 하나의 서브 프레임에 대응하는 복수의 서브 부호화기를 포함하고,
    상기 복수의 서브 부호화기 각각은, 상기 복수의 제1 서브 프레임 중에서, 상기 복수의 서브 부호화기 각각에 대응되는 서브 프레임을 하나씩 부호화하는 것을 특징으로 하는 비디오 부호화 장치.
  8. 청구항 6에 있어서,
    상기 현재 프레임이 입력 비디오에 존재하는 첫 번째 프레임인 경우,
    상기 비트율 제어기는,
    상기 현재 프레임에 할당된 프레임 목표 비트량을 상기 복수의 제1 서브 프레임의 개수로 나누어, 상기 서브 프레임 목표 비트량을 도출하는 것을 특징으로 하는 비디오 부호화 장치.
  9. 청구항 6에 있어서,
    상기 현재 프레임이 입력 비디오에 존재하는 첫 번째 프레임이 아닌 경우,
    상기 비트율 제어기는,
    이전 프레임을 구성하는 복수의 제2 서브 프레임 각각에 대한 평균 QP(Quantization Parameter: 양자화 파라미터) 값 및 상기 복수의 제2 서브 프레임 각각의 부호화 과정에서 발생한 실제 발생 비트량을 기반으로, 상기 서브 프레임 목표 비트량을 도출하는 것을 특징으로 하는 비디오 부호화 장치.
  10. 청구항 9에 있어서,
    상기 비트율 제어기는,
    상기 평균 QP 값에 기반하여 제1 가중치를 계산하고,
    상기 실제 발생 비트량에 기반하여 제2 가중치를 계산하고,
    상기 현재 프레임에 할당된 프레임 목표 비트량에 상기 제1 가중치 및 상기 제2 가중치를 적용하여, 상기 서브 프레임 목표 비트량을 도출하는 것을 특징으로 하는 비디오 부호화 장치.
  11. 현재 프레임을 복수의 제1 서브 프레임으로 분할하는 단계;
    상기 복수의 제1 서브 프레임 각각에 대한, 서브 프레임 목표 비트량을 도출하는 단계; 및
    상기 도출된 서브 프레임 목표 비트량에 기반하여 상기 복수의 제1 서브 프레임 각각에 대한 QP 값을 도출하는 단계를 포함하는 비디오 비트율 제어 방법.
  12. 청구항 11에 있어서,
    상기 현재 프레임이 입력 비디오에 존재하는 첫 번째 프레임인 경우,
    상기 서브 프레임 목표 비트량 도출 단계에서는,
    상기 현재 프레임에 할당된 프레임 목표 비트량을 상기 복수의 제1 서브 프레임의 개수로 나누어, 상기 서브 프레임 목표 비트량을 도출하는 것을 특징으로 하는 비디오 비트율 제어 방법.
  13. 청구항 11에 있어서,
    상기 현재 프레임이 입력 비디오에 존재하는 첫 번째 프레임이 아닌 경우,
    상기 서브 프레임 목표 비트량 도출 단계에서는,
    이전 프레임을 구성하는 복수의 제2 서브 프레임 각각에 대한 평균 QP(Quantization Parameter: 양자화 파라미터) 값 및 상기 복수의 제2 서브 프레임 각각의 부호화 과정에서 발생한 실제 발생 비트량을 기반으로, 상기 서브 프레임 목표 비트량을 도출하는 것을 특징으로 하는 비디오 비트율 제어 방법.
  14. 청구항 13에 있어서,
    상기 서브 프레임 목표 비트량 도출 단계는,
    상기 평균 QP 값에 기반하여 제1 가중치를 계산하는 단계;
    상기 실제 발생 비트량에 기반하여 제2 가중치를 계산하는 단계; 및
    상기 현재 프레임에 할당된 프레임 목표 비트량에 상기 제1 가중치 및 상기 제2 가중치를 적용하여, 상기 서브 프레임 목표 비트량을 도출하는 단계를 더 포함하는 것을 특징으로 하는 비디오 비트율 제어 방법.
KR1020120022546A 2012-03-05 2012-03-05 비디오 비트율 제어 방법 및 그 장치 KR20130101412A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020120022546A KR20130101412A (ko) 2012-03-05 2012-03-05 비디오 비트율 제어 방법 및 그 장치
PCT/KR2012/011547 WO2013133522A1 (ko) 2012-03-05 2012-12-27 비디오 비트율 제어 방법 및 그 장치
US14/383,257 US20150023413A1 (en) 2012-03-05 2012-12-27 Method and device for controlling video bit rate

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120022546A KR20130101412A (ko) 2012-03-05 2012-03-05 비디오 비트율 제어 방법 및 그 장치

Publications (1)

Publication Number Publication Date
KR20130101412A true KR20130101412A (ko) 2013-09-13

Family

ID=49116959

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120022546A KR20130101412A (ko) 2012-03-05 2012-03-05 비디오 비트율 제어 방법 및 그 장치

Country Status (3)

Country Link
US (1) US20150023413A1 (ko)
KR (1) KR20130101412A (ko)
WO (1) WO2013133522A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10097828B2 (en) 2014-12-11 2018-10-09 Intel Corporation Rate control for parallel video encoding
CN107820087B (zh) * 2017-10-26 2020-01-03 济南中维世纪科技有限公司 根据移动侦测结果动态调节码率的方法
CN113365061B (zh) * 2020-03-03 2024-02-09 炬芯科技股份有限公司 H264宏块级码率控制方法、装置及可读存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070018590A (ko) * 2005-08-10 2007-02-14 엘지전자 주식회사 비디오 전송 시스템 및 디블로킹 제어 방법
US8165202B1 (en) * 2006-03-31 2012-04-24 Texas Instruments Incorporated Video compression rate
KR101345295B1 (ko) * 2007-06-11 2013-12-27 삼성전자주식회사 인트라 픽처만을 이용한 동영상 시퀀스의 부호화시의비트율 제어 방법 및 장치
KR101173335B1 (ko) * 2008-12-19 2012-08-10 한국전자통신연구원 영상분할기반 초고해상도 비디오 부호화 및 복호화 장치, 및 그 제어 방법
KR20100102493A (ko) * 2009-03-11 2010-09-24 경희대학교 산학협력단 블록 기반 적응적 비트플레인 코딩을 이용한 깊이 정보맵 코딩 방법 및 장치
KR101459714B1 (ko) * 2009-10-28 2014-11-13 에스케이텔레콤 주식회사 공간 분할을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치

Also Published As

Publication number Publication date
US20150023413A1 (en) 2015-01-22
WO2013133522A1 (ko) 2013-09-12

Similar Documents

Publication Publication Date Title
KR101962183B1 (ko) 인트라 예측 모드 부호화/복호화 방법 및 장치
JP6141355B2 (ja) ビデオコード化における量子化
JP6336058B2 (ja) ビデオ及び画像符号化及び復号のためのベースカラーインデックスマップモードの機能
JP2020508617A (ja) 複数の参照線を用いたイントラ予測
KR20160037244A (ko) 향상 계층 비디오 코딩을 위한 적응 양자화
KR102424088B1 (ko) 비디오 코딩을 위한 공간 변화 변환
KR20130107861A (ko) 인터 레이어 인트라 예측 방법 및 장치
US20120328005A1 (en) Construction of combined list using temporal distance
US11805261B1 (en) Adaptive bit rate control for image compression
KR101959490B1 (ko) 비디오 비트율 제어 방법 및 그 장치
KR102226893B1 (ko) 영상 복호화 방법 및 이를 이용하는 장치
JP2022513980A (ja) ビデオコーディング方法及び機器
KR20130101412A (ko) 비디오 비트율 제어 방법 및 그 장치
KR102110230B1 (ko) 비디오 인코딩 및 디코딩 방법과 이를 이용한 장치
US20130177075A1 (en) Weighted Prediction Method and Apparatus in Quantization Matrix Coding
US8971393B2 (en) Encoder
US20130107944A1 (en) Moving image encoding method and decoding method
WO2015054816A1 (en) Encoder-side options for base color index map mode for video and image coding
US20230084718A1 (en) Systems and methods of rate control for multiple pass video encoding
WO2012173449A2 (ko) 비디오 인코딩 및 디코딩 방법과 이를 이용한 장치
KR20130112448A (ko) 비트율 제어 방법 및 장치
WO2012003584A1 (en) Methods and devices for data compression using adaptive reconstruction levels

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid