KR100856223B1 - H.264 인코더의 적응적 인코딩 모드 결정 장치 및결정 방법 - Google Patents

H.264 인코더의 적응적 인코딩 모드 결정 장치 및결정 방법 Download PDF

Info

Publication number
KR100856223B1
KR100856223B1 KR1020060101843A KR20060101843A KR100856223B1 KR 100856223 B1 KR100856223 B1 KR 100856223B1 KR 1020060101843 A KR1020060101843 A KR 1020060101843A KR 20060101843 A KR20060101843 A KR 20060101843A KR 100856223 B1 KR100856223 B1 KR 100856223B1
Authority
KR
South Korea
Prior art keywords
value
frame
encoding mode
macroblock
macroblocks
Prior art date
Application number
KR1020060101843A
Other languages
English (en)
Other versions
KR20080035314A (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 KR1020060101843A priority Critical patent/KR100856223B1/ko
Priority to US11/904,701 priority patent/US20080095242A1/en
Publication of KR20080035314A publication Critical patent/KR20080035314A/ko
Application granted granted Critical
Publication of KR100856223B1 publication Critical patent/KR100856223B1/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/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/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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
    • 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/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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 H.264 인코더의 적응적 인코딩 모드 결정 장치 및 결정 방법을 제공한다. 이를 위해 본 발명은 각 프레임 별로 16x16 매크로 블록 단위로 인코딩 모드가 결정된 16x16 매크로 블록들의 개수와 이들의 평균 개수를 산출할 수 있는 16x16 매크로 블록 개수 산출부 및 현재 인코딩이 선택된 프레임의 16x16 매크로 블록들의 수와 상기 평균 개수를 비교하여 그 비교 결과에 따라 현재 설정된 임계값을 갱신할 수 있는 임계값 갱신부를 구비한다. 그리고 현재 인코딩이 종료된 프레임에서 16x16 매크로 블록 단위로 인코딩 모드가 결정된 횟수를 체크하고 이를 현재 설정된 임계값과 비교하여 그 값에 따라 임계값을 증가 또는 감소시킨다. 따라서 본 발명은 16x16 크기의 매크로 블록 단위로 인코딩 모드가 결정되는 횟수가 많을수록 더 많은 매크로 블록이 16x16 매크로 블록으로 인코딩 모드가 결정될 수 있도록 하여 보다 저 사양의 프로세서를 구비한 H.264 인코더에서도 실시간으로 동영상 프레임의 인코딩이 가능하도록 할 수 있다.
H.264 인코더, 인코딩 모드 결정, 16x16 매크로 블록

Description

H.264 인코더의 적응적 인코딩 모드 결정 장치 및 결정 방법{ADAPTIVE ENCODING MODE DECISION APPARATUS AND METHOD THEREOF}
도 1은 통상적인 H.264 부호화기의 인코딩 모드 결정 장치에서 프레임의 인코딩 모드를 결정하는 동작 과정을 도시한 흐름도,
도 2는 본 발명의 실시 예에 따른 인코딩 모드 결정 장치에서 인코딩 모드를 결정하는 인코딩 모드 결정 장치의 블록 구성도,
도 3은 본 발명의 실시 예에 따른 인코딩 모드 결정 장치에서 임계값 설정부의 구성을 보다 자세히 도시한 블록 구성도,
도 4는 본 발명의 실시 예에 따른 인코딩 모드 결정 장치에서 본 발명에 따라 SAD 값과 비교되는 임계값을 갱신시키는 동작 과정을 도시한 흐름도,
도 5는 본 발명의 실시 예에 따른 인코딩 모드 결정 장치에서 매크로 블록의 개수차에 따라 임계값에 가중치를 설정하는 동작 과정을 도시한 흐름도,
도 6은 본 발명의 실시 예에 따른 인코딩 모드 결정 장치에서 현재 저장된 각 프레임 별 16x16 매크로 블록 개수의 히스토리에 따른 가중치를 임계값에 설정하는 동작 과정을 도시한 흐름도.
본 발명은 H.264 인코더(Encoder)에 관한 것으로, 특히 H.264 인코더에서 인코딩(Encoding) 효율을 최대화하기 위한 인코딩 모드 결정 장치에 대한 것이다.
일반적으로 H.264 인코딩 방식은 차세대 멀티미디어 기기에서의 고화질 동영상 압축을 위한 기반 기술들을 정의하고 있으며, 월등한 부호화 효율을 가짐으로써 적은 양의 데이터 전송으로도 다양한 멀티미디어 서비스 제공이 가능하도록 한다.
H.264 인코딩 방식의 이러한 높은 인코딩 효율은 증가된 모드 수와 복잡한 비트-왜곡 최적화 기법을 사용하는 모드 결정 방법에 기인한다. 이러한 비디오 신호의 부호화 효율을 높이기 위해, H.264 부호화 방식은 다양한 매크로 블록 모드, 가변 블록 크기, 다수의 참조 영상 등과 같은 많은 부호화 매개 변수를 제공한다. 그리고 부호화 과정 중, 이들 매개 변수를 포함하는 매크로 블록 모드 중에 최적의 모드를 결정하는 것은 가장 중요하며 복잡한 과정이 가장 핵심적인 과정에 해당한다.
일반적으로 H.264 부호화기에서는 이러한 매크로 블록 모드로서 16x16 크기의 매크로 블록 모드가 가장 많이 사용된다. 이는 QVGA급의 동영상 프레임(frame)인 경우 16x16 크기(16 by 16)의 매크로 블록이 가장 많이 포함되어 있을 뿐만 아니라, 또한 부호화 현재 사용되고 있는 크기의 매크로 블록 단위들(16x16, 16X8, 8X16, 8X8, 8X4, 4X8, 4X4) 중 그 크기가 가장 커서 부호화 시의 연산량이 가장 적어질 수 있기 때문이다.
그런데 모든 동영상 프레임이 16x16 크기의 매크로 블록 모드를 이용하여 부호화할 수 있는 것은 아니다. 이는 16x16 크기의 매크로 블록의 경우 하나의 매크로 블록에 포함된 픽셀들의 수가 많아지기 때문에 움직임이 많은 원본 동영상 프레임인 경우 이를 정확하게 표현하기 어렵기 때문이다. 그리고 이러한 경우 원본 동영상 프레임의 화질이 크게 훼손될 수 있기 때문이다. 따라서 이러한 경우 통상적인 H.264 인코더는 픽셀의 수가 적은 다른 매크로 블록 모드를 이용하여 동영상 프레임을 인코딩한다. 그리고 통상적인 H.264 인코더는 16x16 크기의 매크로 블록 모드를 사용할 수 있는지 여부 및 다른 매크로 블록 모드를 사용 여부를 측정하기 위해 SAD(Sum of Absolute Difference) 값을 기 설정된 임계값과 비교하여 매크로 블록 모드를 결정한다.
도 1은 이러한 통상적인 H.264 부호화기의 인코딩 모드 결정 장치에서 프레임의 인코딩 모드를 결정하는 동작 과정을 도시한 도면이다.
도 1을 참조하여 살펴보면, 통상적인 H.264 인코더의 인코딩 모드 결정 장치는 100단계로 진행하여 현재 16x16 크기의 매크로 블록의 휘도 신호의 움직임 벡터, 즉 모션 벡터를 이용하여 색차 신호의 예측치를 산출한다. 그리고 통상적인 인코딩 모드 결정 장치는 102단계로 진행하여 산출된 예측치를 이용하여 초기 위치를 설정한다. 그리고 산출된 초기 위치로부터 16x16 크기의 매크로 블록(이하 16x16 매크로 블록이라 칭한다)단위로 SAD 값을 산출한다. 그리고 통상적인 인코딩 모드 결정 장치는 106단계로 진행하여 현재 산출된 SAD 값이 기 설정된 임계값 이하인지 여부를 체크한다.
그리고 106단계의 체크 결과 상기 산출된 SAD 값이 기 설정된 임계값 이하인 경우에는 통상적인 인코딩 모드 결정 장치는 현재 초기 위치에 따른 매크로 블록이 16x16 매크로 블록 모드 인코딩이 가능한 것으로 판단하고 108단계로 진행하여 16x16 매크로 블록 단위의 인코딩을 결정한다. 여기서 결정되는 인코딩 모드는 인터 모드가 될 수 있다. 그리고 통상적인 인코딩 모드 결정 장치는 현재 매크로 블록의 인코딩 모드의 결정 과정을 종료한다. 그리고 모션 벡터 예측치에 따른 다른 초기 위치를 설정하고 그에 따른 인코딩 모드의 결정 과정을 수행한다.
그러나 만약 상기 106단계의 체크 결과, 현재 초기 위치에 따른 매크로 블록의 SAD 값이 기 설정된 임계값을 초과하는 경우, 통상적인 인코딩 모드 결정 장치는 110단계로 진행하여 다른 크기, 즉 16x16, 16X8, 8X16, 8X8, 8X4, 4X8, 4X4 크기의 매크로 블록 단위들 중 기 설정된 첫 번째 순서에 따른 어느 하나의 매크로 블록 단위를 선택한다. 그리고 통상적인 인코딩 모드 결정 장치는 112단계로 진행하여 현재 설정된 초기 위치에서 상기 선택된 크기의 매크로 블록 단위에 따른 모션 벡터 예측치를 산출하고 그 모션 벡터 예측치에 따라 초기 위치를 설정한다. 그리고 통상적인 인코딩 모드 결정 장치는 114단계로 진행하여 현재 설정된 초기 위치에 따른 SAD 값을 산출한다.
그리고 통상적인 인코딩 모드 결정 장치는 116단계로 진행하여 상기 114단계에서 산출된 SAD 값이 기 설정된 임계값 이하인지 여부를 체크한다. 그리고 만약 상기 114단계에서 산출된 SAD 값이 기 설정된 임계값 이하인 경우라면 통상적인 인코딩 모드 결정 장치는 116단계로 진행하여 현재 초기 위치에 따른 매크로 블록이 현재 설정된 크기의 매크로 블록 모드 인코딩이 가능한 것으로 판단하고 108단계로 진행하여 현재 선택된 크기의 매크로 블록 단위 인코딩을 결정한다.
그러나 만약 상기 114단계의 체크 결과, 상기 112단계에서 산출된 SAD 값이 기 설정된 임계값을 초과하는 경우라면, 통상적인 인코딩 모드 결정 장치는 다시 118단계로 진행하여 기 설정된 다음 순서에 따른 크기의 매크로 블록 단위를 선택하고 현재 설정된 초기 위치에서 현재 선택된 크기의 매크로 블록 단위에 따른 SAD 값을 산출 및 이를 임계값과 비교하는 112 단계에서 114단계에 이르는 과정을 다시 수행한다.
따라서 이러한 통상적인 인코딩 모드 결정 장치는 단순히 일정 임계값을 설정하고 그 임계값에 따라 매크로 블록 단위의 인코딩을 결정하는 것이었다. 따라서 예를 들어 거의 전체가 16x16 크기의 매크로 블록 단위로 인코딩이 가능하고, 극히 일부만이 산출된 SAD 값이 기 설정된 임계값보다 아주 근소한 차이로 초과하여 16x16 크기의 매크로 블록 단위 인코딩이 불가능한 경우 일지라도 통상적인 H.264 인코더의 인코딩 모드 결정 장치는 그 극히 일부의 매크로 블록에 대해 다른 크기의 매크로 블록에 대한 인코딩 모드를 결정하는 과정을 수행하여야 했다.
따라서 이러한 경우 통상적인 인코딩 모드 결정 장치는 상기 극히 일부의 매크로 블록에 대한 인코딩 모드 결정을 수행에 따른 시간을 소요함으로써 실시간으로 프레임 인코딩을 수행할 수 없거나, 고사양의 처리 능력을 구비한 프로세서에서만이 프레임 인코딩을 실시간으로 수행할 수 있다는 문제점이 있다.
그러므로 본 발명의 목적은, 현재 인코딩되는 동영상 프레임에서 16x16 크기의 매크로 블록 단위로 인코딩 모드가 결정되는 횟수에 따라 기 설정된 임계값을 증가 또는 감소할 수 있도록 하여, 16x16 크기의 매크로 블록 단위로 인코딩 모드가 결정되는 횟수가 많을수록 더 많은 매크로 블록이 16x16 매크로 블록으로 인코딩 모드가 결정될 수 있도록 하는 인코딩 모드 결정 장치 및 방법을 제공함에 있다.
또한 본 발명의 다른 목적은, 보다 저 사양의 프로세서를 구비한 H.264 인코더에서도 실시간으로 동영상 프레임의 인코딩이 가능하도록 할 수 있는 인코딩 모드 결정 장치 및 방법을 제공함에 있다.
상술한 목적을 달성하기 위한 본 발명의 인코딩 모드 결정 장치는, 기 설정된 순서에 따라 다수의 매크로 블록(Macro Bolck) 단위 중 어느 하나를 설정하고, 설정된 매크로 블록에 대한 설정 정보를 출력하는 매크로 블록 단위 선택부와, 기 설정된 모션 벡터(Motion Vector) 예측 방법에 따라 모션 벡터를 예측하고, 예측된 모션 벡터 예측치에 따라 초기 위치를 설정하는 모션 벡터 예측부와, 상기 현재 설정된 매크로 블록에 대한 정보와, 상기 초기 위치에 대한 정보를 입력받아 현재 설정된 초기 위치에 대해 상기 현재 설정된 매크로 블록 단위에 따른 SAD(Sum of Absolute Difference) 값을 산출하는 SAD 산출부와, 상기 산출된 SAD 값을 현재 설 정된 임계값과 비교하여 현재 산출된 SAD 값이 현재 설정된 임계값 이하인지 여부를 체크하는 SAD 비교부와, 상기 현재 산출된 SAD 값이 현재 설정된 임계값 이하인 경우 상기 현재 설정된 매크로 블록 단위에 따른 인코딩 모드로 인코딩 모드를 결정하는 인코딩 모드 결정부와, 상기 인코딩 모드 결정 결과, 현재 설정된 인코딩 모드가 기 설정된 크기의 매크로 블록 단위에 따른 인코딩 모드인 경우, 상기 임계값의 변경 여부를 결정하고 변경이 필요한 경우 상기 임계값을 변경시키는 임계값 설정부를 포함한다.
또한 인코딩 모드 결정 방법은, 현재 인코딩 중인 프레임(frame)의 인코딩 모드 결정 결과들 중 기 설정된 매크로 블록 단위로 결정되는 개수를 카운트하는 카운트 단계와, 현재 인코딩 중인 프레임의 인코딩이 완료되면, 기 저장된 각 프레임별 상기 기 설정된 매크로 블록의 평균 개수를 로드하는 평균 개수 로드 단계와, 상기 카운트된 개수와 평균 개수를 비교하는 비교 단계와, 상기 비교 결과에 따라, 현재 설정된 초기 위치에 따른 매크로 블록의 인코딩 모드 결정을 위해 산출된 SAD(Sum of Absolute Difference) 값과 비교되는 임계값을 갱신하는 임계값 갱신 단계와, 현재 인코딩이 완료된 프레임으로부터 카운트된 기 설정된 매크로 블록 단위의 개수를 포함하여, 상기 각 프레임별 상기 기 설정된 매크로 블록의 평균 개수를 갱신하는 매크로 블록 개수 히스토리(history) 갱신 단계를 포함한다.
이하 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 도면들 중 동일한 구성 요소들은 가능한 한 어느 곳에서든지 동일한 부호들로 나타내고 있음에 유의하여야 한다. 하기 설명 및 첨부 도면에서 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다.
먼저 본 발명의 완전한 이해를 돕기 위해, 본 발명의 기본 원리를 설명하면, 본 발명에서는, 각 프레임 별로 16x16 매크로 블록 단위로 인코딩 모드가 결정된 16x16 매크로 블록들의 개수와 이들의 평균 개수를 산출할 수 있는 16x16 매크로 블록 개수 산출부 및 현재 인코딩이 선택된 프레임의 16x16 매크로 블록들의 수와 상기 평균 개수를 비교하여 그 비교 결과에 따라 현재 설정된 임계값을 갱신할 수 있는 임계값 갱신부를 구비한다. 그리고 현재 인코딩이 종료된 프레임에서 16x16 매크로 블록 단위로 인코딩 모드가 결정된 횟수를 체크하고 이를 현재 설정된 임계값과 비교하여 그 값에 따라 임계값을 증가 또는 감소시킨다. 여기서 상기 임계값의 증가 또는 감소되는 값은, 현재 인코딩이 종료된 프레임에서 16x16 매크로 블록 단위로 인코딩 모드가 결정된 횟수와 기존 프레임별 16x16 매크로 블록 단위로 인코딩 모드가 결정된 횟수들의 평균 횟수와의 차이 또는 현재 저장된 프레임별 16x16 매크로 블록 단위의 인코딩 모드의 히스토리(history)에 따라 가중치를 반영할 수도 있다. 여기서 상기 히스토리라는 것은 상기 저장된 프레임들의 저장 순서 또는 차례를 의미하는 것이다.
도 2는 본 발명의 실시 예에 따른 인코딩 모드 결정 장치에서 인코딩 모드를 결정하는 인코딩 모드 결정 장치의 구성을 보이고 있는 도면이다.
도 2를 참조하여 살펴보면, 본 발명의 실시 예에 따른 인코딩 모드 결정 장치는 모션 벡터 예측부(200)와 매크로 블록 단위 선택부, SAD 산출부(204)와 SAD 비교부(206), 인코딩 모드 결정부(208)와 임계값 설정부(210)를 포함한다.
여기서 모션 벡터 예측부(200)는 통상적인 H.264 인코더의 모션 벡터 예측 방법에 따라 모션 벡터를 예측하고, 예측된 모션 벡터 예측치에 따라 초기 위치를 설정한다. 그리고 설정된 초기 위치에 대한 정보를 SAD 산출부(204)로 입력한다. 그리고 매크로 블록 단위 선택부(202)는 초기 설정으로 16x16 매크로 블록 단위를 설정하고, 설정된 16x16 매크로 블록에 대한 설정 정보를 SAD 산출부(204)로 입력한다.
그러면 SAD 산출부(204)는 현재 설정된 초기 위치에 대해 16x16 매크로 블록 단위로 SAD 값을 산출한다. 그리고 산출된 SAD 값을 SAD 비교부(206)로 출력한다.
그러면 SAD 비교부(206)는 상기 SAD 값을 현재 설정된 임계값과 비교하여 현재 산출된 SAD 값이 현재 설정된 임계값 이하인지 여부를 체크한다. 그리고 만약 현재 산출된 SAD 값이 기 설정된 임계값 이하인 경우라면 SAD 비교부(206)는 인코딩 모드 결정부(208)에 현재 초기 위치에 따른 매크로 블록이 16x16 매크로 블록 단위의 인코딩 모드를 사용하는 것이 가능하다는 신호를 전송하고, 인코딩 모드 결정부(208)는 현재 초기 위치에 따른 매크로 블록의 인코딩 모드를 16x16 매크로 블록 모드로 결정한다. 그리고 현재 초기 위치에 따른 매크로 블록의 인코딩 모드가 16x16 매크로 블록 모드로 결정되면 인코딩 모드 결정부(208)는 임계값 설정부(210)에, 현재 인코딩 중인 동영상 프레임의 16x16 매크로 블록의 개수를 증가시기 위한 신호를 전송한다.
그러면 임계값 설정부(210)는 상기 현재 인코딩 중인 동영상 프레임의 16x16 매크로 블록의 개수에 따라 임계값을 증가시킬지 감소시킬지 여부를 결정한다. 그 리고 현재 설정된 임계값의 증가 또는 감소 즉, 변경이 결정되는 경우 임계값 설정부(210)는 임계값을 변경하고, 변경된 임계값을 SAD 비교부(206)로 입력한다. 그러면 SAD 비교부(206)는 현재 기 설정된 임계값을 상기 임계값 설정부(210)로부터 수신된 임계값으로 대체한다.
한편, 만약 상기 SAD 비교부(206)의 비교 결과 상기 SAD 산출부(204)에서 산출된 SAD 값이 현재 설정된 임계값을 초과하는 경우라면, SAD 비교부(206)는 이를 알리는 신호를 매크로 블록 단위 선택부(202)에 입력한다. 그러면 매크로 블록 단위 선택부(202)는 다른 크기의 매크로 블록 단위를 선택하고 현재 선택된 매크로 블록 단위에 대한 정보를 SAD 산출부(204) 및 모션 벡터 예측부(200)로 입력한다. 그러면 모션 벡터 예측부(200)는 현재 설정된 매크로 블록 단위에 따른 모션 벡터 예측치 및 이에 따른 초기 위치를 설정하여 이를 SAD 산출부(204)로 입력한다. 그러면 SAD 산출부(204)는 현재 새로 설정된 초기 위치에 따라, 현재 매크로 블록 단위 선택부(202)에서 선택된 매크로 블록 단위에 따른 SAD 값을 산출한다.
그리고 그 결과값은 다시 SAD 비교부(206)에 입력된다. 그리고 SAD 비교부(206)는 상기 산출된 SAD 값과 현재 설정된 임계값을 다시 비교하고, 그 비교 결과에 따라 다시 매크로 블록 단위 선택부(202)에 새로운 매크로 블록 단위 설정을 요청하는 신호를 전송하던지 아니면 인코딩 모드 결정부(208)에 현재 선택된 매크로 블록 단위에 따른 인코딩이 가능하다는 신호를 전송한다.
만약 인코딩 모드 결정부(208)에 현재 선택된 매크로 블록 단위에 따른 인코딩이 가능하다는 신호가 전송되면, 인코딩 모드 결정부(208)는 현재 초기 위치에 따른 매크로 블록의 인코딩 모드를 현재 선택된 매크로 블록 단위의 인코딩 모드로 결정한다. 그러나 이때에는 16x16 크기의 매크로 블록 단위가 아니므로 인코딩 모드 결정부(208)는 임계값 설정부(210)에, 현재 인코딩 중인 동영상 프레임의 16x16 매크로 블록의 개수를 증가시기 위한 신호를 전송하지 않는다. 따라서 이러한 경우 16x16 매크로 블록의 개수에 따른 임계값의 변경 여부는 체크되지 않는다.
도 3은 상술한 바와 같이 본 발명의 실시 예에 따른 인코딩 모드 결정 장치에서 임계값 설정부의 구성을 보다 자세히 도시한 도면이다.
도 3을 참조하여 살펴보면, 본 발명의 실시 예에 따른 임계값 설정부(210)는 16x16 매크로 블록 개수 카운트부(300), 평균 개수 산출부(302), 비교부(304), 그리고 임계값 갱신부(306)를 포함하여 구성된다.
여기서 16x16 매크로 블록 개수 카운트부(300)는, 인코딩 모드 결정부(208)로부터 16x16 매크로 블록의 개수를 증가시키기 위한 신호에 따라 현재 인코딩 중인 프레임의 16x16 매크로 블록의 개수를 카운트하고 현재 인코딩 중인 프레임의 인코딩이 완료되는 경우 그 프레임에 포함된 16x16 매크로 블록의 개수를 비교부(304)에 출력한다.
그리고 비교부(304)는 상기 현재 인코딩 중인 프레임의 인코딩이 완료되는 경우, 현재 프레임에 포함된 16x16 매크로 블록의 수, 즉 카운트된 16x16 매크로 블록의 수와 평균 개수 산출부(302)로부터 입력되는 상기 현재 인코딩 중인 프레임 이전 프레임들 각각에 대한 16x16 매크로 블록의 평균 개수를 비교한다. 그리고 그 비교 결과를 임계값 갱신부(306)로 출력한다.
여기서 평균 개수 산출부(302)는 인코딩이 완료된 이전 프레임들 각각의 16x16 매크로 블록의 개수를 저장하고 있으며, 각 프레임별 16x16 매크로 블록의 개수에 대한 평균을 산출한다. 그리고 비교부(304)의 요청에 따라 상기 산출된 프레임별 평균 16x16 매크로 블록 개수를 비교부(304)로 출력한다. 그리고 비교부(304)의 비교가 완료되면, 상기 현재 인코딩이 완료된 프레임의 매크로 블록 개수를 비교부(304)로부터 입력받아 이를 포함하는 프레임별 16x16 매크로 블록 평균 개수를 산출하여 상기 산출된 프레임별 평균 16x16 매크로 블록 개수를 갱신한다.
한편, 비교부(304)로부터 비교 결과가 입력되면, 임계값 갱신부(306)는 비교 결과에 따라 임계값의 변경 여부를 결정한다. 즉, 예를 들어 현재 카운트된 16x16 매크로 블록 개수가 산출된 프레임별 평균 16x16 매크로 블록 개수 이상인 경우 임계값 갱신부(306)는 기 설정된 증가값만큼 임계값의 증가를 결정하고 현재 임계값 저장부(308)에 저장된 임계값을 증가시킨다. 여기서 상기 기 설정된 증가값이라는 것은 실험을 통해 구해진 최적화된 값이 될 수 있다. 그리고 증가된 임계값을 SAD 비교부(206)로 출력한다. 그러면 상술한 바와 같이 SAD 비교부(206)는 증가된 임계값으로 현재 설정되어 있던 임계값을 대체하고, 이에 따라 현재 인코딩 중인 프레임으로부터 산출되는 SAD 값은 증가된 임계값과 비교된다. 따라서 이러한 경우 더 많은 경우에 16x16 매크로 블록으로 인코딩 모드가 결정되어 질 수 있다.
그러나 만약 현재 카운트된 16x16 매크로 블록 개수가 산출된 프레임별 평균 16x16 매크로 블록 개수 미만인 경우 임계값 갱신부(306)는 임계값의 기 설정된 감소값만큼 임계값의 감소를 결정하고 현재 임계값 저장부(308)에 저장된 임계값을 감소시킨다. 여기서 상기 기 설정된 감소값이라는 것은 실험을 통해 구해진 최적화된 값이 될 수 있다. 그리고 감소된 임계값을 SAD 비교부(206)로 출력한다. 그러면 상술한 바와 같이 SAD 비교부(206)는 감소된 임계값으로 현재 설정되어 있던 임계값을 대체하고, 이에 따라 현재 인코딩 중인 프레임으로부터 산출되는 SAD 값은 감소된 임계값과 비교된다. 따라서 이러한 경우 기존 보다 16x16 매크로 블록으로 인코딩 모드가 결정되는 것은 더 어려워질 수 있다.
한편 상기 임계값 갱신부(306)는, 상기 기 설정된 증가값 또는 감소값을 경우에 따라 변경시키는 것이 가능함은 물론이다. 즉, 예를 들어 현재 카운트된 16x16 매크로 블록의 개수가 현재 산출된 각 프레임별 16x16 매크로 블록 평균 개수보다 일정 개수를 초과하는 큰 값 또는 작은 값인 경우 임계값 갱신부(306)는 이러한 차이를 고려하여 상기 증가값의 증가폭 또는 상기 감소값의 감소폭을 늘리거나 줄일 수도 있음은 물론이다.
또한 이 뿐만 아니라 본 발명의 실시 예에 따른 인코딩 모드 결정 장치는 상기 기 설정된 증가값 또는 감소값을 상기 임계값에 적용하는데 있어, 프레임별 16x16 매크로 블록 개수 히스토리에 따른 가중치를 부여할 수도 있음은 물론이다. 이러한 경우, 본 발명의 실시 예에 따른 평균 개수 산출부(302)는 현재 저장된 각 프레임별 16x16 매크로 블록의 개수를 저장함에 있어, 이러한 히스토리에 따른 가중치를 부여하여 16x16 매크로 블록의 개수를 저장한다.
즉, 예를 들어 저장된 지 가장 오래된 프레임의 16x16 매크로 블록의 개수에는 1보다 작은 값을 곱하고, 가장 마지막으로 저장된 프레임의 16x16 매크로 블록 의 개수에는 1보다 큰 값을 곱하여 산출된 값들을 이용함으로써 가장 최근에 저장된 프레임의 16x16 매크로 블록의 개수에 더 큰 비중을 두는 각 프레임별 16x16 매크로 블록 평균 개수를 산출할 수도 있음은 물론이다. 따라서 이러한 경우에는 프레임별 히스토리에 따른 16x16 매크로 블록 개수가 임계값 변경 여부에 반영되게 된다.
도 4는 본 발명의 실시 예에 따른 인코딩 모드 결정 장치에서 본 발명에 따라 SAD 값과 비교되는 임계값을 갱신시키는 동작 과정을 도시한 흐름을 보이고 있는 도면이다.
도 4를 참조하여 살펴보면, 본 발명의 실시 예에 따른 인코딩 모드 결정 장치는 400단계로 진행하여 현재 인코딩 중인 프레임의 16x16 매크로 블록의 개수를 카운트한다. 그리고 현재 인코딩 중인 프레임의 인코딩이 완료되면 402단계로 진행하여 현재 평균 개수 산출부(302)에 저장된 각 프레임별 16x16 매크로 블록의 평균 개수를 로드(load)한다. 그리고 본 발명의 실시 예에 따른 인코딩 모드 결정 장치는, 404단계로 진행하여 현재 인코딩이 완료된 16x16 매크로 블록 개수와 상기 산출된 각 프레임별 16x16 매크로 블록의 평균 개수를 비교한다. 여기서 만약 상기 비교 결과 상기 현재 인코딩이 완료된 16x16 매크로 블록 개수와 상기 산출된 각 프레임별 16x16 매크로 블록의 평균 개수의 차이가 일정 값 이상인 경우라면 본 발명의 실시 예에 따른 인코딩 모드 결정 장치는 상술한 바와 같이 이를 반영하는 가중치를 이용하여 임계값의 증가폭 또는 감소폭을 늘리거나 감소시킬 수 있다. 이를 하기 도 5를 참조하여 살펴보기로 한다.
그리고 본 발명의 실시 예에 따른 인코딩 모드 결정 장치는 406단계로 진행하여 상기 비교 결과에 따라 임계값을 갱신한다. 여기서 만약 상기 404단계에서 상기 현재 인코딩이 완료된 16x16 매크로 블록 개수와 상기 산출된 각 프레임별 16x16 매크로 블록의 평균 개수의 차이가 일정 값 이상인 경우에 따른 가중치가 설정된 경우라면 상기 406단계에서는 상기 가중치가 반영된 값으로 상기 임계값이 갱신된다.
그리고 본 발명의 실시 예에 따른 인코딩 모드 결정 장치는 408단계로 진행하여 상기 404단계에서 비교된 현재 인코딩이 완료된 프레임의 16x16 매크로 블록 개수에 대한 정보를 현재 저장된 프레임별 16x16 매크로 블록 히스토리에 포함하여 프레임별 16x16 매크로 블록 개수 히스토리를 갱신한다. 여기서 본 발명의 실시 예에 따른 인코딩 모드 결정 장치는 상술한 바와 같이 프레임별 16x16 매크로 블록 개수 히스토리에 따른 가중치를 부여할 수 있다. 이러한 경우의 본 발명의 실시 예에 따른 인코딩 모드 결정 장치의 동작 흐름을 하기 도 6을 참조하여 살펴보기로 한다.
한편 상기 408단계에서 프레임별 16x16 매크로 블록 개수 히스토리가 갱신되면 본 발명의 실시 예에 따른 인코딩 모드 결정 장치는 410단계로 진행하여 현재 갱신된 16x16 매크로 블록 개수에 따른 평균 개수 매크로 블록 개수를 산출한다. 따라서 본 발명의 실시 예에 따른 인코딩 모드 결정 장치는 현재 인코딩이 완료된 프레임의 16x16 매크로 블록 개수 및 이전 인코딩이 완료된 프레임들의 16x16 매크로 블록 평균 개수에 따라 임계값을 증가 또는 감소시킴으로서 16x16 매크로 블록 의 수가 지속적으로 증가하는 경우 또는 16x16 매크로 블록의 개수가 지속적으로 감소하는 경우에 이에 적응하여 16x16 매크로 블록으로 인코딩 모드가 결정될 수 있는 가능성을 증가시키거나 감소시킬 수 있도록 할 수 있다. 따라서 본 발명의 실시 예에 따른 인코딩 모드 결정 장치는 16x16 매크로 블록의 개수가 많은 경우 보다 저 사양의 프로세서에서도 실시간으로 H.264 인코딩 방식에 따라 인코딩이 수행될 수 있도록 한다는 효과가 있다.
도 5는 상술한 본 발명의 실시 예에 따른 인코딩 모드 결정 장치에서, 매크로 블록의 개수차에 따라 임계값에 가중치를 설정하는 동작 과정을 보이고 있는 도면이다.
도 5를 참조하여 살펴보면, 본 발명의 실시 예에 따른 인코딩 모드 결정 장치는, 도 4의 402단계에서 각 프레임별 16x16 매크로 블록 평균 개수가 로드되면, 500단계로 진행하여 현재 프레임의 16x16 매크로 블록 개수와 상기 로드된 각 프레임별 16x16 매크로 블록 평균 개수를 비교한다. 그리고 상기 인코딩 모드 결정 장치는 502단계로 진행하여 상기 500단계의 비교 결과 16x16 매크로 블록의 개수 차이가 기 설정된 차이값 이상인지 여부를 판단한다. 여기서 상기 기 설정된 차이값은 실험을 통해 결정되는 최적화된 값 또는 설계자의 설계 사항 및 사용자의 임의적인 선택에 의한 값일 수 있다.
상기 502단계의 판단 결과 상기 개수 차이가 상기 기 설정된 차이값 이상인 경우라면, 본 발명의 실시 예에 따른 인코딩 모드 결정 장치는 504단계로 진행하여 비교 결과에 따른 차이값에 근거하여 임계값을 증가 또는 변경할 가중치를 설정한 다. 그리고 상기 504단계에서 가중치가 설정되면 그 가중치는 도 4의 406단계에서 기 설정된 증가값 또는 기 설정된 감소값에 의해 변경되는 임계값에 추가적으로 반영된다.
그러나 만약 상기 502단계의 판단 결과, 만약 상기 개수 차이가 기 설정된 차이값 미만인 경우라면, 본 발명의 실시 예에 따른 인코딩 모드 결정 장치는 가중치를 반영하지 않고 바로 도 4의 406단계로 진행하여 기 설정된 증가값 또는 기 설정된 감소값에 따라 임계값을 변경한다. 따라서 본 발명에서는 현재 프레임의 16x16 매크로 블록 개수와 상기 로드된 각 프레임별 16x16 매크로 블록 평균 개수의 차이가 기 설정된 차이값 이상인 경우 이러한 차이를 임계값의 변경에 추가적으로 반영할 수 있다.
도 6은 상술한 본 발명의 실시 예에 따른 인코딩 모드 결정 장치에서 현재 저장된 각 프레임 별 16x16 매크로 블록 개수의 히스토리에 따른 가중치를 임계값에 설정하는 동작 과정을 보이고 있는 도면이다.
이러한 경우 본 발명의 실시 예에 따른 인코딩 모드 결정 장치는, 상기 도 4의 406단계에서 임계값이 변경되면 600단계로 진행하여 현재 설정된 히스토리에 따른 프레임별 가중치들을 로드한다. 여기서 상기 히스토리에 따른 프레임별 가중치들이라는 것은 평균 개수 산출부(302)에 저장된 각 프레임별 히스토리에 따라 설정된 가중치들을 말한다. 즉, 상기 히스토리에 따라 설정된 가중치라는 것은 가장 처음에 저장된 프레임의 16x16 매크로 블록의 개수를 반영할 비율 및 가장 마지막에 저장된 프레임의 16x16 매크로 블록의 개수를 반영할 비율에 대한 비율값들이라고 할 수 있다.
그리고 상기 히스토리에 따른 프레임별 가중치들이 로드되면, 본 발명의 실시 예에 따른 인코딩 모드 결정 장치는 602단계로 진행하여 각 프레임별로 히스토리에 따른 가중치를 설정한다. 그리고 604단계로 진행하여 현재 설정된 히스토리에 따른 프레임별 가중치에 따라 평균 개수 산출에 반영될 각 프레임별 16x16 매크로 블록 개수를 산출한다.
따라서 이러한 경우 도 4의 410단계로 진행하게 되면 각 프레임별로 히스토리에 따른 가중치가 반영된 프레임별 16x16 매크로 블록 개수에 따라 각 프레임별 16x16 매크로 블록의 평균 개수가 산출되게 된다. 그러므로 이러한 경우 본 발명의 실시 에에 따른 인코딩 모드 결정 장치에서는 각 프레임들의 히스토리에 따른 가중치가 임계값의 변경에 반영된다. 그러나 이러한 경우 상기 평균 개수 산출에 사용된 각 프레임별 16x16 매크로 블록 개수가 실제 각 프레임별 16x16 매크로 블록 개수로 저장되는 것은 아니다.
한편 상술한 본 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시될 수 있다. 특히 본 발명의 실시 예에서는 16x16 매크로 블록의 개수를 기준으로 더 많은 16x16 매크로 블록 단위로 인코딩 모드가 결정될 수 있도록 하는 것을 설명하였으나, 본 발명이 이에 한정되는 것이 아니다. 즉, 현재 기술 수준의 경우 일반적으로 16x16 매크로 블록 단위 인코딩 모드가 가장 효율적인 것이기 때문에 이를 가정하였을 뿐, 16x16 매크로 블록 단위보다 더 효율적인 매크로 블록 단위가 있는 경우라면, 그와 같은 경우에도 본 발명이 적용될 수 있음은 물론이다.
따라서 발명의 범위는 설명된 실시 예에 의해 정할 것이 아니고, 특허청구범위와 특허청구범위의 균등한 것에 의해 정하여져야 한다.
따라서 본 발명은 현재 인코딩되는 동영상 프레임에서 16x16 크기의 매크로 블록 단위로 인코딩 모드가 결정되는 횟수에 따라 기 설정된 임계값을 증가 또는 감소할 수 있도록 하여, 16x16 크기의 매크로 블록 단위로 인코딩 모드가 결정되는 횟수가 많을수록 더 많은 매크로 블록이 16x16 매크로 블록으로 인코딩 모드가 결정될 수 있도록 한다는 효과가 있다. 또한 이에 따라 본 발명은 보다 저 사양의 프로세서를 구비한 H.264 인코더에서도 실시간으로 동영상 프레임의 인코딩이 가능하다는 효과가 있다.

Claims (12)

  1. H.264 인코더(Encoder)에 있어서,
    기 설정된 순서에 따라 다수의 매크로 블록(Macro Bolck) 단위 중 어느 하나를 설정하고, 설정된 매크로 블록에 대한 설정 정보를 출력하는 매크로 블록 단위 선택부와,
    기 설정된 모션 벡터(Motion Vector) 예측 방법에 따라 모션 벡터를 예측하고, 예측된 모션 벡터 예측치에 따라 초기 위치를 설정하는 모션 벡터 예측부와,
    상기 설정된 매크로 블록에 대한 정보와, 상기 초기 위치에 대한 정보를 입력받아 현재 설정된 초기 위치에 대해 상기 설정된 매크로 블록 단위에 따른 SAD(Sum of Absolute Difference) 값을 산출하는 SAD 산출부와,
    상기 산출된 SAD 값을 현재 설정된 임계값과 비교하여 현재 산출된 SAD 값이 현재 설정된 임계값 이하인지 여부를 체크하는 SAD 비교부와,
    상기 현재 산출된 SAD 값이 현재 설정된 임계값 이하인 경우 상기 설정된 매크로 블록 단위에 따른 인코딩 모드로 인코딩 모드를 결정하는 인코딩 모드 결정부와,
    상기 인코딩 모드 결정 결과, 현재 설정된 인코딩 모드가 기 설정된 크기의 매크로 블록 단위에 따른 인코딩 모드인 경우, 상기 임계값의 변경 여부를 결정하고 변경이 필요한 경우 상기 임계값을 변경시키는 임계값 설정부를 포함하는 것을 특징으로 하는 H.264 인코더의 적응적 인코딩 모드 결정 장치.
  2. 제1항에 있어서, 상기 임계값 설정부는,
    현재 인코딩중인 프레임(frame)의 인코딩이 완료된 경우, 그 프레임의 각 매크로 블록들의 인코딩 모드 결정 결과들 중 상기 기 설정된 크기의 매크로 블록 단위로 결정된 개수를 카운트하는 매크로 블록 개수 카운트부와,
    현재 인코딩이 완료된 프레임의 이전 프레임들 각각에 대한 상기 기 설정된 크기의 매크로 블록 단위 결정 개수를 저장하고, 그 개수의 평균값을 산출하는 평균 개수 산출부와,
    상기 카운트된 개수와 상기 평균값을 비교하는 비교부와,
    상기 비교 결과에 따라 상기 임계값을 변경하는 임계값 갱신부를 포함하는 것을 특징으로 하는 H.264 인코더의 적응적 인코딩 모드 결정 장치.
  3. 제2항에 있어서, 상기 임계값 갱신부는,
    상기 비교 결과, 상기 카운트된 개수가 상기 평균값 이상인 경우 상기 임계값을 기 설정된 증가값만큼 증가시키고, 상기 카운트된 개수가 상기 평균값 미만인 경우 상기 임계값을 기 설정된 감소값만큼 감소시키는 것을 특징으로 하는 H.264 인코더의 적응적 인코딩 모드 결정 장치.
  4. 제3항에 있어서, 상기 임계값 갱신부는,
    상기 비교 결과, 상기 카운트된 개수와 상기 평균값과의 차이가 일정 개수 이상인 경우, 그 차이값에 따른 가중치를 상기 기 설정된 증가값 또는 기 설정된 감소값에 추가적으로 반영하는 것을 특징으로 하는 H.264 인코더의 적응적 인코딩 모드 결정 장치.
  5. 제2항에 있어서, 상기 평균 개수 산출부는,
    현재 인코딩이 완료된 프레임의 이전 프레임들 각각에 대한 상기 기 설정된 크기의 매크로 블록 단위 결정 개수를 저장할 때에, 각 프레임별 히스토리(history)에 따른 가중치를 반영하여 저장하고, 상기 가중치가 반영되어 저장된 각 프레임별 상기 기 설정된 크기의 매크로 블록 개수에 따라 그 평균값을 산출하는 것을 특징으로 하는 H.264 인코더의 적응적 인코딩 모드 결정 장치.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 기 설정된 매크로 블록은 16x16 크기의 매크로 블록임을 특징으로 하는 H.264 인코더의 적응적 인코딩 모드 결정 장치.
  7. H.264 인코더(Encoder)의 인코딩 모드 결정 방법에 있어서,
    현재 인코딩 중인 프레임(frame)의 인코딩 모드 결정 결과들 중 기 설정된 매크로 블록 단위로 결정되는 개수를 카운트하는 카운트 단계와,
    현재 인코딩 중인 프레임의 인코딩이 완료되면, 기 저장된 각 프레임별 상기 기 설정된 매크로 블록의 평균 개수를 로드하는 평균 개수 로드 단계와,
    상기 카운트된 개수와 평균 개수를 비교하는 비교 단계와,
    상기 비교 결과에 따라, 현재 설정된 초기 위치에 따른 매크로 블록의 인코딩 모드 결정을 위해 산출된 SAD(Sum of Absolute Difference) 값과 비교되는 임계값을 갱신하는 임계값 갱신 단계와,
    현재 인코딩이 완료된 프레임으로부터 카운트된 기 설정된 매크로 블록 단위의 개수를 포함하여, 상기 각 프레임별 상기 기 설정된 매크로 블록의 평균 개수를 갱신하는 매크로 블록 개수 히스토리(history) 갱신 단계를 포함하는 것을 특징으로 하는 H.264 인코더의 적응적 인코딩 모드 결정 방법.
  8. 제7항에 있어서, 상기 임계값 갱신 단계는,
    상기 비교 결과, 상기 카운트된 개수가 상기 평균 개수 이상인 경우 상기 임계값을 기 설정된 증가값만큼 증가시키거나, 상기 카운트된 개수가 상기 평균 개수 미만인 경우 상기 임계값을 기 설정된 감소값만큼 감소시키는 것을 특징으로 하는 H.264 인코더의 적응적 인코딩 모드 결정 방법.
  9. 제7항에 있어서, 상기 비교 단계는,
    상기 카운트된 개수와 상기 평균 개수를 비교하는 카운트 개수 비교 단계와,
    상기 비교 결과, 그 차이값이 일정 개수 이상인지를 판단하는 차이값 판단 단계와,
    상기 판단 결과, 상기 차이값이 일정 개수 이상인 경우, 상기 차이값에 근거한 가중치를 설정하는 차이값 가중치 설정 단계를 포함하는 것을 특징으로 하는 H.264 인코더의 적응적 인코딩 모드 결정 방법.
  10. 제9항에 있어서, 상기 임계값 갱신 단계는,
    상기 비교 결과, 상기 카운트된 개수가 상기 평균 개수 이상인 경우 상기 임계값을 기 설정된 증가값과 상기 차이값 가중치를 합한 값만큼 증가시키거나, 상기 카운트된 개수가 상기 평균 개수 미만인 경우 상기 임계값을 기 설정된 감소값과 상기 차이값 가중치를 합한 값만큼 감소시키는 것을 특징으로 하는 H.264 인코더의 적응적 인코딩 모드 결정 방법.
  11. 제7항에 있어서, 상기 매크로 블록 개수 히스토리 갱신 단계는.
    현재 인코딩이 완료된 프레임으로부터 카운트된 기 설정된 매크로 블록 단위 의 개수를 각 프레임별 히스토리에 포함시키는 히스토리 포함 단계와,
    상기 프레임별 히스토리에 따른 프레임별 가중치를 로드하는 프레임별 가중치 로드 단계와,
    상기 각 프레임 별로 각 히스토리에 따른 프레임별 가중치를 설정하는 프레임별 가중치 설정 단계와,
    상기 설정된 프레임별 가중치에 따라, 각 프레임별 상기 기 설정된 매크로 블록의 평균 개수 산출에 반영될 각 프레임별 기 설정된 매크로 블록 단위의 개수반영치를 산출하는 매크로 블록 개수 산출 단계와,
    상기 산출된 각 프레임별 기 설정된 매크로 블록 단위의 개수 반영치를 이용하여 각 프레임별 상기 기 설정된 매크로 블록의 평균 개수를 산출하는 평균 개수 산출 단계를 포함하는 것을 특징으로 하는 H.264 인코더의 적응적 인코딩 모드 결정 방법.
  12. 제7항 내지 제11항 중 어느 한 항에 있어서,
    상기 기 설정된 매크로 블록은 16x16 크기의 매크로 블록임을 특징으로 하는 H.264 인코더의 적응적 인코딩 모드 결정 방법.
KR1020060101843A 2006-10-19 2006-10-19 H.264 인코더의 적응적 인코딩 모드 결정 장치 및결정 방법 KR100856223B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020060101843A KR100856223B1 (ko) 2006-10-19 2006-10-19 H.264 인코더의 적응적 인코딩 모드 결정 장치 및결정 방법
US11/904,701 US20080095242A1 (en) 2006-10-19 2007-09-28 Apparatus and method for determining adaptive encoding mode in H.264 encoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060101843A KR100856223B1 (ko) 2006-10-19 2006-10-19 H.264 인코더의 적응적 인코딩 모드 결정 장치 및결정 방법

Publications (2)

Publication Number Publication Date
KR20080035314A KR20080035314A (ko) 2008-04-23
KR100856223B1 true KR100856223B1 (ko) 2008-09-03

Family

ID=39317894

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060101843A KR100856223B1 (ko) 2006-10-19 2006-10-19 H.264 인코더의 적응적 인코딩 모드 결정 장치 및결정 방법

Country Status (2)

Country Link
US (1) US20080095242A1 (ko)
KR (1) KR100856223B1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5812808B2 (ja) * 2011-01-05 2015-11-17 キヤノン株式会社 画像処理装置及び画像処理方法
US9131239B2 (en) * 2011-06-20 2015-09-08 Qualcomm Incorporated Unified merge mode and adaptive motion vector prediction mode candidates selection
US9967481B2 (en) * 2013-03-13 2018-05-08 Intel Corporation Techniques for image sensor pixel correction
KR101631309B1 (ko) * 2015-05-15 2016-06-16 아주대학교 산학협력단 Hevc의 고속 처리를 위한 부호화 장치 및 방법
JP2017103744A (ja) * 2015-12-04 2017-06-08 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置、及び画像符号化復号装置
KR102618692B1 (ko) 2018-06-15 2024-01-02 삼성전자주식회사 노이즈 또는 디서의 영향을 감소시키기 위한 디스플레이 구동 회로 및 방법
EP3648059B1 (en) * 2018-10-29 2021-02-24 Axis AB Video processing device and method for determining motion metadata for an encoded video

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000069482A (ja) 1998-08-26 2000-03-03 Oki Electric Ind Co Ltd 動画像の符号化方法及び装置
KR20040061245A (ko) * 2002-12-30 2004-07-07 삼성전자주식회사 영상 부호화 시 부호화 모드 결정 및 관리 장치와 그 방법
KR20050089090A (ko) * 2003-01-10 2005-09-07 톰슨 라이센싱 소시에떼 아노님 인터프레임 인코딩을 위한 빠른 모드 결정 방법
KR20060027813A (ko) * 2003-06-25 2006-03-28 톰슨 라이센싱 인터 프레임을 위한 고속 모드 결정 인코딩
KR20060092813A (ko) * 2004-06-27 2006-08-23 애플 컴퓨터, 인크. 비디오 데이터의 인코딩을 위한 인코딩 유형 및 예측 모드선택

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5815670A (en) * 1995-09-29 1998-09-29 Intel Corporation Adaptive block classification scheme for encoding video images
US7039246B2 (en) * 2002-05-03 2006-05-02 Qualcomm Incorporated Video encoding techniques
US7113543B2 (en) * 2003-02-03 2006-09-26 Texas Instruments Incorporated Video encoding
US7391468B2 (en) * 2004-07-06 2008-06-24 Magnum Semiconductor, Inc. Telecine conversion detection for progressive scan playback
KR20070044455A (ko) * 2004-07-20 2007-04-27 콸콤 인코포레이티드 비디오 압축에 대한 인코더 보조-프레임 레이트 업컨버젼(ea-fruc)을 위한 방법 및 장치
US7830960B2 (en) * 2005-01-13 2010-11-09 Qualcomm Incorporated Mode selection techniques for intra-prediction video encoding

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000069482A (ja) 1998-08-26 2000-03-03 Oki Electric Ind Co Ltd 動画像の符号化方法及び装置
KR20040061245A (ko) * 2002-12-30 2004-07-07 삼성전자주식회사 영상 부호화 시 부호화 모드 결정 및 관리 장치와 그 방법
KR20050089090A (ko) * 2003-01-10 2005-09-07 톰슨 라이센싱 소시에떼 아노님 인터프레임 인코딩을 위한 빠른 모드 결정 방법
KR20060027813A (ko) * 2003-06-25 2006-03-28 톰슨 라이센싱 인터 프레임을 위한 고속 모드 결정 인코딩
KR20060092813A (ko) * 2004-06-27 2006-08-23 애플 컴퓨터, 인크. 비디오 데이터의 인코딩을 위한 인코딩 유형 및 예측 모드선택

Also Published As

Publication number Publication date
KR20080035314A (ko) 2008-04-23
US20080095242A1 (en) 2008-04-24

Similar Documents

Publication Publication Date Title
KR100856223B1 (ko) H.264 인코더의 적응적 인코딩 모드 결정 장치 및결정 방법
KR101208863B1 (ko) 비디오 데이터의 인코딩을 위한 인코딩 유형 및 예측 모드 선택
RU2369038C1 (ru) Способ кодирования изображения/декодирования изображения, устройство кодирования изображения/декодирования изображения
RU2407221C1 (ru) Способ и устройство управления кодированием с внутренним предсказанием, программа для них и запоминающий носитель, который хранит программу
KR100957316B1 (ko) 멀티미디어 코딩을 위한 모드 선택 기술
CN1723706B (zh) 用于宏块分割部分的混合块间/块内编码的装置和方法
JP2888186B2 (ja) 画像符号化装置および画像復号装置
US20140241436A1 (en) Method and device for determining parameters for encoding or decoding of an image of a video sequence
CN1809161B (zh) 对编码视频数据选择编码类型和预测模式
JP2007524279A (ja) インターフレームのための高速モード決定符号化
CN111193924B (zh) 视频码率的确定方法、装置、计算机设备及存储介质
JP2009105696A (ja) 予測モード情報符号化方法,予測モード情報復号方法,これらの装置,およびこれらのプログラム並びにコンピュータ読み取り可能な記録媒体
JP2007124587A (ja) 動画像符号化装置、及びフェードシーン検出装置
US10154261B2 (en) Encoder and method for video processing
US20200351498A1 (en) Method, apparatus, and storage medium for dividing coding unit of video frame
US8718391B2 (en) Random access image encoding system and method
CN112839224B (zh) 一种预测模式选择方法、装置、视频编码设备及存储介质
JP2008512046A (ja) 複数の参照ピクチャの高速動き推定
JP6652068B2 (ja) 動画像符号化装置、動画像符号化方法および動画像符号化プログラム
JP2011199868A (ja) 動き推定処理における適応検索領域
CN109951707B (zh) 一种目标运动矢量选择方法、装置、电子设备及介质
TW201801529A (zh) 視訊編解碼器之複雜度控制
US20090003719A1 (en) Encoding device
KR20030009575A (ko) 신경망 분류기를 이용한 동영상 전송률 제어 장치 및 그방법
JP4719650B2 (ja) 画像符号化装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120730

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20130730

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140730

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150730

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee