KR20100104864A - 인코딩 장치와 방법 및 그 인코딩 장치를 포함한 멀티미디어 장치 - Google Patents

인코딩 장치와 방법 및 그 인코딩 장치를 포함한 멀티미디어 장치 Download PDF

Info

Publication number
KR20100104864A
KR20100104864A KR1020090023547A KR20090023547A KR20100104864A KR 20100104864 A KR20100104864 A KR 20100104864A KR 1020090023547 A KR1020090023547 A KR 1020090023547A KR 20090023547 A KR20090023547 A KR 20090023547A KR 20100104864 A KR20100104864 A KR 20100104864A
Authority
KR
South Korea
Prior art keywords
macroblock
gop
bit
unit
quantization
Prior art date
Application number
KR1020090023547A
Other languages
English (en)
Other versions
KR101060495B1 (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 KR1020090023547A priority Critical patent/KR101060495B1/ko
Priority to JP2012500715A priority patent/JP2012521141A/ja
Priority to US13/256,846 priority patent/US8948242B2/en
Priority to CN2010800123302A priority patent/CN102356636A/zh
Priority to PCT/KR2010/001634 priority patent/WO2010107237A2/en
Publication of KR20100104864A publication Critical patent/KR20100104864A/ko
Application granted granted Critical
Publication of KR101060495B1 publication Critical patent/KR101060495B1/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/103Selection of coding mode or of prediction mode
    • H04N19/114Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • 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/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/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/177Methods 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 a group of pictures [GOP]

Landscapes

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

Abstract

본 발명은 목표 비트량을 정확하게 예측하고 뛰어난 화질을 제공하면서도 단순한 메커니즘으로 실시간 환경에서도 적용될 수 있는 비트율 제어 방법을 채용한 인코딩 장치와 방법 및 그 인코딩 장치를 포함한 멀티미디어 장치를 제공한다. 그 인코딩 장치는 픽쳐 그룹(Group Of Picture: GOP) 단위로 비트량(targetGOP)을 할당하는 GOP 비트 할당부; 상기 GOP 내의 매크로블록에 대하여 모드에 따라 매크로블록 단위로 비트량을 할당하는 매크로블록 비트 할당부; 현재의 버퍼 상태를 체크하여 소정 비율 이하로 점유된 경우에, 상기 매크로블록을 변환(transform)하여 획득한 AC 계수를 이용하여 양자화 파라미터(QP: Quantization Parameter) 값을 결정하여 양자화를 수행하는 양자화 장치; 및 가변 길이 부호화(Variable Length Coding: VLC)를 수행하는 VLC부;를 포함한다.

Description

인코딩 장치와 방법 및 그 인코딩 장치를 포함한 멀티미디어 장치{Encoding device and method, and multi-media apparatus comprising the same device}
본 발명은 디지털 멀티미디어 장치에 관한 것으로, 특히 멀티미디어 장치에서 비디오 인코딩을 효율적으로 수행할 수 있는 인코딩 장치 및 방법에 관한 것이다.
비디오 인코더는 방대한 데이터 용량의 비디오 신호를 저장 및 전송 전에 압축된 형태, 즉 비트스트림(bitstream)으로 변환하는 장치이다. 이러한 비디오 인코더는 비디오 신호 압축을 위해 양자화(quantization)라는 테크닉을 이용하는데, 양자화는 양자화 파라미터 값을 이용하여 어떤 범위의 값을 보다 적은 범위의 값을 가지도록 변환하는 기능을 한다.
예컨대, 양자화 수행시에 양자화 파라미터 값이 크면 양자화된 값들의 범위가 작으므로 압축 성능은 높지만 양자화된 값들이 원래의 신호 값과 차이가 커서 화질이 좋지 않다. 반대로 양자화 파라미터 값이 작으면 양자화된 값들이 원래의 신호 값과는 보다 근접하지만 양자화된 값들의 범위가 크기 때문에 압축 성능은 좋지 않다.
한편, 비디오 인코더의 출력 비트스트림은 사용 목적에 따라 고정 비트율(constant bit rate: CBR) 또는 가변 비트율(variable bit rate: VBR)이 사용된다. 고정 비트율 방식은 일정 시간에 대해서 정해진 비트 수로 인코딩하는 방식으로, 제한된 대역폭(bandwidth)이나 저장 매체를 사용할 때 이용되며, 움직임이 크거나 복잡한 영상의 경우에 화질이 상대적으로 나쁘다는 문제점이 있다. 반면에 가변 비트율 방식은 영상의 특성에 상관없이 일정한 화질로 인코딩하는 방식으로, 대역폭이 충분하거나 DVD(Digital Video Disk) 등의 저장 매체를 사용할 때 이용된다.
고정 비트율 방식에서 정해진 비트수로 인코딩하기 위해서 비트율 제어(bit rate control) 방법을 이용하며, 비트율, 즉 비트량은 양자화 파라미터 값과 프레임 스킵(frame skip)을 적절하게 이용하여 제어한다. 여기서, 프레임 스킵이란 필요에 따라 특정 프레임에 대한 인코딩을 생략하는 것을 의미한다.
비트량을 작게 하기 위해서는 큰 양자화 파라미터 값과 프레임 스킵을 하면 되며, 크게 하기 위해서는 작은 양자화 파라미터 값을 사용하면 된다. 양자화 파라미터 값은 비트량뿐만 아니라 화질에도 큰 영향을 주기 때문에 적절한 값을 사용하는 것이 중요하다. 한편, 현재 양자화 파라미터 값을 결정하는 비트율 제어 방법이 표준화되지 않았기 때문에, 인코더마다 비트율 제어 방법이 다를 수 있으며, 어떠한 비트율 제어방법을 사용하느냐에 따라 인코더의 성능에 큰 영향을 준다.
종래 비트율 제어 방법은 크게 두 가지 방법으로 나눌 수 있다. 하나는 버퍼의 충만도, 즉 버퍼의 점유율에 비례하도록 양자화 파라미터 값을 정하는 방법이 고, 다른 하나는 입력 영상의 복잡도를 계산하여 복잡도에 비례하여 비트 할당을 하는 방법이다.
전자는 현재의 버퍼 상태에 따라 양자화 파라미터 값을 조절하는 방법으로, 남아 있는 버퍼량과 전송 매체의 대역폭 등을 고려하여 양자화 파라미터 값을 조절한다. 보통 MPEG 계열의 TM5와 VCEG 계열의 TMN8 등에서는 이 방법을 사용하고 있다. 후자는 영상의 복잡도에 따라 부호화 단위마다 비트를 할당하고 양자화 파라미터 값을 조절하는 방법이다.
그러나, 현재의 버퍼 상태에 따라 양자화 파라미터 값을 조절하는 방법은 단순하지만 영상이 전혀 고려되지 않고 있기 때문에, 영상에 따라서 목표 비트량이 잘 맞는 경우도 있지만 잘 맞지 않는 경우가 빈번하며, 또한, 화질의 변화가 심하여 눈에 거슬리는 단점이 있다.
반면에, 입력 영상의 복잡도를 이용하여 비트 할당을 하는 방법은 원하는 비트율을 유지하면서도 좋은 화질을 제공하지만, 영상의 복잡도를 분석하기 위해 화소 단위로 평균 및 분산 등의 복잡한 계산을 수행해야 하기 때문에 인코딩 속도 저하 및 메모리 소비 증가 등의 문제가 있다. 실제로 복잡도 분석과 관련된 많은 알고리즘들이 개발되어 있기는 하지만, 복잡한 계산에 기인하여 실시간 어플리케이션에서는 적용되기 어려우며, 실제로 사용되는 예도 미미하다.
본 발명이 해결하고자 하는 과제는 목표 비트량을 정확하게 예측하고 뛰어난 화질을 제공하면서도 단순한 메커니즘으로 실시간 환경에서도 적용될 수 있는 비트율 제어 방법을 채용한 인코딩 장치와 방법 및 그 인코딩 장치를 포함한 멀티미디어 장치를 제공하는 데에 있다.
상기 과제를 해결하기 위하여, 본 발명은 픽쳐 그룹(Group Of Picture: GOP) 단위로 비트량(targetGOP)을 할당하는 GOP 비트 할당부; 상기 GOP 내의 매크로블록에 대하여 모드에 따라 매크로블록 단위로 비트량을 할당하는 매크로블록 비트 할당부; 현재의 버퍼 상태를 체크하여 소정 비율 이하로 점유된 경우에, 상기 매크로블록을 변환(transform)하여 획득한 AC 계수를 이용하여 양자화 파라미터(QP: Quantization Parameter) 값을 결정하여 양자화를 수행하는 양자화 장치; 및 가변 길이 부호화(Variable Length Coding: VLC)를 수행하는 VLC부;를 포함하는 인코딩 장치를 제공한다.
본 발명에 있어서, 상기 GOP 비트 할당부는 초당 목표 비트율(targetsec)을 초당 프레임 수(fps: frame per second)로 나누고 주프레임(key frame) 간격(Iinterval)을 곱하여 상기 GOP 단위 비트량(targetGOP)을 계산할 수 있다. 또한, 상기 매크로블록 비트 할당부는 상기 매크로블록에 대한 2가지 모드인 인트라(intra) 매크로블록 및 인터(inter) 매크로블록 각각에 대하여 비트량을 할당하게 된다. 예컨대, 상기 인터 매크로블록의 비트량(targetinter_MB)은 상기 GOP 단위 비트량(targetGOP)을 주프레임 간격(Iinterval)과 상기 비트량 비(RatioItop)를 합한 값으로 나눈 결과값을 다시 하나의 프레임 내에 존재하는 매크로블록의 수(MB_Num)로 나눔으로써, 계산될 수 있다.
본 발명에 있어서, 상기 양자화 장치는, 상기 매크로블록에 대하여 인트라 및 인터 예측과 변환을 수행하는 예측 및 변환부; 상기 변환을 통해 획득한 상기 AC 계수를 분석하여 상기 QP 값을 결정하는 QP 결정부; 현재 QP 값을 주변 QP 값과 비교하여 차이값이 소정 임계값 이내가 되도록 상기 현재 QP값을 조절하는 QP 조절부; 및 상기 QP값을 이용하여 양자화를 수행하는 양자화부;를 포함할 수 있다.
또한, 본 발명은 상기 과제를 달성하기 위하여, 인코딩이 수행될 신호가 입력되는 입력부; 상기 입력부를 통해 입력된 신호를 GOP 비트 할당, 매크로블록 비트 할당 및 버퍼의 상태 여부에 따라 양자화하여 인코딩을 수행하는 인코딩 장치; 상기 인코딩 장치에 의해 인코딩된 비트스트림(bitstream)을 송신하는 송신부; 상기 인코딩 장치에 의해 인코딩된 비트스트림을 저장하는 저장부; 및 상기 입력부, 인코딩 장치, 송신부 및 저장부를 제어하는 제어부;를 포함하는 멀티미디어 장치를 제공한다.
더 나아가, 본 발명은 상기 과제를 달성하기 위하여, 픽처 그룹(GOP) 단위로 비트량(targetGOP)을 할당하는 GOP 비트 할당 단계; 상기 GOP 내의 매크로블록에 대 하여 모드에 따라 매크로블록 단위로 비트량을 할당하는 매크로블록 비트 할당단계; 현재의 버퍼 상태를 체크하여 소정 비율 이하로 점유된 경우에, 상기 매크로블록을 변환하여 획득한 AC 계수를 이용하여 양자화 파라미터(QP) 값을 결정하여 양자화를 수행하는 양자화 수행 단계; 및 가변 길이 부호화(VLC)를 수행하는 VCL 단계;를 포함하는 인코딩 방법을 제공한다.
본 발명에 있어서, 상기 인코딩 방법은, 상기 양자화 단계 전에 상기 버퍼의 상태를 체크하는 버퍼 체크 단계를 더 포함할 수 있다. 그에 따라, 상기 버퍼가 소정 비율보다 높게 점유된 경우에 상기 양자화 단계를 수행하지 않고 상기 VLC 단계를 수행할 수 있다.
본 발명에 따른 인코딩 장치와 방법 및 그 인코딩 장치를 포함한 멀티미디어 장치는 비교적 단순한 방법, 즉 초당 목표 비트율(targetsec), 초당 프레임 수(fps: frame per second), 주프레임(key frame) 간격(Iinterval)을 이용하여 GOP 단위 비트량(targetGOP)을 계산하고, 또한, GOP 단위 비트량(targetGOP) 및 인터 매크로블록에 대한 상기 인트라 매크로블록의 비트량 비(RatioItop)를 이용하여 매크로블록 단위의 비트량을 계산함으로써, 종래 기술 보다 뛰어난 비트량 예측과 화질을 제공할 수 있다.
또한, 본 발명의 인코딩 장치와 방법 및 그 인코딩 장치는 위와 같은 비트량 예측과 함께 버퍼 상태를 체크하여 필요에 따라 매크로블록 단위로 코딩을 생략함 으로써, 오버플로우(overflow) 발생을 사전에 예방할 수 있어 안정적인 인코딩을 수행할 수 있도록 한다. 그에 따라, 본 발명의 인코딩 장치와 방법 및 그 인코딩 장치는 제한된 대역폭이나 저장 매체를 어플리케이션으로 하는 비디오 인코더에 효과적이고 안정적으로 이용될 수 있다.
이하에서는 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 이하의 설명에서 어떤 구성 요소가 다른 구성 요소에 연결된다고 기술될 때, 이는 다른 구성 요소와 바로 연결될 수도 있지만, 그 사이에 제3의 구성 요소가 개재될 수도 있다. 또한, 도면에서 각 구성 요소의 구조나 크기는 설명의 편의 및 명확성을 위하여 과장되었고, 설명과 관계없는 부분은 생략되었다. 도면상에서 동일 부호는 동일한 요소를 지칭한다. 한편, 사용되는 용어들은 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다.
도 1은 본 발명의 일 실시예에 따른 멀티미디어 장치에 대한 블록 구조도이다.
도 1을 참조하면, 본 실시예에 따른 멀티미디어 장치는 입력부(200), 인코딩 장치(100), 송신부(300), 저장부(400) 및 제어부(500)를 포함한다.
입력부(200)는 인코딩 장치(100)에서 인코딩이 수행될 신호가 입력되며, 송신부(300)는 인코딩 장치(100)를 통해 인코딩되어 출력된 비트스트림 신호가 송신된다.
인코딩 장치(100)는 입력부(200)를 통해 입력된 신호에 대하여 GOP 비트 할당 및 매크로블록 비트 할당을 통해 비트량을 제어한 후, 버퍼의 상태 여부에 따라 양자화하고, 가변길이부호화(Variable Length Coding: VLD) 함으로써, 프레임별로 인코딩을 수행한다. 이러한 인코딩 장치(100)는 초당 목표 비트율(targetsec), 초당 프레임 수(fps: frame per second), 주프레임(key frame) 간격(Iinterval), 및 인터(inter) 매크로블록에 대한 인트라(intra) 매크로블록의 비트량 비(RatioItop) 등을 이용하여 비트량을 제어한다.
그에 따라, 매우 정확한 비트량을 예측할 수 있으며, 또한, 종래와 같이 복잡도를 분석하기 위해 복잡한 계산을 해야 하는 번거로움을 피할 수 있다. 한편, 양자화를 수행하기 전에 버퍼의 상태를 검사하여 버퍼의 점유율에 따라 양자화를 수행하기 때문에 버퍼의 과도 점유에 따른 오버플로우(overflow) 발생 가능성을 사전에 예방함으로써, 인코딩을 매우 원활하게 수행할 수 있도록 한다. 인코딩 장치(100)에 대한 좀더 상세한 설명은 도 2의 설명부분에서 기술한다.
한편, 저장부(400)는 인코딩 장치(100)에 의해 인코딩된 비트스트림을 저장하거나 또는 인코딩 과정 중에 필요한 데이터를 저장한다. 제어부(500)는 앞서 구성요소들, 즉 입력부(200), 인코딩 장치(100), 송신부(300), 저장부(400) 등을 전반적으로 제어한다. 본 도면의 멀티미디어 장치에 인코딩 장치(100)만이 도시되고 있으나 본 실시예의 멀티미디어 장치는 디코딩 장치(미도시)를 포함할 수 있음은 물론이다. 또한, 입력부에 대응되는 출력부(미도시), 및 송신부에 대응되는 수신 부(미도시) 등도 본 실시예의 멀티미디어 장치에 포함될 수 있음은 물론이다.
본 실시예의 멀티미디어 장치는 몇 개의 파라미터, 즉 targetsec, fps, Iinterval, 및 RatioItop를 이용하여 GOP 단위 비트량 및 매크로블록 단위 비트량을 할당할 수 있고, 또한, 버퍼의 상태를 체크하여 양자화를 수행하는 인코딩 장치를 포함함으로써, 매우 정확한 비트량을 예측 및 제어할 수 있으며, 또한 오버플로우를 예방하여 인코딩을 원활하게 수행할 수 있는 멀티미디어 장치를 구현할 수 있도록 한다.
도 2는 도 1의 멀티미디어 장치에서 인코딩 장치(100)를 좀더 상세하게 보여주는 블록 구조도이다.
도 2를 참조하면, 본 실시예의 인코딩 장치(100)는 GOP 비트 할당부(120), 매크로블록 비트 할당부(140), 버퍼 상태 확인부(150), 양자화 장치(160) 및 VCL부(170)를 포함한다.
GOP 비트 할당부(120)는 픽처 그룹(Group Of Picture: GOP) 단위로 비트량을 할당하게 되는데, 이러한 GOP 단위 비트량 할당을 위해 몇 가지 파라미터, 즉 초당 목표 비트율(targetsec), 초당 프레임 수(fps: frame per second), 주프레임(key frame) 간격(Iinterval)을 이용한다. GOP 단위 비트량을 targetGOP 할 때, targetGOP 계산식은 식(1)으로 나타낼 수 있겠다.
targetGOP = (targetsec/fps)×Iinterval .......................식(1)
여기서, 파라미터들 targetsec,fps, 및 Iinterval 사용자의 의해 해당 영상에 따라 설정되는 값이다. targetsec/fps은 프레임당 비트량을 의미하게 되고, 거기에 주프레임 간격을 곱하게 되면, GOP 내의 모든 프레임의 비트량이 된다. 결국, targetGOP의 의미는 주프레임(Key Frame) 포함한 하나의 GOP에 할당되는 비트량을 의미하게 된다.
매크로블록 비트 할당부(140)는 GOP 단위 할당부(120)에 의한 GOP 단위 비트량 할당이 수행된 후에 매크로블록 단위로 비트량을 할당한다. 이러한 매크로블록 비트 할당부(140)는 GOP를 시작할 때마다 인트라(intra)와 인터(inter) 매크로블록 당 비트량을 할당하게 되는데, 이러한 인트라(intra)와 인터(inter) 매크로블록에 대한 비트량 계산식은 다음과 같다.
targetinter _ MB = targetGOP/(Iinterval + RatioItop) × 1/MB_Num .......식(2)
targetintta _ MB = targetinter _ MB×RatioItop ..........................식(3)
여기서, targetinter _ MB 는 인터 매크로블록에 대한 할당 비트량을 의미하고, targetintra_MB 은 인트라 매크로블록에 대한 할당 비트량을 의미한다. 또한, RatioItop 는 인터 매크로블록에 대한 상기 인트라 매크로블록의 비트량 비를 의미하며, MB_Num은 하나의 프레임 내에 포함된 매크로블록의 수를 의미한다.
식(2)을 검토하면, targetGOP/(Iinterval + RatioItop)는 RatioItop에 따라 결정되는 프레임 당 비트량이 되며, 프레임 당 비트량을 프레임 내의 총 매크로블록으로 나누게 되므로, 결국, 매크로블록에 대한 비트량이 되며, 특히 식(2)는 인터 매크로블록에 대한 비트량 계산식이 된다. 한편, 식(3)은 인트라 매크로블록에 대한 비트량 계산식이고, 인트라 매크로블록에 대한 계산은 앞서 식(2)을 통해 구한 인터 매크로블록의 비트량에 RatioItop 을 곱함으로써 간단히 계산할 수 있다.
여기서, RatioItop 는 처음에는 다양한 실험을 통해 정해진 초기값을 사용하여 설정하고, 그 후에는 GOP에 대한 인코딩을 시작할 때마다 이전에 사용된 인터/인트라 매크로블록에서 사용된 평균 비트량의 비와 현재 RatioItop 를 이용해서 계속 업데이트 한다. RatioItop는 엄격한 고정 비트율에서는 1이어야 하지만, 인트라 모드, 즉 인트라 매크로블록과 인터 모드, 즉 인터 매크로블록에 같은 비트량을 할당하게 되면, 인트라 프레임의 화질이 크게 떨어지게 되고, 떨어진 인트라 프레임의 화질은 픽처 그룹 내의 모든 인터 프레임에도 영향을 주게 되어, 전 프레임의 화질 감소를 초래하는 원인이 된다. 따라서, 인트라 모드에 더 많은 비트량을 할당하는 것이 바람직하다. 예컨대, RatioItop는 3 ~ 4 정도가 바람직하다.
참고로, 픽처 그룹, 즉 GOP는 프레임 내 매크로블록이 모두 인트라 매크로블 록인 인트라 프레임, 또는 주프레임과, 약간의 인트라 매크로블록을 포함하고 대부분은 인터 매크로블록으로 이루어진 인터 프레임으로 나눌 수 있다.
버퍼 상태 확인부(150)는 인코딩 과정 중에 버퍼의 점유율이 어느 정도 인지 체크하는 기능을 한다.
양자화 장치(160)는 버퍼 상태 확인부(150)에서 확인된 현재의 버퍼 상태에 따라, 양자화 과정을 수행하거나 수행하지 않는다. 즉, 현재의 버퍼 점유율이 소정 비율 이하로 점유된 경우에, 매크로블록을 변환(transform)하여 AC 계수를 획득하고, 획득한 AC 계수를 이용하여 양자화 파라미터(QP: Quantization Parameter) 값을 결정한 후, 결정된 양자화 파라미터를 이용하여 양자화를 수행한다. 반대로, 버퍼의 점유율이 소정 비율보다 높게 되면 양자화 과정을 수행하지 않는다. 이와 같이 버퍼의 상태에 따라 양자화 과정을 수행하거나 또는 생략함으로써, 버퍼의 과도 점유에 따른 오버플로우를 사전에 예방하게 된다. 양자화 장치(160)에 대한 좀더 상세한 설명은 도 3에 대한 설명 부분에서 기술한다.
VLC부(180)는 양자화 과정이 수행되거나 또는 생략된 매크로블록에 대하여 가변 길이 부호화(Variable Length Coding: VLC)를 수행함으로써, 하나의 매크로블록에 대한 인코딩 과정을 완료한다.
본 실시예의 인코딩 장치는 단순한 몇 개의 파라미터를 이용하여 비트량을 계산하고, 또한 버퍼의 상태를 체크하여 양자화 과정을 생략하는 테크닉을 채용함으로써, 매우 정확한 비트량을 예측하여 뛰어난 화질을 제공할 수 있으며 또한, 안정적인 인코딩을 수행할 수 있도록 한다. 결국 본 발명의 인코딩 장치는 종래 버퍼 상태에 따라 비트량을 제어하는 방법과 복잡도에 의해 비트량을 제어하는 방법을 적절히 조합하되, 비트량 계산을 위해 복잡도를 분석하는 대신에 손쉽게 예측 변경할 수 있는 몇몇 파라미터를 이용하여 계산함으로써, 계산식을 단순하고 그에 따라 인코딩 속도 및 메모리 소비를 획기적으로 개선할 수 있도록 한다.
도 3은 도 2의 인코딩 장치에서 양자화 장치(160)를 좀더 상세하게 보여주는 블록 구조도이다.
도 3을 참조하면, 본 실시예의 양자화 장치(160)는 예측 및 변환부(162), QP 결정부(164), QP 조절부(166) 및 양자화부(168)를 포함한다.
예측 및 변환부(162)는 매크로블록에 대하여 움직임 보상 등을 위한 인트라 및 인터 예측을 수행하게 되는데, 일반적으로 인터 예측은 픽처들 사이의 시간적인 중복성을 제거하여 영상을 압축하는 방법으로, 움직임 추정 및 움직임 보상 등으로 이루어지며, 인트라 예측은 프레임 내에서 공간 중복성을 줄이는 과정으로 인트라 프레임의 압축 효율을 높이기 위해 수행된다. 이러한 인트라/인터 예측은 본 발명의 기술분야에서 이미 널리 알려진 내용이므로 그에 대한 상세한 설명은 생략한다.
또한, 예측 및 변환부(162)는 양자화 전에 도메인 변환(domain transform)을 수행하는 기능을 한다. 예컨대, 도메인 변환으로 이산 여현 변환Discrete Cosine Transform: DCT) 또는 웨이블릿 변환(wavelet transform)을 수행할 수 있다. 이러한 여러 변환은 현재 JPEG 이미지 압축, MJPEG, MPEG 및 DV 비디오 압축에 주로 사용되고 있고 이하 설명은 DCT 변환을 예로 설명하기로 한다. DCT 역시 본 발명의 기술분야에서 이미 널리 알려진 내용이므로 그에 대한 상세한 설명은 생략한다.
QP 결정부(164)는 DCT 변환을 통해 획득한 AC 계수를 이용하여 양자화 파라미터(Quantization Parameter: QP) 값을 결정한다. 즉, DCT 변환을 하면 DC(직류 성분) 계수 및 AC(교류 성분) 계수를 얻을 수 있는데, 여기서 DC 계수는 DCT을 통해 얻어진 계수 블록의 제일 왼쪽 상단에 위치한 첫 번째 계수로 낮은 주파수, 즉 직류 성분을 의미하고, 그 외의 다른 계수들은 높은 주파수 성부의 계수들로 AC 계수라고 한다.
이러한 AC 계수는 분산 성분으로 라플라시안(Laplacian) 분포를 가지며, 이러한 분포도는 비트량과 비례하는 특성을 갖는다. 이러한 특성을 가지는 AC 계수 분포를 가지고 매크로블록의 비트량을 예측하고, 그에 기초하여 QP 값을 결정하게 된다. 또한 AC 계수는 DCT 변환뿐만 아니라 웨이블릿 등 변환의 종류와 상관 없이 다른 변환을 통하여 얻을 수도 있다.
QP 조절부(166)는 QP 결정부(164)를 통해 결정된 QP 값을 주변 QP 값과 비교하여 차이값이 소정 임계값 이내가 되도록 조절한다. 앞서, QP 결정부(164)가 AC 계수를 이용하여 QP 값을 결정했다 하더라고, 매크로블록 단위로 QP 값이 급격하게 변하면 블록킹 현상이 발생한다. 그에 따라, QP 조절부(166)는 이웃 매크로블록의 QP 값과 비교하여 그 차이가 소정값 이내가 되도록 QP 결정부(164)를 통해 결정된 QP 값을 적절히 조절한다. 한편, 매크로블록 단위의 QP 값 계산은 시스템을 복잡하게 하기 때문에 주기적으로 QP 값을 변동시키면서 복잡도를 적절히 조절할 수도 있다.
양자화부(168)는 QP 조절부(166)의 조절을 통해 최종적으로 결정된 QP 값을 이용하여 양자화를 수행한다. 양자화 과정 역시 이미 널리 알려진 내용이므로 그에 대한 상세한 설명은 생략한다.
본 실시예에서 양자화 장치(160)는 인코딩 중에 버퍼의 점유율에 따라 해당 매크로블록에 대한 양자화 과정을 수행하거나 중지할 수 있다. 그에 따라, 버퍼의 과도 점유에 따른 오버플로우 발생 가능성을 최소로 할 수 있다.
도 4는 본 발명의 다른 실시예에 따른 인코딩 방법을 보여주는 흐름도이다.
도 4를 참조하면, 본 실시예의 인코딩 방법은 먼저, 소정 파라미터, 즉 targetsec,fps, 및 Iinterval를 이용하여 GOP 단위의 비트량의 할당한다(S100). GOP 단위 비트량 할당은 앞서 식(1)을 계산할 수 있음은 전술한 바와 같다. 이러한 GOP 단위 비트량 할당 후에 매크로블록 단위로 비트량을 할당한다(S110). 매크로블록 단위 비트량 할당에 대해서는 도 5에서 좀더 상세하게 기술한다.
이후, 버퍼 상태가 소정 한계 점유율을 초과했는지 판단한다(S120). 만약 한계 점유율을 초과한 경우에는 양자화 과정 단계(S130)를 생략하여 해당 매크로블록을 넌-코드 타입(non-coded type)으로 결정하고(S160) VLC 수행 단계(S140)로 이행한다. 버퍼가 한계 점유율을 초과하지 아니한 경우에는 양자화 과정 수행 단계(S130)로 이행하여 양자화 과정이 수행된 후 VCL 수행 단계(S140)로 이행한다. 양자화 과정 수행 단계(S130)에 대해서는 도 6 부분에서 좀더 상세히 기술한다. VLC 수행 단계(130)가 종료되면, 현재 매크로블록이 마지막 매크로 블록인가를 판단하여(S150), 만약 마지막 매크로블록이 아니면 매크로블록 단위 비트량 할당 단 계(S110)로 이행하고, 마지막 매크로블록인 경우에는 GOP의 인코딩 과정을 종료한다.
본 실시예에 따른 인코딩 방법은 targetsec,fps, 및 Iinterval 등의 몇 개의 파라미터를 이용하여 GOP 및 매크로블록의 비트량을 용이하게 계산하고, 또한 버퍼의 상태를 체크하여 양자화 과정을 생략하는 테크닉을 채용함으로써, 매우 정확한 비트량을 예측하면서도 또한, 안정적인 인코딩을 수행할 수 있도록 한다.
도 5는 도 4의 인코딩 방법 중 매크로블록 비트량 할당 단계를 좀더 상세하게 보여주는 흐름도이다.
도 5를 참조하면, 매크로블록 비트량 할당 단계(S100)는, 먼저 현재 매크로블록이 GOP 내의 최초 매크로블록인지를 판단한다(S112). 최초 매크로블록인 경우에는 targetGOP, 및 RatioItop를 이용하여 모드, 즉 인트라 모드 또는 인터 모드에 따른 매크로블록 단위의 비트량을 할당한다(S114). 매크로블록 단위의 비트량 할당은 식(2) 및 식(3)의 계산식을 이용할 수 있음은 물론이다.
만약, 현재 매크로블록이 GOP 내의 최초 매크로블록이 아닌 경우에는 버퍼 상태 확인 단계(S120)로 이행한다. 즉 매크로블록 단위의 비트량 할당은 GOP을 시작할 때 GOP 내에 포함된 모든 매크로블록에 대하여 수행하게 된다. 또한, 도 4의 에서 VLC 수행(S140) 후 현재 매크로 블록이 마지막 매크로 블록 인지를 판단하여(S150) 마지막 매크로 블록이 아닌 경우에 GOP 내의 최초 매크로 블록 인지 판단하는 단계(S112)로 이행한다.
도 6은 도 4의 인코딩 방법 중 양자화 과정 수행 단계를 좀더 상세하게 보여주는 흐름도이다.
도 6을 참조하면, 양자화 과정 수행 단계(S130)는 먼저 인터/인트라 예측 및 변환을 수행한다(S132). 다음, 변환을 통해 얻은 AC 계수를 이용하여 QP 값을 결정한다(S134). 그 후 현재 QP 값과 주변 QP 값의 차이가 소정 임계값 이내의 범위에 있도록 현재 QP 값을 조절한다(S136). 끝으로 조절을 통해 결정된 QP 값을 가지고 양자화를 수행한다(S138). 이러한 양자화 과정은 도 3에서 설명했으므로 그에 대한 상세한 설명은 생략한다. 한편, 전술한 바와 같이 이러한 양자화 과정 수행 단계(130)는 버퍼의 점유율에 따라 생략할 수 있음은 전술한 바와 같다.
지금까지, 본 발명을 도면에 표시된 실시예를 참고로 설명하였으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 멀티미디어 장치에 대한 블록 구조도이다.
도 2는 도 1의 멀티미디어 장치에서 인코딩 장치를 좀더 상세하게 보여주는 블록 구조도이다.
도 3은 도 2의 인코딩 장치에서 양자화 장치를 좀더 상세하게 보여주는 블록 구조도이다.
도 4는 본 발명의 다른 실시예에 따른 인코딩 방법을 보여주는 흐름도이다.
도 5는 도 4의 인코딩 방법 중 매크로블록 비트량 할당 단계를 좀더 상세하게 보여주는 흐름도이다.
도 6은 도 4의 인코딩 방법 중 양자화 과정 수행 단계를 좀더 상세하게 보여주는 흐름도이다.

Claims (21)

  1. 픽쳐 그룹(Group Of Picture: GOP) 단위로 비트량(targetGOP)을 할당하는 GOP 비트 할당부;
    상기 GOP 내의 매크로블록에 대하여 모드에 따라 매크로블록 단위로 비트량을 할당하는 매크로블록 비트 할당부;
    현재의 버퍼 상태를 체크하여 소정 비율 이하로 점유된 경우에, 상기 매크로블록을 변환(transform)하여 획득한 AC 계수를 이용하여 양자화 파라미터(QP: Quantization Parameter) 값을 결정하여 양자화를 수행하는 양자화 장치; 및
    가변 길이 부호화(Variable Length Coding: VLC)를 수행하는 VLC부;를 포함하는 인코딩 장치.
  2. 제1 항에 있어서,
    상기 GOP 비트 할당부는 초당 목표 비트율(targetsec)을 초당 프레임 수(fps: frame per second)로 나누고 주프레임(key frame) 간격(Iinterval)을 곱하여 상기 GOP 단위 비트량(targetGOP)을 계산하는 것을 특징으로 하는 인코딩 장치.
  3. 제1 항에 있어서,
    상기 매크로블록 비트 할당부는 각각의 상기 GOP에 대한 인코딩을 시작할 때, 매크로블록 단위로 비트량을 할당하며,
    상기 매크로블록 비트 할당부는 상기 매크로블록에 대한 2가지 모드인 인트라(intra) 매크로블록 및 인터(inter) 매크로블록 각각에 대하여 비트량을 할당하는 것을 특징으로 하는 인코딩 장치.
  4. 제3 항에 있어서,
    상기 매크로블록 비트 할당부는 상기 GOP 단위 비트량(targetGOP) 및 상기 인터 매크로블록에 대한 상기 인트라 매크로블록의 비트량 비(RatioItop)를 이용하여 상기 인터 매크로블록의 비트량(targetinter_MB)을 계산하는 것을 특징으로 하는 인코딩 장치.
  5. 제4 항에 있어서,
    상기 인터 매크로블록의 비트량(targetinter_MB)은 상기 GOP 단위 비트량(targetGOP)을 주프레임 간격(Iinterval)과 상기 비트량 비(RatioItop)를 합한 값으로 나눈 결과값을 다시 하나의 프레임 내에 존재하는 매크로블록의 수(MB_Num)로 나눔으로써, 계산되는 것을 특징으로 하는 인코딩 장치.
  6. 제4 항에 있어서,
    상기 비트량 비(RatioItop)는 최초에는 실험을 통해 획득한 초기값으로 설정되며, 이후에는 상기 GOP 각각에 대한 인코딩을 시작할 때마다, 이전에 사용된 평균 비트량의 비와 현재 비트량의 비에 의해 업데이트 되는 것을 특징으로 하는 인코딩 장치.
  7. 제1 항에 있어서,
    상기 양자화 장치는,
    상기 매크로블록에 대하여 인트라 및 인터 예측과 변환을 수행하는 예측 및 변환부;
    상기 변환을 통해 획득한 상기 AC 계수를 분석하여 상기 QP 값을 결정하는 QP 결정부;
    현재 QP 값을 주변 QP 값과 비교하여 차이값이 소정 임계값 이내가 되도록 상기 현재 QP값을 조절하는 QP 조절부; 및
    상기 QP값을 이용하여 양자화를 수행하는 양자화부;를 포함하는 것을 특징으로 하는 인코딩 장치.
  8. 제1 항에 있어서,
    상기 버퍼가 소정 비율보다 높게 점유된 경우에 상기 양자화부에 의한 양자화를 수행하지 않고 상기 VLC부에 의한 VLC를 수행하는 것을 특징으로 하는 인코딩 장치.
  9. 인코딩이 수행될 신호가 입력되는 입력부;
    상기 입력부를 통해 입력된 신호를 GOP 비트 할당, 매크로블록 비트 할당 및 버퍼의 상태 여부에 따라 양자화하여 인코딩을 수행하는 인코딩 장치;
    상기 인코딩 장치에 의해 인코딩된 비트스트림(bitstream)을 송신하는 송신부;
    상기 인코딩 장치에 의해 인코딩된 비트스트림을 저장하는 저장부; 및
    상기 입력부, 인코딩 장치, 송신부 및 저장부를 제어하는 제어부;를 포함하는 멀티미디어 장치.
  10. 제9 항에 있어서,
    상기 인코딩 장치는,
    픽처 그룹(GOP) 단위로 비트량(targetGOP)을 할당하는 GOP 비트 할당부;
    상기 GOP 내의 매크로블록에 대하여 모드에 따라 매크로블록 단위로 비트량을 할당하는 매크로블록 비트 할당부;
    현재의 버퍼 상태를 체크하여 소정 비율 이하로 점유된 경우에, 상기 매크로블록을 변환하여 획득한 AC 계수를 이용하여 양자화 파라미터(QP) 값을 결정하여 양자화를 수행하는 양자화 장치; 및
    가변 길이 부호화(VLC)를 수행하는 VLC부;를 포함하는 것을 특징으로 하는 멀티미디어 장치.
  11. 제10 항에 있어서,
    상기 GOP 비트 할당부는 초당 목표 비트율(targetsec)을 초당 프레임 수(fps)로 나누고 주프레임 간격(Iinterval)을 곱하여 상기 GOP 단위 비트량(targetGOP) 계산하며,
    상기 매크로블록 비트 할당부는 상기 GOP 단위 비트량(targetGOP)을 주프레임 간격(Iinterval)과 인터 매크로블록에 대한 인트라 매크로블록의 비트량 비(RatioItop)를 합한 값으로 나눈 결과값을 다시 하나의 프레임 내에 존재하는 매크로블록의 수(MB_Num)로 나누어 상기 인터 매크로블록의 비트량(targetinter_MB)을 계산하는 것을 특징으로 하는 멀티미디어 장치.
  12. 제10 항에 있어서,
    상기 양자화 장치는,
    상기 매크로블록에 대하여 인트라 및 인터 예측과 변환을 수행하는 예측 및 변환부;
    상기 변환을 통해 획득한 상기 AC 계수를 분석하여 상기 QP 값을 결정하는 QP 결정부; 및
    현재 QP 값을 주변 QP 값과 비교하여 차이값이 소정 임계값 이내가 되도록 상기 현재 QP값을 조절하는 QP 조절부; 및
    상기 QP값을 이용하여 양자화를 수행하는 양자화부;를 포함하는 것을 특징으로 하는 멀티미디어 장치.
  13. 픽처 그룹(GOP) 단위로 비트량(targetGOP)을 할당하는 GOP 비트 할당 단계;
    상기 GOP 내의 매크로블록에 대하여 모드에 따라 매크로블록 단위로 비트량을 할당하는 매크로블록 비트 할당단계;
    현재의 버퍼 상태를 체크하여 소정 비율 이하로 점유된 경우에, 상기 매크로블록을 변환하여 획득한 AC 계수를 이용하여 양자화 파라미터(QP) 값을 결정하여 양자화를 수행하는 양자화 수행 단계; 및
    가변 길이 부호화(VLC)를 수행하는 VCL 단계;를 포함하는 인코딩 방법.
  14. 제13 항에 있어서,
    상기 GOP 비트 할당 단계는 초당 목표 비트율(targetsec)을 초당 프레임 수(fps: frame per second)로 나누고 주프레임(key frame) 간격(Iinterval)을 곱하여 상기 GOP 단위 비트량(targetGOP)을 계산하는 것을 특징으로 하는 인코딩 방법.
  15. 제13 항에 있어서,
    상기 매크로블록 비트 할당 단계에서 상기 GOP 단위 비트량(targetGOP)을 주프레임 간격(Iinterval)과 인터 매크로블록에 대한 인트라 매크로블록의 비트량 비(RatioItop)를 합한 값으로 나눈 결과값을 다시 하나의 프레임 내에 존재하는 매크로블록의 수(MB_Num)로 나누어 상기 인터 매크로블록의 비트량(targetinter_MB)을 계산하는 것을 특징으로 하는 인코딩 방법.
  16. 제15 항에 있어서,
    상기 비트량 비(RatioItop)는 최초에는 실험을 통해 획득한 초기값으로 설정되며, 이후에는 상기 GOP 각각에 대한 인코딩을 시작할 때마다, 이전에 사용된 평균 비트량의 비와 현재 비트량의 비에 의해 업데이트 되는 것을 특징으로 하는 인코딩 방법.
  17. 제13 항에 있어서,
    상기 매크로블록 비트 할당 단계는, 상기 GOP에 대한 인코딩을 시작할 때, 상기 매크로블록이 상기 GOP 내의 최초 매크로블록인가를 판단하는 판단 단계, 및 매크로블록 단위로 비트량을 할당하는 할당 단계를 포함하고,
    상기 판단 단계에서 상기 매크로블록이 최초 매크로블록이 경우에, 상기 할 당 단계에서 상기 매크로블록에 대한 2가지 모드인 인트라(intra) 매크로블록 및 인터(inter) 매크로블록 각각에 대하여 비트량을 할당하는 것을 특징으로 하는 인코딩 방법.
  18. 제17 항에 있어서,
    상기 인코딩 방법은,
    상기 양자화 단계 전에 상기 버퍼의 상태를 체크하는 버퍼 체크 단계를 더 포함하고,
    상기 판단 단계에서, 상기 매크로블록이 최소 매크로 블록이 아닌 경우에 상기 버퍼 체크 단계로 이행하는 것을 특징으로 하는 인코딩 방법.
  19. 제13 항에 있어서,
    상기 양자화 수행 단계는,
    상기 매크로블록에 대하여 인트라 및 인터 예측과 변환을 수행하는 예측 및 변환 단계;
    상기 변환을 통해 획득한 상기 AC 계수를 분석하여 상기 QP 값을 결정하는 QP 결정 단계;
    현재 QP 값을 주변 QP 값과 비교하여 차이값이 소정 임계값 이내가 되도록 상기 현재 QP 값을 조절하는 QP 조절 단계; 및
    상기 QP 값을 이용하여 양자화를 수행하는 양자화 단계;를 포함하는 것을 특 징으로 하는 인코딩 방법.
  20. 제19 항에 있어서,
    상기 QP 결정 단계에서는 상기 AC 계수의 분포도를 가지고 상기 매크로블록의 비트량을 예측하여 상기 QP 값을 결정하는 것을 특징으로 하는 인코딩 방법.
  21. 제13 항에 있어서,
    상기 버퍼가 소정 비율보다 높게 점유된 경우에 상기 양자화 단계를 수행하지 않고 상기 VLC 단계를 수행하는 것을 특징으로 하는 인코딩 방법.
KR1020090023547A 2009-03-19 2009-03-19 인코딩 장치와 방법 및 그 인코딩 장치를 포함한 멀티미디어 장치 KR101060495B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020090023547A KR101060495B1 (ko) 2009-03-19 2009-03-19 인코딩 장치와 방법 및 그 인코딩 장치를 포함한 멀티미디어 장치
JP2012500715A JP2012521141A (ja) 2009-03-19 2010-03-17 エンコーディング装置と方法及びそのエンコーディング装置を含むマルチメディア装置
US13/256,846 US8948242B2 (en) 2009-03-19 2010-03-17 Encoding device and method and multimedia apparatus including the encoding device
CN2010800123302A CN102356636A (zh) 2009-03-19 2010-03-17 编码装置和方法以及包括该编码装置的多媒体装置
PCT/KR2010/001634 WO2010107237A2 (en) 2009-03-19 2010-03-17 Encoding device and method and multimedia apparatus including the encoding device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090023547A KR101060495B1 (ko) 2009-03-19 2009-03-19 인코딩 장치와 방법 및 그 인코딩 장치를 포함한 멀티미디어 장치

Publications (2)

Publication Number Publication Date
KR20100104864A true KR20100104864A (ko) 2010-09-29
KR101060495B1 KR101060495B1 (ko) 2011-08-30

Family

ID=42740118

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090023547A KR101060495B1 (ko) 2009-03-19 2009-03-19 인코딩 장치와 방법 및 그 인코딩 장치를 포함한 멀티미디어 장치

Country Status (5)

Country Link
US (1) US8948242B2 (ko)
JP (1) JP2012521141A (ko)
KR (1) KR101060495B1 (ko)
CN (1) CN102356636A (ko)
WO (1) WO2010107237A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107027030A (zh) * 2017-03-07 2017-08-08 腾讯科技(深圳)有限公司 一种码率分配方法及其设备

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5570846B2 (ja) * 2010-03-04 2014-08-13 株式会社メガチップス 画像符号化装置
US9661323B2 (en) * 2012-01-11 2017-05-23 Hitachi Maxell, Ltd. Method of encoding picture and picture encoding device
US9591302B2 (en) * 2012-07-02 2017-03-07 Microsoft Technology Licensing, Llc Use of chroma quantization parameter offsets in deblocking
US9414054B2 (en) 2012-07-02 2016-08-09 Microsoft Technology Licensing, Llc Control and use of chroma quantization parameter values
US20150063461A1 (en) * 2013-08-27 2015-03-05 Magnum Semiconductor, Inc. Methods and apparatuses for adjusting macroblock quantization parameters to improve visual quality for lossy video encoding
US10356405B2 (en) 2013-11-04 2019-07-16 Integrated Device Technology, Inc. Methods and apparatuses for multi-pass adaptive quantization
FR3024313B1 (fr) * 2014-07-25 2017-12-08 Allegro Dvt Codeur de video a debit variable
JP2017126896A (ja) * 2016-01-14 2017-07-20 株式会社東芝 監視システム、監視装置、および再生装置
CN113365061B (zh) * 2020-03-03 2024-02-09 炬芯科技股份有限公司 H264宏块级码率控制方法、装置及可读存储介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04369191A (ja) * 1991-06-18 1992-12-21 Toshiba Corp 画像圧縮復元装置
US6134374A (en) * 1995-05-17 2000-10-17 Victor Company Of Japan, Ltd. Method and apparatus for processing picture information, and recording medium
US5890102A (en) * 1995-10-24 1999-03-30 Georgia Tech Research Corporation Jointly optimized subband coding system and method
JP2002262294A (ja) * 2001-03-06 2002-09-13 Nec Corp 画像信号符号化装置の発生符号量制御システム及び方法
JP3902948B2 (ja) * 2001-12-04 2007-04-11 株式会社Kddi研究所 動画像符号化装置
US7349472B2 (en) * 2004-02-11 2008-03-25 Mitsubishi Electric Research Laboratories, Inc. Rate-distortion models for error resilient video transcoding
KR100654436B1 (ko) * 2004-07-07 2006-12-06 삼성전자주식회사 비디오 코딩 방법과 디코딩 방법, 및 비디오 인코더와디코더
KR100793781B1 (ko) 2005-01-14 2008-01-11 엘지전자 주식회사 실시간 동영상 부호화 장치 및 방법
JP2007116655A (ja) * 2005-09-20 2007-05-10 Victor Co Of Japan Ltd 動画像符号化装置
KR100825752B1 (ko) 2005-11-21 2008-04-29 한국전자통신연구원 Svc에서 효율적인 비트율 제어 방법 및 장치
KR100797396B1 (ko) 2005-12-08 2008-01-28 한국전자통신연구원 매크로블록 복잡도를 이용한 트랜스코딩 비트율 제어 방법및 장치
US20080298702A1 (en) * 2007-06-04 2008-12-04 Aricent Inc. Fixed rate JPEG encoding
KR101336445B1 (ko) 2007-06-08 2013-12-04 삼성전자주식회사 비디오 인코딩 데이터율 제어 방법
KR101345295B1 (ko) 2007-06-11 2013-12-27 삼성전자주식회사 인트라 픽처만을 이용한 동영상 시퀀스의 부호화시의비트율 제어 방법 및 장치
US9848209B2 (en) * 2008-04-02 2017-12-19 Microsoft Technology Licensing, Llc Adaptive error detection for MPEG-2 error concealment
US8385404B2 (en) * 2008-09-11 2013-02-26 Google Inc. System and method for video encoding using constructed reference frame

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107027030A (zh) * 2017-03-07 2017-08-08 腾讯科技(深圳)有限公司 一种码率分配方法及其设备
US10834405B2 (en) 2017-03-07 2020-11-10 Tencent Technology (Shenzhen) Company Limited Bit rate allocation method and device, and storage medium

Also Published As

Publication number Publication date
JP2012521141A (ja) 2012-09-10
WO2010107237A3 (en) 2010-12-09
US8948242B2 (en) 2015-02-03
US20120002724A1 (en) 2012-01-05
WO2010107237A2 (en) 2010-09-23
CN102356636A (zh) 2012-02-15
KR101060495B1 (ko) 2011-08-30

Similar Documents

Publication Publication Date Title
KR101060495B1 (ko) 인코딩 장치와 방법 및 그 인코딩 장치를 포함한 멀티미디어 장치
KR100319994B1 (ko) 동화상부호화장치
EP1745653B1 (en) Encoder with adaptive rate control for h.264
CN109068137B (zh) 兴趣区域感知的视频编码
JP5180294B2 (ja) ビデオ符号化において、フレームの複雑さ、バッファレベル、およびイントラフレームの位置を利用するバッファベースのレート制御
US7653129B2 (en) Method and apparatus for providing intra coding frame bit budget
US7426309B2 (en) Method of controlling encoding rate, method of transmitting video data, encoding rate controller for video encoder, and video data transmission system using the encoding rate controller
JP4390112B2 (ja) ビデオシーケンスのレートを制御する方法及び装置並びにビデオ符号化装置
JP5198869B2 (ja) ビデオエンコーダのレート制御のための量子化パラメータの決定
US8406297B2 (en) System and method for bit-allocation in video coding
US20080225945A1 (en) Constant-quality rate control system and algorithm for regions of interest
JP2006509444A (ja) ピクチュアベースの先読みウィンドウによるレート制御
KR100601615B1 (ko) 네트워크 대역폭에 적응적인 영상 압축 장치
KR100790149B1 (ko) 비디오 인코딩 데이터율 제어 방법
JP2001148858A (ja) 画像情報変換装置及び画像情報変換方法
Yin et al. A rate control scheme for H. 264 video under low bandwidth channel
Wu et al. Rate control in video coding
KR101168007B1 (ko) 실시간 비디오 부호화를 위한 적응적인 유닛-레벨 비트율 제어방법
JP2007116655A (ja) 動画像符号化装置
CN104025595A (zh) 图像编码方法和图像编码装置
KR100949755B1 (ko) 비디오 시퀀스의 레이트를 제어하는 방법 및 장치, 비디오부호화 장치
Jiang et al. Bit allocation scheme for low-delay H. 264/AVC rate control
Xie et al. Efficient rate control for H. 264 using RD-cost
Venkatesh et al. A pruning based fast rate control algorithm for MPEG coding
Baylon Video compression with complete information for pre-recorded sources

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

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee