KR20050061762A - 부호화 모드 결정방법, 움직임 추정방법 및 부호화 장치 - Google Patents
부호화 모드 결정방법, 움직임 추정방법 및 부호화 장치 Download PDFInfo
- Publication number
- KR20050061762A KR20050061762A KR1020030093158A KR20030093158A KR20050061762A KR 20050061762 A KR20050061762 A KR 20050061762A KR 1020030093158 A KR1020030093158 A KR 1020030093158A KR 20030093158 A KR20030093158 A KR 20030093158A KR 20050061762 A KR20050061762 A KR 20050061762A
- Authority
- KR
- South Korea
- Prior art keywords
- mode
- motion estimation
- rate
- inter
- encoding
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/109—Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/186—Methods 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 colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/557—Motion estimation characterised by stopping computation or iteration based on certain criteria, e.g. error magnitude being too large or early exit
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
고속으로 부호화 모드를 결정하는 방법, 움직임 추정방법 및 부호화 장치가 개시된다. 본 발명에 따라, 부호화 모드 결정방법은 (a) 인터 16x16 모드, 인터 16x8 모드 및 인터 8x16 모드에서 매크로 블록의 움직임 추정을 수행한 후에 P8x8 모드에서 움직임 추정을 더 수행하여야 하는가를 판단하는 단계; (b) 상기 판단결과에 따라 P8x8 모드에서의 움직임 추정을 생략하거나 수행한 후에, 하나의 모드를 결정하는 단계; 및 (c) 상기 결정된 모드에서의 율-왜곡(Rate-Distortion) 코스트값에 따라서 공간예측부호화를 생략하거나 더 수행하여 그 결과를 상기 결정된 모드와 비교하여 최종 부호화 모드를 결정하는 단계를 포함하는 것을 특징으로 한다. 이에 의해, H.264 부호화기에서 가장 복잡한 가변 블록 움직임 추정 및 공간예측 부호화를 생략하여 율-왜곡 최적화를 통한 부호화 모드 결정을 빨리함으로써 부호화 속도를 높일 수 있다.
Description
본 발명은 동영상 데이터의 부호화에 관한 것으로, 보다 상세하게는 율-왜곡 최적화(Rate-Distortion Optimization)를 이용한 부호화 모드 결정시에 가변 블록의 움직임 추정 및 공간예측부호화를 생략하여 고속으로 부호화 모드를 결정하는 방법, 움직임 추정방법 및 부호화 장치에 관한 것이다.
H.263, MPEG-4 및 H.264 등의 영상 압축 표준에서의 움직임 추정(motion estimation)은 블록 단위로 수행된다. 즉, 복수개의 매크로 블록 단위로 움직임 추정이 수행되거나 매크로 블록을 이분할하거나 사분할하여 얻어진 서브 블록 단위로 움직임 추정이 수행된다. 움직임 추정은 동영상 부호화시에 시간적 중복성(temporal redundancy)을 제거하여 비트율(bitrate)을 줄이기 위해 수행한다. 특히, H.264는 다양한 크기의 가변 블록 기반의 움직임 추정(variable block-based motion estimation)을 사용하여 부호화 효율이 높다. 또한 H.264는 1/4화소 단위의 움직임 벡터 예측을 수행하여 MPEG-4에 비하여 보다 정확한 움직임 추정이 가능하다.
움직임 벡터의 예측(prediction)은 시간축을 기준으로 과거 영상을 참조하거나 과거 영상과 미래 영상을 모두 참조하여 수행된다. 현재 프레임을 부호화하거나 복호화하는데 참조되는 영상을 참조 영상이라고 한다. H.264는 복수개의 참조영상(multiple reference frames)을 지원하기 때문에 현재 블록과 중복성이 가장 많은 프레임의 블록을 참조영상으로 선택하여 이전 프레임만을 참조영상으로 사용할 때 보다 더욱 큰 부호화 효율을 얻을 수 있다.
또한 움직임 추정에 쓰이는 가변블록 모드와 3가지의 공간예측 모드(Intra16×16, Intra4×4, IBLOCK), SKIP모드 등 모든 가능한 부호화 모드 중에서 가장 최적의 모드를 선택하기 위해 율-왜곡 최적화 기술을 사용하여 H.264 BP(Baseline Profile)의 부호화 효율을 더욱 향상시켰다. 이러한 새로운 부호화 기술로 인해, H.264는 기존의 H.263이나 MPEG-4 SP(Simple Profile)에 비해 최대 1.5-2배 이상 데이터를 압축하면서 동일한 화질을 얻을 수 있다.
그러나, 상술한 것과 같이 H.264에는 여러 가지 부호화 모드가 존재한다. 그리고 그 중에서 최적의 부호화 모드를 선택하기 위해서 모든 부호화 모드하에서 움직임 추정을 해 보아야 하기 때문에 계산이 복잡하고 연산량이 많아 MPEG-4 SP 부호화시보다 약 16배 이상 복잡한 계산이 필요하다. 따라서 이러한 복잡도를 줄여 H.264의 실제 응용을 용이하게 할 수 있는 부호화 모드 결정방법이 필요하다.
따라서, 본 발명이 이루고자 하는 기술적 과제는 H.264 표준에 따라 부호화시에 가장 많이 계산량과 시간을 차지하는 가변 블록 움직임 추정 및 공간예측 부호화를 효율적으로 생략하여 율-왜곡 최적화를 통한 부호화 모드를 빠르게 결정하는 부호화 모드 결정방법, 움직임 추정방법 및 부호화 장치를 제공하는 것이다.
상기 기술적 과제는 본 발명에 따라, (a) 인터 16x16 모드, 인터 16x8 모드 및 인터 8x16 모드에서 매크로 블록의 움직임 추정을 수행한 후에 P8x8 모드에서 움직임 추정을 더 수행하여야 하는가를 판단하는 단계; (b) 상기 판단결과에 따라 P8x8 모드에서의 움직임 추정을 생략하거나 수행한 후에, 하나의 모드를 결정하는 단계; 및 (c) 상기 결정된 모드에서의 율-왜곡(Rate-Distortion) 코스트값에 따라서 공간예측부호화를 생략하거나 더 수행하여 그 결과를 상기 결정된 모드와 비교하여 최종 부호화 모드를 결정하는 단계를 포함하는 것을 특징으로 하는 부호화 모드 결정방법에 의해 달성된다.
상기 (a) 단계는, (a1) 인터 16x16 모드, 인터 16x8 모드 및 인터 8x16 모드에서 매크로 블록의 움직임 추정을 수행하는 단계; (a2) 상기 각각의 모드에서 현재 픽처의 화소값과 이전 픽처의 화소값의 차이인 SAD(Sum of Absolute Difference) 값과 현재 픽처의 움직임 벡터와 이전 픽처의 움직임 벡터 차분값인 MVcost를 계산하는 단계; 및 (a3) 상기 각각의 모드에서의 (SAD+MVcost) 값을 서로 비교하여 그 결과에 따라 P8x8 모드에서 움직임 추정을 더 수행할 것인가를 판단하는 단계를 포함하는 것이 바람직하다.
또한, 상기 기술적 과제는 매크로 블록의 움직임 추정방법에 있어서, (a) 상기 매크로 블록 전체를 사용하여 움직임 추정을 수행하는 단계; (b) 상기 매크로 블록을 가로 방향 또는 세로 방향으로 2개로 나누어 각 블록을 사용하여 움직임 추정을 수행하는 단계; (c) 상기 매크로 블록을 동일한 크기로 4개로 나누어 각 블록을 사용하여 움직임 추정을 수행하는 단계; (d) 상기 4개로 나누어진 블록 각각을 가로 방향 또는 세로 방향으로 2개로 나누어 움직임 추정을 수행하는 단계; 및 (e) 상기 4개로 나누어진 블록 각각을 4개로 나누어 움직임 추정을 수행하는 단계를 포함하는 것을 특징으로 하는 움직임 추정방법에 의해서도 달성된다.
한편, 본 발명의 다른 분야에 따르면, 상기 기술적 과제는 영상 데이터를 입력받아 DCT 및 양자화를 수행하는 DCT+Q 수행부; 상기 영상의 율-왜곡 코스트를 계산하여, 상기 영상의 인코딩에 사용될 인코딩 블록 모드를 결정하고 결정된 블록 모드를 상기 DCT+Q 수행부로 전달하는 율-왜곡 최적화부; 및 참조영상과 상기 입력 영상을 사용하여 움직임 추정 및 보상을 수행하여 상기 DCT+Q 수행부로 전달하는 움직임 추정 및 보상부를 포함하는 것을 특징으로 하는 부호화 장치에 의해서도 달성된다.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대해 상세히 설명한다.
도 1은 움직임 추정에 사용되는 가변 블록을 도시한 도면이다.
H.264는 움직임 추정시 하나의 16×16 매크로 블록을 16×16, 16×8, 8×16, 8×8 블록으로 나누고 다시 8×8 블록을 8×4, 4×8, 4×4 블록으로 나누어 영상에 따라 블록을 선택하여 움직임 추정을 수행한다. 이러한 다양한 종류의 가변 블록을 사용하여 움직임 추정을 수행하면 영상의 특성과 움직임에 따라서 효과적으로 부호화를 수행할 수 있다. 왜냐하면, 영상의 움직임이 적고 물체가 큰 경우에는 큰 블록을 사용하여, 영상의 움직임이 복잡하고 물체가 작은 경우에는 작은 블록을 사용하여 움직임 추정 및 부호화하는 것이 효과적이기 때문이다.
도 2는 블록 선택의 일예를 도시한 도면이다.
도 2를 참조하면, 배경부분(210)이나 인코딩할 물체에서 간단한 부분(220)에서는 16×16 블록을 사용하고, 복잡한 부분(230, 240)에서는 16×8, 8×16을 사용하며, 더 복잡한 부분(250)에서는 8×4, 4×8, 4×4 블록과 같이 더 작은 블록을 사용함을 알 수 있다.
부호화 모드를 결정하는 것을 설명하면, H.264에서 사용되는 가변블록 모드와 3가지의 공간예측 모드, SKIP 모드 등 모든 가능한 부호화 모드 중에서 최적의 모드를 선택하기 위해 율-왜곡 최적화를 수행하여 율-왜곡 코스트(Rate-Distortion Cost, RDcost)가 최소가 되는 모드를 부호화 모드로 결정한다. 공간 예측모드는 인트라 예측모드를 의미하는 것이고 SKIP 모드는 이전 프레임의 매크로 블록의 픽셀값과 현재 프레임의 매크로 블록의 픽셀값이 동일하여 인코딩할 필요가 없는 경우이다. RDcost는 각 모드별로 화질의 열화(Distortion)와 비트량(Rates)을 고려하여 계산되는데, 다음 수학식 1에 의하여 계산된다.
수학식 1에서 Distortion은 현재 영상과 복원된 영상간의 화소값의 차이를 의미하며 다음 수학식 2에 의해서 계산된다.
수학식 2에서 B(k,l)과 B'(k,l)은 각각 현재 매크로 블록과 복원된 매크로 블록의 (k,l) 번째 화소값을 나타낸다. λMode 는 라그란지(Lagrangian) 상수로서, 다음 수학식 3에 의해서 계산된다.
수학식 3에서 QP는 0에서 51까지의 정수로, H.264 양자화 값(Quantization value)이다. Rates는 현재 영상의 전송 비트레이트(bitrate)이다.
도 3은 H.264 부호화기(encoder)의 블록도이다.
H.264 부호화기는 DCT+Q 수행부(310), 가변 길이 코더(320), 율-왜곡 최적화부(330), (DCT+Q)-1 수행부(340), 루프 필터(350), 참조영상 저장부(360), 움직임 추정부(370) 및 움직임 보상부(380)를 구비한다.
입력영상은 DCT+Q 수행부(310)로 입력되어 DCT와 양자화가 수행된 후, 가변길이 코더(320)에서 컨텍스트 기반의 적응 가변 길이 코딩(Context-based adaptive variable length coding)이 수행된다. 이때 입력영상은 율-왜곡 최적화부(330)에도 입력되어 (DCT+Q)-1가 수행된다. 그리고 최적의 블록 모드 결정하여 DCT+Q 수행부(310)로 출력한다.
DCT+Q 가 수행된 영상은 (DCT+Q)-1 수행부(340)에서 (DCT+Q)-1 가 수행되고 루프 필터(350)에서 저역통과 필터링이 수행되어 블록 경계를 스무딩한 다음, 참조영상 저장부(360)에 저장된다. 움직임 추정부(370)는 이렇게 저장된 참조 영상과 입력 영상을 가지고 움직임 추정을 수행하여 움직임 보상부(380)로 전달한다. 움직임 보상부(380)는 인코딩할 입력영상이 인터 프레임인가 인트라 프레임인가의 여부에 따라 입력영상에서 참조영상을 뺄 것인가의 여부를 결정하여 DCT+Q 수행부(310)로 참조영상을 전달한다.
도 4는 율-왜곡 최적화에 의한 부호화 모드 결정을 설명하기 위한 도면이다.
도 4를 참조하면, 매크로 블록의 부호화 모드는 Inter16×16, Inter16×8, Inter8×16, P8×8, Intra16×16, Intra4×4, SKIP 모드 등 7가지가 있다. P8×8 모드는 다시 5가지 모드로 나눌 수 있다. P8×8 모드가 선택되면, 매크로 블록내의 4 개의 8×8 블록들에 대해 독립적으로 율-왜곡 최적화를 수행하여 Inter8×8, Inter8×4, Inter4×8, Inter4×4, IBLOCK 등 5가지 모드 중 하나가 선택된다. SKIP 모드는 (0,0) 벡터 또는 Inter16×16 모드의 움직임 벡터를 가지며 DCT 및 양자화 후 잔여신호(residual signal)가 모두 0인 경우이다. IBLOCK 모드는 8×8 블록을 Intra4×4 모드로 부호화하는 모드이다. 도 5를 참조하여 Intra4×4 모드에 대하여 설명한다.
도 5는 Intra4×4 모드에서의 9가지 예측모드의 방향을 도시한 도면이다.
도 5를 참조하면, 각각의 모드 이름에 대응되도록, 수직방향, 수평방향 또는 대각선 방향 등으로 블록의 예측이 수행됨을 알 수 있다. Intra4×4 모드는, vertical 모드, horizontal 모드, DC 모드, diagonal_down_left 모드, diagonal_down_right 모드, vertical_right 모드, horizontal_down 모드, vertical_up 모드, horizontal_up 모드가 있다.
Intra4×4 모드에서는 9가지 예측방향에 대해서 모두 RDcost를 계산한다. 수학식 1을 사용하여 RDcost를 계산하기 위해서는 4×4 정수 DCT+양자화, Entropy 부호화, Entropy 복호화 및 (DCT+양자화)-1가 수행되어야 함을 알 수 있다. DCT+양자화, Entropy 부호화, Entropy 복호화, (DCT+양자화)-1가 4×4 블록단위로 수행되므로 매크로 블록 단위에서 P8×8 모드와 Inter16×16 모드의 RDcost 계산횟수를 비교하면 Inter16×16 모드에서는 16 번(16개의 4×4블록이 존재하므로)인 반면에, P8×8 모드에서는 4 번(4개의 8×8 블록이 존재)×4 번(4개의 4×4 블록이 존재)×4 번(Inter8×8, Inter8×4, Inter4×8, Inter4×4) + 4 번(4개의 8×8 블록) × 4 번(4개의 4×4 블록) × 9(9개의 예측모드) = 208번으로 Inter16×16 모드에서의 RDcost 계산횟수보다 13배의 계산횟수가 필요하다.
즉, 모든 부호화 모드들에서의 RDcost를 계산하여야 하기 때문에 많은 계산량을 요구한다. 따라서 매크로 블록의 부호화 모드를 빨리 결정하면 불필요한 RDcost 계산 및 움직임 추정을 생략하여 부호화기의 복잡도와 계산량을 줄일 수 있다.
표 1은 양자화 파라미터(QP)가 28일 때 Simple H.264와 H.264의 성능을 도시한 표이다. H.264는 7가지 가변 블록의 움직임 추정 및 공간예측 부호화를 수행하여 부호화하는 것이고, Simple H.264는 H.264와 동일한 부호화 조건에서 7가지 가변 블록의 움직임 추정과 공간예측 부호화를 사용하지 않고 16×16 블록단위의 인터 움직임 추정만을 사용하여 부호화하는 것이다. 부호화 조건에 대하여는 후술한다.
QP=28 | PSNR | Bitrates(Kbps) | Encoding time(%) |
Simple H.264 | 35.29 | 94.96 | 48.3 |
H.264 | 35.78 | 77.27 | 100.3 |
표 1을 참조하면, 가변 블록의 움직임 추정과 공간예측 부호화가 부호화 효율 및 부호화 시간에 미치는 영향을 알 수 있다.
H.264와 Simple H.264에 공통으로 사용된 부호화 조건은 다음과 같다. 30frames/sec으로 저장된 300장의 영상에 대하여 10frames/sec의 프레임율로 영상을 압축하면서, 첫 번째 프레임만 Intra 프레임으로 나머지는 모두 Predictive프레임으로 부호화하였다. 한장의 참조영상을 사용하였으며, ±16의 검색영역, 1/4 화소 단위의 움직임 예측 및 보상, 하다마드 변환, (4×4정수 DCT + Q) 계수에 대한 컨텍스트 기반 적응 가변 길이 코딩(Context-based Adaptive Variable Length Coding, CAVLC)을 이용하여 부호화하였다. 실험에 사용된 영상은 Foreman QCIF(176×144) 영상이며 양자화 파라미터(Quantization Parameter) 값으로 각각 28, 32, 36, 40을 사용하였다.
표 1은 QP 28일때 Simple H.264와 H.264의 성능을 수치로 나타낸 것이다. Simple H.264는 H.264에 비해 PSNR은 0.49dB 떨어지고 비트율은 22.9% 증가한다. 그러나 전체적인 부호화 시간은 H.264에 비해 48.3%만이 소요되는 것을 알 수 있다. 따라서 가변 블록 움직임 추정과 공간예측 부호화를 사용하면 부호화기의 성능은 높지만 그에 따라 복잡도가 증가함을 알 수 있다.
따라서 본 발명에서는 부호화기의 성능을 유지하면서 속도를 향상시키기 위해 부호화기에서 가장 많은 계산량을 차지하는 가변 블록 움직임 추정 및 공간예측 부호화를 효율적으로 생략하여 율-왜곡 최적화를 통한 부호화 모드 결정 속도를 향상시킨 부호화 모드 결정방법을 설명한다.
도 6은 가변 블록 움직임 추정시의 블록 매칭 순서를 도시한 플로우차트이다.
우선 16x16 블록으로 블록 매칭을 수행하고(S610), 16x16 블록을 구성하는 2개의 16x8 블록으로 블록 매칭을 수행한다(S620). 그리고 2개의 8x16 블록으로 블록 매칭을 수행하고(S630), 16x16 블록을 4개의 8x8 블록으로 나누어 각 8x8 블록으로 블록 매칭을 수행한다(S640).
다음으로 각 8x8 블록을 2개의 8x4블록으로 나누어 블록 매칭을 수행하고(S650), 2개의 4x8 블록으로 나누어 블록 매칭을 수행한 다음(S660), 각각의 8x8 블록을 각각 4개의 4x4 블록으로 나누어 블록 매칭을 수행한다(S670).
도 6에 도시한 순서대로 가변 블록 움직임 추정을 수행하면, 불필요한 움직임 추정 및 율-왜곡 계산 과정을 생략할 수 있다. 가변 블록 움직임 추정에서 매크로 블록을 작은 블록들로 나누어 움직임 추정을 수행한다면 16×16 블록으로 움직임 추정을 수행하였을 때 보다 더 자세한 움직임을 표현할 수 있어 왜곡(Distortion) 정도는 줄어들지만 각 블록에 대한 움직임 벡터, 블록코딩패턴(Coded Block Pattern), 부호화모드 정보 등이 많아져서 비트율이 증가할 수 있다.
율-왜곡(RD) 측면에서 살펴보면, 매크로 블록이 여러 방향의 움직임 벡터를 갖고 있어 블록이 나누어질 때 왜곡(Distortion)이 감소한다면 계속해서 더 작은 블록들로 나누어져서 움직임 추정을 수행하여야 한다. 그러나 작은 블록으로 나누었을 때 왜곡의 감소정도보다 비트율의 증가정도가 더 크다면 큰 블록모드를 유지하는 것이 바람직하다.
본 발명에서는 Inter16×16, Inter16×8, Inter8×16 모드에서 움직임 추정을 수행한 후, RD 측면에서 큰 블록모드가 유리하다고 판단되는 매크로 블록들에 대해서는 P8×8 모드의 움직임 추정 및 RDcost 계산을 생략한다. 그리고, 빠른 계산을 위해 수학식 2에서 정의된 Distortion과 비트율 대신, SAD와 MVcost를 이용하여 P8×8모드에 대한 움직임 추정 및 RDcost 계산을 할 것인가의 여부를 판단한다. MVcost는 움직임 추정 전의 예측벡터(Predicted Motion Vector)와 움직임 추정 후 얻은 움직임 벡터 사이의 차분을 UVLC(Universal VLC)한 값에 의하여 결정된다. 예측벡터와 실제 움직임 벡터간의 값의 차이가 크다면 MVcost는 커지고 반대로 예측벡터와 실제 움직임 벡터 사이의 값이 유사하다면 MVcost는 작아진다. Inter16×16, Inter16×8, Inter8×16 모드의 SAD + MVcost는 다음 수학식 4와 같이 계산된다.
여기에서, SAD1은 16×16 블록의 SAD 값, SAD21은 매크로 블록내의 첫 번째 16×8 블록의 SAD 값, SAD22는 두 번째 16×8 블록의 SAD 값, MVcost21, MVcost
22는 각각의 16×8 블록들에 대한 MVcost이고, SAD31, SAD32, MVcost31, MVcost
32는 8×16 블록의 SAD와 MVcost를 나타낸다. 일반적으로 SAD1 ≥ SAD21+SAD22, SAD
1 ≥ SAD31+SAD32 에 있다. 작은 블록으로 나눌수록 예측벡터와 실제 움직임 벡터와의 차이가 적기 때문이다.
여기서 ΔSAD는 Inter16×16 모드의 SAD 값과 Inter16×8 모드의 SAD 값의 차분값이다. 따라서, 매크로 블록 내의 두 개의 16×8 블록이 다른 방향의 움직임 벡터를 가졌을 때는 ΔSAD 값은 커지고 유사한 방향의 움직임 벡터를 가졌을 때는 ΔSAD 값이 작아진다. 두개의 16×8 블록이 완전히 같은 방향의 움직임 벡터를 가졌을 때는 ΔSAD 값은 0이 된다.
16×16 블록과 8×16 블록 모드의 SAD 값의 차분도 이와 같이 구할 수 있다. 매크로 블록이 하나의 16×16 블록으로 움직임 추정을 한 Inter16×16 모드와, 16×16 블록을 수평으로 두 개로 나눈 Inter16×8 모드와 수직으로 두개로 나눈Inter8×16 모드의 Inter16×16_SAD+MVcost, Inter16×8_SAD+MVcost, Inter8×16_SAD+MVcost 값을 비교하여 Inter16×16_SAD+MVcost 값이 가장 작다면 매크로 블록을 수직으로 나누었을 때와 수평으로 나누는 각각의 경우에, 나누어진 블록들의 움직임 벡터가 유사하다. 따라서 이 경우에는, SAD의 감소정도인 ΔSAD보다 MVcost의 증가 정도가 더 크기 때문에 매크로 블록 전체가 수직방향 또는 수평방향으로 나누어지지 않고 유사한 방향의 움직임을 가진다는 것을 뜻한다.
이 경우 더 많은 움직임 벡터를 요구하는 P8×8 모드에서도 ΔSAD 보다 MVcost가 더 클 것으로 예상되므로 많은 계산량을 요구하는 움직임 추정 및 RDcost계산을 생략할 수 있다. 상술한 바와 같이 P8×8 모드에서의 계산량은 다른 모드에 비해 많기 때문에 P8×8 모드의 움직임 추정 및 율-왜곡 최적화 과정을 경우에 따라 생략한다면 부호화기에서 수행되는 연산량 및 복잡도를 크게 감소시킬 수 있다.
H.264 에서는 가변 블록의 움직임 추정을 수행한 후, 공간예측 모드 및 SKIP 모드에 대한 RDcost를 비교하여 RDcost 가 최소가 되는 모드를 부호화 모드로 결정한다. 이 과정에서 모든 매크로 블록들에 대한 공간예측 부호화가 수행된다. 한편, 영상을 부호화 할 때 공간예측 부호화를 수행하면 움직임 추정에 의한 Inter 부호화에 비해 훨씬 많은 비트를 요구한다. 그러나, 매크로 블록의 부호화 모드가 공간예측 부호화 모드로 결정되는 경우는 장면 전환 같은 특별한 경우 외에는 거의 일어나지 않는다.
H.264 표준화 그룹에서 권고하는 조건에 따라 부호화를 하였을 때 영상의 Predictive 프레임에서 공간예측 모드로 부호화되는 매크로 블록의 비율은 여러 가지 영상에서 모두 작다. 그럼에도 불구하고 모든 매크로 블록에 대해 공간예측 부호화를 수행하는 것은 실제 공간예측 모드로 부호화되는 매크로 블록의 비율을 감안할 때 불필요한 계산을 많이 수행하는 것이라고 할 수 있다.
이제, 불필요한 공간예측 부호화를 효율적으로 생략하는 방법에 대하여 설명한다. 우선, 이전 프레임들 및 현재 프레임에서 공간예측 모드로 부호화된 모든 Intra 매크로 블록의 RDcost의 평균 M을 계산한다. M의 초기값은 영상의 첫 번째 프레임인 I 프레임의 RDcost 평균값에서 시작하여 공간예측 모드로 부호화되는 매크로 블록이 발생할 때마다 M이 갱신된다. 이때 갱신된 M은 다음 수학식 6과 같이 계산된다.
수학식 6에서 M'는 Intra 매크로 블록 발생시 RDcost 값, n은 현재까지 발생한 Intra 매크로 블록의 갯수이다. 수학식 6에 따른 연산을 수행하여 M을 계속적으로 갱신할 수 있음을 알 수 있다.
가변 블록 크기의 움직임 추정 및 율-왜곡 최적화를 통하여 최적 Inter 매크로 블록의 부호화 모드를 결정한 후, 최적 Inter 매크로 블록의 RDcost와 M을 비교하여 최적 Inter 매크로 블록의 RDcost가 더 작다면 움직임 추정이 효율적으로 이루어졌고 공간예측 모드로 부호화시 최적 Inter 모드에서의 RDcost 보다 RDcost가 커질 확률이 높으므로 공간예측 모드 부호화 과정을 생략한다.
본 발명은 P8×8 모드의 율-왜곡 최적화시에도 사용될 수 있다. P8×8 모드에서는 각각의 8×8 블록들에 대해서 Inter8×8, Inter8×4, Inter4×8, Inter4×4 모드 중 최적 모드의 RDcost와 M/4을 비교하여 IBLOCK모드의 RDcost 계산을 생략할 수 있다.
본 발명의 공간예측부호화 생략 알고리즘을 pseudo code 형태로 나타내면 다음과 같다.
Inter_mode RDS(); // Calculate Inter mode Rate Distortions
Best_Inter_mode_RDcost = Best_Inter_mode_decision();
If(Best_Inter_mode_RDcost < M)
SKIP Intra mode RD calculation;
else
Intra_mode_RD(); // Calculate Intra mode Rate Distortions
Encoding_mode = Encoding_mode_Decision(); //Decide Intra/Inter mode
If(Encoding_mode == Intra)
Update M value by equation (6);
도 7은 본 발명의 부호화 모드 결정방법의 흐름도이다.
매크로 블록 단위로 Inter16×16, Inter16×8, Inter8×16 세 모드에서 움직임 추정을 수행한다(S710). 상기 S710 단계에서는 움직임 추정을 수행하고 각 모드에서의 SAD+MVcost의 계산과정까지 포함한다. SAD 및 MVcost의 계산은 상술한 바와 같다. 계산된 SAD+MVcost에 따라서 P8×8 모드의 움직임 추정(ME)이 필요한가의 여부를 판단한다(S720), 즉, 각 모드에서의 SAD+MVcost를 비교하여 세 값중 Inter16×16_SAD+MVcost가 최소인가를 판단하는 것이다. 만일, 세 값중에서 Inter16×16_SAD+MVcost가 최소이면 블록을 더 나누기보다는 큰 블록모드를 유지하는 것이 좋으므로 많은 계산량을 요구하는 P8×8 모드의 움직임 추정(ME) 및 RDcost 계산은 생략하고, Inter16×16, Inter16×8, Inter8×16, SKIP 모드의 RDcost를 계산한다(S730).
상기 S720 단계의 판단 결과, Inter16×16_SAD+MVcost가 최소가 아니면, P8×8 모드의 움직임 추정(ME)을 수행한다(S740).
도 8a는 도 7의 S740 단계의 상세 흐름도이다.
S740 단계를 도 8a를 참조하여 보다 상세히 설명하면, 4개의 8x8 블록을 더 나누어 나누어진 블록에 대한 Rdcost를 계산한다(S741). 그리고, 그 값이 가장 작은 모드를 P8x8 모드에서의 최적 모드로 결정한다(S742). 이렇게 결정된 최적의 P8x8 모드에서의 Rdcost와 M/4을 비교한다(S743). 비교 결과, 최적 모드의 RDcost가 작다면 IBLOCK 모드의 RDcost계산을 생략하고, 그렇지 않으면 IBLOCK 모드에서의 Rdcost를 계산하고(S744), P8x8 모드에서의 최적의 모드를 정한다(S745)
상술한 바와 같이 경우에 따라, P8×8 모드에서의 움직임 추정을 생략하거나 또는 수행한 후에 최적의 인터모드를 결정한다(S750). 즉, Inter16×16, Inter16×8, Inter8×16, SKIP, P8×8 모드 중에서 최적의 Inter모드를 선택한다. 그리고, 공간 예측 부호화를 생략할 수 있는가를 판단한다(S760). 즉, 최적의 Inter 모드로 결정된 모드에서의 RDcost를 M 값과 비교하여, 최적 Inter 모드의 RDcost가 작으면 움직임 추정이 효율적으로 이루어졌음을 의미하므로 매크로 블록 단위의 공간예측 부호화를 생략하고 S750 단계에서 선택된 인터모드를 부호화 모드로 결정한다(S780). 그렇지 않은 경우에는 공간예측 부호화를 더 수행하여 그 모드에서의 RDcost를 계산하여 최적 Inter 모드의 RDcost와 비교하여 매크로 블록의 부호화 모드를 결정한다(S770).
도 8b는 도 7의 S760 및 S770 단계의 상세 흐름도이다.
S750 단계에서 선택된 최적의 인터모드에서의 Rdcost를 M 값과 비교함으로써 공간 예측 부호화 생략여부를 판단한다(S760). 그리고 인트라 모드에서의 Rdcost를 계산하여(S771), 부호화 모드를 결정한다(S772). 결정된 부호화 모드가 인트라 모드인가를 판단하여(S773), 인트라 모드이면 상기 M 값을 갱신한다(S774). M 값의 갱신은 상술한 수학식에 의해 이루어진다.
표 2는 본 발명의 방법에 따라 부호화 모드를 결정하였을 때의 효과를 설명하기 위한 실험조건을 나타낸다.
News(QCIF) | Container(QCIF) | Foreman(QCIF) | Silent(QCIF) | Paris(CIF) | Mobile(CIF) | Tempete(CIF) | |
Total frame | 300 | 300 | 300 | 300 | 300 | 300 | 260 |
Frame skip | 2 | 2 | 2 | 1 | 1 | 0 | 0 |
QP | 28, 32, 36, 40 | ||||||
CodingOption | 가변 블록 움직임 추정, 율-왜곡 최적화, 하다마드 변환,B 프레임 사용안함(IPPP...), CAVLC, 에러툴 사용안함 |
즉, H.264 표준화 그룹에서 권고하는 실험 조건에 따라 수행되었다. 다만 Tempete 영상은 226장의 프레임만을 사용하여 실험하였다. 그리고, JM42(Joint Model 42) 코덱을 이용하여 본 발명의 부호화 모드 결정방법의 성능을 실험하였다.
표 3a 및 표 3b는 본 발명의 부호화 모드 결정방법과 JM42의 성능을 비교한 도표이다.
QP | ΔBits(%) | ΔPSNR(dB) | A(%) | B(%) | Total(%) | |
News | 28 | 1.29 | 0.03 | 94.84 | 36.67 | 75.83 |
32 | 1.35 | 0.04 | 94.90 | 37.38 | 76.05 | |
36 | 1.19 | 0.06 | 95.06 | 39.33 | 76.68 | |
40 | 1.65 | 0.03 | 94.48 | 42.71 | 77.17 | |
Container | 28 | 0.69 | 0.05 | 94.31 | 38.70 | 75.99 |
32 | 0.91 | 0.04 | 93.16 | 40.88 | 75.78 | |
36 | 0.53 | 0.10 | 90.61 | 43.31 | 74.63 | |
40 | 0.87 | 0.13 | 89.83 | 45.67 | 74.72 | |
Foreman | 28 | 1.30 | 0.05 | 89.11 | 19.34 | 67.23 |
32 | 0.89 | 0.08 | 89.93 | 23.89 | 69.01 | |
36 | 1.11 | 0.07 | 90.20 | 28.70 | 70.48 | |
40 | 0.53 | 0.16 | 91.30 | 33.97 | 72.64 | |
Silent | 28 | 1.93 | 0.05 | 96.60 | 33.24 | 76.12 |
32 | 0.96 | 0.00 | 96.63 | 32.48 | 75.93 | |
36 | 1.56 | 0.05 | 96.21 | 39.38 | 77.47 | |
40 | 0.67 | 0.09 | 96.09 | 43.92 | 78.60 |
QP | ΔBits(%) | ΔPSNR(dB) | A(%) | B(%) | Total(%) | |
News | 28 | 0.03 | 94.98 | 35.97 | 75.96 | |
32 | 0.40 | 0.05 | 95.24 | 38.51 | 76.81 | |
36 | 0.16 | 0.03 | 95.21 | 40.46 | 77.30 | |
40 | -0.12 | 0.07 | 95.20 | 41.72 | 77.63 | |
Container | 28 | -0.07 | 0.06 | 96.98 | 27.87 | 75.21 |
32 | -0.15 | 0.05 | 97.95 | 28.12 | 75.96 | |
36 | 0.00 | 0.05 | 98.11 | 29.74 | 76.50 | |
40 | 0.00 | 0.08 | 97.64 | 33.96 | 77.27 | |
Foreman | 28 | 0.36 | 0.04 | 93.42 | 25.32 | 72.06 |
32 | 0.32 | 0.04 | 94.49 | 28.08 | 73.53 | |
36 | 0.32 | 0.05 | 94.80 | 32.04 | 74.49 | |
40 | 0.83 | 0.03 | 94.74 | 37.01 | 76.05 | |
Silent | 28 | 0.84 | 0.04 | 94.32 | 31.02 | 74.06 |
32 | 0.60 | 0.04 | 94.61 | 33.04 | 74.72 | |
36 | 0.69 | 0.06 | 94.79 | 36.14 | 75.41 | |
40 | 0.63 | 0.08 | 94.18 | 39.85 | 76.30 |
표 3a 및 표 3b에서 ΔBits와 ΔPSNR은 H.264와 본 발명의 모드 결정방법간의 비트율의 차이와 PSNR의 차이로서 다음 수학식 7에 따라 계산된다.
ΔBits와 ΔPSNR의 (-) 부호는 성능이 좋아졌음을 의미한다. 표 3a 및 표 3b에서 A(%)는 공간예측 부호화 과정에서의 RD 계산 감소량을, B(%)는 움직임 추정에 사용되는 가변 블록 모드에서의 RD 계산 감소량을, Total(%)은 전체 부호화 과정에서의 RD 계산 감소량을 나타낸다. 줄어든 RD 계산 감소량은 다음 수학식 8에 따라서 계산될 수 있다.
표 3a 및 표 3b를 참조하면, 본 발명의 모드 결정방법을 사용하면, Intra 부호화시 사용되는 공간예측 부호화 과정에서 평균 94% 이상의 계산량이 감소하며 Inter 부호화시 사용되는 가변 블록 움직임 추정에서 31~39% 이상의 계산량이 감소함을 알 수 있다. 또한, 공간예측 모드와 가변블록 모드 및 SKIP 모드까지 포함된 전체 RD 계산 수행횟수도 평균 75% 이상 감소함을 알 수 있다. 이처럼 많은 계산량의 감소에 비해 비트율은 평균 0.69%, PSNR은 평균 0.055의 손실이 있음을 알 수 있다. 그러나, 계산량의 감소정도를 고려할 때 화질에 미치는 영향은 그리 크지 않다.
도 9a 내지 도 9g는 본 발명의 부호화 모드 결정방법을 사용하였을 때와 H.264 방법 및 Simple H.264를 사용하였을 때의 PSNR을 비교한 그래프이다.
표 2에 주어진 여러 QCIF, CIF 해상도를 갖는 시험용 영상들에 대하여 본 발명의 모드 결정방법(FastMode), JM42, 그리고 Simple H.264를 적용했을 때 각각의 영상에서 3가지 방법에 대한 bitrates 대 PSNR의 성능을 비교한 그래프이다. 도 9a 내지 도 9g를 참조하면, 본 발명의 모드 결정방법의 PSNR은 H.264와 거의 같은 결과를 얻을 수 있음을 알 수 있다. 즉, 본 발명의 모드 결정방법을 사용하여 부호화하였을 때의 부호화 효율이 H.264와 거의 같다. 도 9a 내지 도 9g와 표 3a 및 표 3b를 참조하면, 본 발명의 모드 결정방법을 사용하여 부호화하였을 때 H.264의 부호화 효율을 유지하면서도 계산량을 크게 줄일 수 있는 효과가 있다.
한편, 전술한 모드 결정 방법은 컴퓨터 프로그램으로 작성 가능하다. 상기 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 프로그램은 컴퓨터가 읽을 수 있는 정보저장매체(computer readable media)에 저장되고, 컴퓨터에 의하여 읽혀지고 실행됨으로써 참조 픽처 결정 방법 및 그 움직임 보상 방법을 구현한다. 상기 정보저장매체는 자기 기록매체, 광 기록매체, 및 캐리어 웨이브 매체를 포함한다.
전술한 바와 같이 본 발명에 따르면, H.264 부호화기에서 가장 복잡한 가변 블록 움직임 추정 및 공간예측 부호화를 생략하여 율-왜곡 최적화를 통한 부호화 모드 결정을 빨리 함으로써 부호화 속도를 높일 수 있다.
본 발명의 부호화 모드 결정방법을 사용하면, 율-왜곡 최적화시 RDcost 계산횟수를 평균 75% 이상 감소시키면서도, 부호화 효율을 나타내는 두 가지 척도인 비트율 및 PSNR의 손실이 매우 적다. 따라서, 고속 부호화기의 구현시 유용하게 사용될 수 있다.
도 1은 움직임 추정에 사용되는 가변 블록을 도시한 도면이다.
도 2는 블록 선택의 일예를 도시한 도면이다.
도 3은 H.264 부호화기의 블록도이다.
도 4는 율-왜곡 최적화에 의한 부호화 모드 결정을 설명하기 위한 도면이다.
도 5는 Intra4×4 모드에서의 9가지 예측모드의 방향을 도시한 도면이다.
도 6은 가변 블록 움직임 추정시의 블록 매칭 순서를 도시한 플로우차트이다.
도 7은 본 발명의 부호화 모드 결정방법의 흐름도이다.
도 8a는 도 7의 S740 단계의 상세 흐름도이다.
도 8b는 도 7의 S760 및 S770 단계의 상세 흐름도이다.
도 9a 내지 도 9g는 본 발명의 부호화 모드 결정방법을 사용하였을 때와 H.264 방법 및 Simple H.264를 사용하였을 때의 PSNR을 비교한 그래프이다.
Claims (15)
- (a) 인터 16x16 모드, 인터 16x8 모드 및 인터 8x16 모드에서 매크로 블록의 움직임 추정을 수행한 후에 P8x8 모드에서 움직임 추정을 더 수행하여야 하는가를 판단하는 단계;(b) 상기 판단결과에 따라 P8x8 모드에서의 움직임 추정을 생략하거나 수행한 후에, 하나의 모드를 결정하는 단계; 및(c) 상기 결정된 모드에서의 율-왜곡(Rate-Distortion) 코스트값에 따라서 공간예측부호화를 생략하거나 더 수행하여 그 결과를 상기 결정된 모드와 비교하여 최종 부호화 모드를 결정하는 단계를 포함하는 것을 특징으로 하는 부호화 모드 결정방법.
- 제1항에 있어서, 상기 (a) 단계는(a1) 인터 16x16 모드, 인터 16x8 모드 및 인터 8x16 모드에서 매크로 블록의 움직임 추정을 수행하는 단계;(a2) 상기 각각의 모드에서 현재 픽처의 화소값과 이전 픽처의 화소값의 차이인 SAD(Sum of Absolute Difference) 값과 현재 픽처의 움직임 벡터와 이전 픽처의 움직임 벡터 차분값인 MVcost를 계산하는 단계; 및(a3) 상기 각각의 모드에서의 (SAD+MVcost) 값을 서로 비교하여 그 결과에 따라 P8x8 모드에서 움직임 추정을 더 수행할 것인가를 판단하는 단계를 포함하는 것을 특징으로 하는 부호화 모드 결정방법.
- 제2항에 있어서, 상기 (a3) 단계는인터 16x16 모드에서의 (SAD+MVcost) 값이 다른 모드에서의 (SAD+MVcost) 보다 작으면 P8x8 모드에서의 움직임 추정과정을 생략하는 것을 특징으로 하는 부호화 모드 결정방법.
- 제2항에 있어서, 상기 (b) 단계는(b1) 인터 16x16 모드에서의 (SAD+MVcost) 값이 다른 모드에서의 (SAD+MVcost) 보다 작으면 인터 16x16 모드, 인터 16x8 모드, 인터 8x16 모드 및 skip 모드에서의 율-왜곡 코스트를 계산하는 단계; 및(b2) 상기 모드 중에서 상기 율-왜곡 코스트가 작은 하나의 모드를 선택하는 단계를 포함하는 것을 특징으로 하는 부호화 모드 결정방법.
- 제2항에 있어서, 상기 (b) 단계는(b1) 인터 16x16 모드에서의 (SAD+MVcost) 값이 다른 모드에서의 (SAD+MVcost) 보다 작지 않으면 인터 8x8 모드, 인터 8x4 모드, 인터 4x8 모드 및 인터 4x4 모드에서의 율-왜곡 코스트를 계산하는 단계; 및(b2) 상기 모드 중에서 상기 율-왜곡 코스트가 작은 하나의 모드를 선택한 후에 IBLOCK 모드에서의 율-왜곡 코스트를 계산할 필요가 있는가를 판단하여 그 결과에 따라 IBLOCK 모드에서의 율-왜곡 코스트를 더 계산하여 P8x8 모드들 중에서 하나의 모드를 결정하는 단계를 포함하는 것을 특징으로 하는 부호화 모드 결정방법.
- 제5항에 있어서, 상기 (b2) 단계는상기 선택된 모드에서의 율-왜곡 코스트가, 공간예측 모드에서 부호화된 모든 매크로 블록의 율-왜곡 코스트들의 평균값의 1/4보다 작지 않으면 IBLOCK 모드에서 움직임 추정을 더 수행하여 율-왜곡 코스트를 계산하여 P8x8 모드들 중에서 하나의 모드를 결정하는 것을 특징으로 하는 부호화 모드 결정방법.
- 제2항에 있어서, 상기 (c) 단계는(c1) 상기 결정된 모드에서의 율-왜곡 코스트값이 공간예측 모드에서 부호화된 모든 매크로 블록의 율-왜곡 코스트들의 평균값보다 작으면 인트라 모드에서의 움직임 추정을 수행하지 않고 상기 선택된 모드를 최종 부호화 모드로 결정하는 단계; 및(c2) 상기 결정된 모드에서의 율-왜곡 코스트값이 공간예측 모드로 부호화된 모든 매크로 블록의 율-왜곡 코스트들의 평균값보다 작지 않으면, 인트라 모드에서의 움직임 추정을 더 수행하여 율-왜곡 코스트를 더 계산하고, 그 결과를 상기 결정된 모드와 비교하여 그 값이 작은 쪽의 모드를 최종 부호화 모드로 결정하는 단계를 포함하는 것을 특징으로 하는 부호화 모드 결정방법.
- 제7항에 있어서, 상기 (c2) 단계는상기 최종 부호화 모드가 인트라 모드로 결정되면 공간예측 모드로 부호화된 모든 매크로 블록의 율-왜곡 코스트들의 평균값을 갱신하는 것을 특징으로 하는 부호화 모드 결정방법.
- 제8항에 있어서, 상기 평균값의 갱신은상기 평균값에 현재까지 발생한 인트라 매크로 블록의 개수를 곱하고, 그 결과를 인트라 매크로 블록 발생시의 율-왜곡 코스트값에 더하여, 그 값을 (상기 현재까지 발생한 인트라 매크로 블록의 개수+1)로 나누어 갱신하는 것을 특징으로 하는 부호화 모드 결정방법.
- 매크로 블록의 움직임 추정방법에 있어서,(a) 상기 매크로 블록 전체를 사용하여 움직임 추정을 수행하는 단계;(b) 상기 매크로 블록을 가로 방향 또는 세로 방향으로 2개로 나누어 각 블록을 사용하여 움직임 추정을 수행하는 단계;(c) 상기 매크로 블록을 동일한 크기로 4개로 나누어 각 블록을 사용하여 움직임 추정을 수행하는 단계;(d) 상기 4개로 나누어진 블록 각각을 가로 방향 또는 세로 방향으로 2개로 나누어 움직임 추정을 수행하는 단계; 및(e) 상기 4개로 나누어진 블록 각각을 4개로 나누어 움직임 추정을 수행하는 단계를 포함하는 것을 특징으로 하는 움직임 추정방법.
- 제10항에 있어서, 상기 (a) 단계는16x16 크기의 매크로 블록 전체를 사용하여 움직임 추정을 수행하는 것을 특징으로 하는 움직임 추정방법.
- 제10항에 있어서, 상기 (b) 단계는상기 매크로 블록을 2개의 16x8 블록으로 움직임 추정을 수행한 후에, 2개의 8x16 블록으로 움직임 추정을 수행하는 것을 특징으로 하는 움직임 추정방법.
- 제10항에 있어서, 상기 (c) 단계는상기 매크로 블록을 2개의 16x8 블록으로 움직임 추정을 수행한 후에, 2개의 8x16 블록으로 움직임 추정을 수행하는 것을 특징으로 하는 움직임 추정방법.
- 영상 데이터를 입력받아 DCT 및 양자화를 수행하는 DCT+Q 수행부;상기 영상의 율-왜곡 코스트를 계산하여, 상기 영상의 인코딩에 사용될 인코딩 블록 모드를 결정하고 결정된 블록 모드를 상기 DCT+Q 수행부로 전달하는 율-왜곡 최적화부; 및참조영상과 상기 입력 영상을 사용하여 움직임 추정 및 보상을 수행하여 상기 DCT+Q 수행부로 전달하는 움직임 추정 및 보상부를 포함하는 것을 특징으로 하는 부호화 장치.
- 제14항에 있어서, 상기 율-왜곡 최적화부는상기 입력된 영상 데이터에서 현재 픽처의 화소값과 이전 픽처의 화소값의 차이인 SAD 값과, 현재 픽처의 움직임 벡터와 이전 픽처의 움직임 벡터의 차분값이 MVcost를 계산하고, SAD+MVcost 값에 따라서 공간 예측 모드에서의 움직임 추정과정을 생략하는 것을 특징으로 하는 부호화 장치.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030093158A KR20050061762A (ko) | 2003-12-18 | 2003-12-18 | 부호화 모드 결정방법, 움직임 추정방법 및 부호화 장치 |
US10/861,486 US20050135484A1 (en) | 2003-12-18 | 2004-06-07 | Method of encoding mode determination, method of motion estimation and encoding apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030093158A KR20050061762A (ko) | 2003-12-18 | 2003-12-18 | 부호화 모드 결정방법, 움직임 추정방법 및 부호화 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20050061762A true KR20050061762A (ko) | 2005-06-23 |
Family
ID=34675815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020030093158A KR20050061762A (ko) | 2003-12-18 | 2003-12-18 | 부호화 모드 결정방법, 움직임 추정방법 및 부호화 장치 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20050135484A1 (ko) |
KR (1) | KR20050061762A (ko) |
Cited By (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100669897B1 (ko) * | 2005-01-21 | 2007-01-16 | 한양대학교 산학협력단 | H.264/avc에서의 고속 매크로블록 모드 선택 방법 |
KR100677118B1 (ko) * | 2004-06-11 | 2007-02-02 | 삼성전자주식회사 | 움직임 추정 방법 및 그 장치 |
KR100723861B1 (ko) * | 2005-11-04 | 2007-05-31 | 한국전자통신연구원 | 고속 움직임 예측을 위한 고속 모드 검색 장치 및 방법 |
KR100727989B1 (ko) * | 2005-10-01 | 2007-06-14 | 삼성전자주식회사 | 동영상 부호화시의 인터 모드 결정 방법 및 장치 |
KR100734858B1 (ko) * | 2005-12-07 | 2007-07-03 | 한국전자통신연구원 | 효율적인 1/4 화소 단위 움직임 예측을 위한 1/4 화소 단위메모리 인덱싱 방법 |
KR100742772B1 (ko) * | 2005-04-08 | 2007-07-26 | 고려대학교 산학협력단 | 가변 블록 움직임 추정장치 및 그 방법 |
KR100751423B1 (ko) * | 2004-11-24 | 2007-08-23 | 한국전자통신연구원 | 움직임 추정을 위한 고속의 블록 모드 결정 방법 및 그장치 |
KR100773761B1 (ko) * | 2006-09-14 | 2007-11-09 | 한국전자통신연구원 | 동영상 부호화 장치 및 방법 |
KR100807330B1 (ko) * | 2006-09-07 | 2008-02-28 | 엠엠비 주식회사 | H.264/avc 인코더의 인트라 매크로블록 모드 스킵 방법 |
KR100814731B1 (ko) * | 2006-08-21 | 2008-03-19 | 연세대학교 산학협력단 | H.264 부호화를 위한 고속 모드 결정 방법 |
KR100824616B1 (ko) * | 2006-06-01 | 2008-04-24 | 동국대학교 산학협력단 | H.264에서의 부호화 속도를 향상시키기 위한 다중 참조영상 간 모드 생략 방법 |
KR100845303B1 (ko) * | 2006-09-29 | 2008-07-10 | 한국전자통신연구원 | 고속 부호화를 위한 되먹임 구조를 가진 동영상 압축부호화 장치 및 최적 모드 결정 방법 |
KR100898176B1 (ko) * | 2007-06-12 | 2009-05-19 | 한국전자통신연구원 | 비디오 인코딩을 위한 인터 모드 결정 방법 |
KR100900316B1 (ko) * | 2006-12-06 | 2009-06-02 | 한국전자통신연구원 | 실시간 비디오 신호 압축을 위한 인트라 모드 예측 검색방법 및 장치 |
KR100924487B1 (ko) * | 2007-12-17 | 2009-11-03 | 한국전자통신연구원 | 인터 예측에서의 블록 크기 분할 방법 및 장치 |
KR100932702B1 (ko) * | 2007-09-11 | 2010-01-18 | 한국과학기술원 | 고속모드선택방법 및 그 기록매체 |
KR100943636B1 (ko) * | 2007-12-26 | 2010-02-24 | 호서대학교 산학협력단 | 매크로블록의 부호화 모드 고속 결정 방법 |
KR100951164B1 (ko) * | 2008-01-28 | 2010-04-06 | 울산대학교 산학협력단 | 윤곽선을 이용한 h.264/avc의 효율적인 고속 모드결정 방법 |
US7764740B2 (en) | 2004-11-24 | 2010-07-27 | Electronics And Telecommunications Research Institute | Fast block mode determining method for motion estimation, and apparatus thereof |
WO2010101427A2 (ko) * | 2009-03-06 | 2010-09-10 | 삼성전자 주식회사 | 동영상 부호화기/복호화기 및 그 동영상 부호화기/복호화기에서의 동영상 부호화/복호화를 위한 블록모드 결정방법 |
WO2011004986A2 (ko) * | 2009-07-04 | 2011-01-13 | 에스케이텔레콤 주식회사 | 영상 부호화/복호화 방법 및 장치 |
WO2011043562A2 (ko) * | 2009-10-07 | 2011-04-14 | 에스케이텔레콤 주식회사 | 적응적 부호화 패턴 정보를 생성/이용하는 동영상 부호화/복호화 방법, 장치 및 기록 매체 |
WO2011055908A2 (ko) * | 2009-11-05 | 2011-05-12 | 에스케이텔레콤 주식회사 | 툴 셋을 이용한 영상 부호화/복호화 방법 및 장치 |
US8208548B2 (en) | 2006-02-09 | 2012-06-26 | Qualcomm Incorporated | Video encoding |
US8265155B2 (en) | 2009-01-05 | 2012-09-11 | Electronics And Telecommunications Research Institute | Method of block partition for H.264 inter prediction |
KR101221874B1 (ko) * | 2008-12-03 | 2013-01-15 | 한국전자통신연구원 | 영상 처리 장치 |
KR101228109B1 (ko) * | 2006-07-24 | 2013-01-31 | 삼성전자주식회사 | 움직임 예측장치 및 방법과 이를 채용하는 영상 부호화장치및 방법 |
KR101359496B1 (ko) * | 2008-08-06 | 2014-02-11 | 에스케이 텔레콤주식회사 | 부호화 모드 결정 방법 및 장치와 그를 이용한 영상 부호화장치 |
KR101363044B1 (ko) * | 2007-10-19 | 2014-02-17 | 광주과학기술원 | 비디오 영상의 부호화 모드 결정 방법 및 장치, 이를이용한 비디오 영상의 부호화/복호화 장치 및 방법 그리고상기 방법을 수행하는 프로그램이 기록된 기록 매체 |
KR101431545B1 (ko) * | 2008-03-17 | 2014-08-20 | 삼성전자주식회사 | 영상의 부호화, 복호화 방법 및 장치 |
US8861874B2 (en) | 2010-05-11 | 2014-10-14 | Samsung Electronics Co., Ltd. | Apparatus and method of encoding 3D image |
US9171376B2 (en) | 2009-09-22 | 2015-10-27 | Samsung Electronics Co., Ltd. | Apparatus and method for motion estimation of three dimension video |
US11330270B2 (en) * | 2020-03-31 | 2022-05-10 | University Of Electronic Science And Technology Of China | Temporal domain rate distortion optimization considering coding-mode adaptive distortion propagation |
WO2023224300A1 (ko) * | 2022-05-16 | 2023-11-23 | 현대자동차주식회사 | 예측-변환 생략을 이용하는 비디오 코딩을 위한 방법 및 장치 |
Families Citing this family (125)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6215910B1 (en) | 1996-03-28 | 2001-04-10 | Microsoft Corporation | Table-based compression with embedded coding |
US6571016B1 (en) * | 1997-05-05 | 2003-05-27 | Microsoft Corporation | Intra compression of pixel blocks using predicted mean |
US6563953B2 (en) | 1998-11-30 | 2003-05-13 | Microsoft Corporation | Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock |
US6499060B1 (en) * | 1999-03-12 | 2002-12-24 | Microsoft Corporation | Media coding for loss recovery with remotely predicted data units |
FR2832271A1 (fr) * | 2001-11-13 | 2003-05-16 | Koninkl Philips Electronics Nv | Tuner comprenant un convertisseur de tension |
US7027982B2 (en) | 2001-12-14 | 2006-04-11 | Microsoft Corporation | Quality and rate control strategy for digital audio |
WO2003053066A1 (en) | 2001-12-17 | 2003-06-26 | Microsoft Corporation | Skip macroblock coding |
CN101448162B (zh) | 2001-12-17 | 2013-01-02 | 微软公司 | 处理视频图像的方法 |
US7003035B2 (en) | 2002-01-25 | 2006-02-21 | Microsoft Corporation | Video coding methods and apparatuses |
US7463684B2 (en) * | 2002-05-03 | 2008-12-09 | Microsoft Corporation | Fading estimation/compensation |
US7609767B2 (en) * | 2002-05-03 | 2009-10-27 | Microsoft Corporation | Signaling for fading compensation |
US7277486B2 (en) * | 2002-05-03 | 2007-10-02 | Microsoft Corporation | Parameterization for fading compensation |
US20040001546A1 (en) | 2002-06-03 | 2004-01-01 | Alexandros Tourapis | Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation |
US7224731B2 (en) * | 2002-06-28 | 2007-05-29 | Microsoft Corporation | Motion estimation/compensation for screen capture video |
US7280700B2 (en) * | 2002-07-05 | 2007-10-09 | Microsoft Corporation | Optimization techniques for data compression |
US7742525B1 (en) * | 2002-07-14 | 2010-06-22 | Apple Inc. | Adaptive motion estimation |
US7154952B2 (en) | 2002-07-19 | 2006-12-26 | Microsoft Corporation | Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures |
US7343291B2 (en) * | 2003-07-18 | 2008-03-11 | Microsoft Corporation | Multi-pass variable bitrate media encoding |
US8218624B2 (en) * | 2003-07-18 | 2012-07-10 | Microsoft Corporation | Fractional quantization step sizes for high bit rates |
US10554985B2 (en) | 2003-07-18 | 2020-02-04 | Microsoft Technology Licensing, Llc | DC coefficient signaling at small quantization step sizes |
US7580584B2 (en) * | 2003-07-18 | 2009-08-25 | Microsoft Corporation | Adaptive multiple quantization |
US7383180B2 (en) * | 2003-07-18 | 2008-06-03 | Microsoft Corporation | Constant bitrate media encoding techniques |
US7738554B2 (en) | 2003-07-18 | 2010-06-15 | Microsoft Corporation | DC coefficient signaling at small quantization step sizes |
US7830963B2 (en) * | 2003-07-18 | 2010-11-09 | Microsoft Corporation | Decoding jointly coded transform type and subblock pattern information |
US7602851B2 (en) * | 2003-07-18 | 2009-10-13 | Microsoft Corporation | Intelligent differential quantization of video coding |
US7289562B2 (en) * | 2003-08-01 | 2007-10-30 | Polycom, Inc. | Adaptive filter to improve H-264 video quality |
US8085844B2 (en) * | 2003-09-07 | 2011-12-27 | Microsoft Corporation | Signaling reference frame distances |
US7577198B2 (en) * | 2003-09-07 | 2009-08-18 | Microsoft Corporation | Number of reference fields for an interlaced forward-predicted field |
US8064520B2 (en) | 2003-09-07 | 2011-11-22 | Microsoft Corporation | Advanced bi-directional predictive coding of interlaced video |
US8009739B2 (en) * | 2003-09-07 | 2011-08-30 | Microsoft Corporation | Intensity estimation/compensation for interlaced forward-predicted fields |
US7606308B2 (en) * | 2003-09-07 | 2009-10-20 | Microsoft Corporation | Signaling macroblock mode information for macroblocks of interlaced forward-predicted fields |
US7724827B2 (en) * | 2003-09-07 | 2010-05-25 | Microsoft Corporation | Multi-layer run level encoding and decoding |
US8107531B2 (en) * | 2003-09-07 | 2012-01-31 | Microsoft Corporation | Signaling and repeat padding for skip frames |
US7961786B2 (en) | 2003-09-07 | 2011-06-14 | Microsoft Corporation | Signaling field type information |
KR101196429B1 (ko) * | 2004-03-12 | 2012-11-01 | 삼성전자주식회사 | 동영상 트랜스코딩 방법 및 그 장치, 이에 사용되는움직임 벡터 보간방법 |
US7801383B2 (en) | 2004-05-15 | 2010-09-21 | Microsoft Corporation | Embedded scalar quantizers with arbitrary dead-zone ratios |
US20050286777A1 (en) * | 2004-06-27 | 2005-12-29 | Roger Kumar | Encoding and decoding images |
US8111752B2 (en) * | 2004-06-27 | 2012-02-07 | Apple Inc. | Encoding mode pruning during video encoding |
US7792188B2 (en) | 2004-06-27 | 2010-09-07 | Apple Inc. | Selecting encoding types and predictive modes for encoding video data |
KR100654436B1 (ko) * | 2004-07-07 | 2006-12-06 | 삼성전자주식회사 | 비디오 코딩 방법과 디코딩 방법, 및 비디오 인코더와디코더 |
DE102004038110B3 (de) * | 2004-08-05 | 2005-12-29 | Siemens Ag | Verfahren zum Codieren und Decodieren, sowie Codier- und Decodiervorrichtung zur Videocodierung |
US8649436B2 (en) * | 2004-08-20 | 2014-02-11 | Sigma Designs Inc. | Methods for efficient implementation of skip/direct modes in digital video compression algorithms |
BRPI0517069A (pt) * | 2004-11-04 | 2008-09-30 | Thomson Licensing | previsão rápida intra modo para um codificador de vìdeo |
US7720154B2 (en) * | 2004-11-12 | 2010-05-18 | Industrial Technology Research Institute | System and method for fast variable-size motion estimation |
TWI256258B (en) * | 2004-12-16 | 2006-06-01 | Ind Tech Res Inst | Method to speed up the mode decision of video coding |
JP4501676B2 (ja) * | 2004-12-22 | 2010-07-14 | 日本電気株式会社 | 動画像圧縮符号化方法と動画像圧縮符号化装置並びにプログラム |
US8634413B2 (en) | 2004-12-30 | 2014-01-21 | Microsoft Corporation | Use of frame caching to improve packet loss recovery |
TWI259727B (en) * | 2005-03-09 | 2006-08-01 | Sunplus Technology Co Ltd | Method for rapidly determining macroblock mode |
US20060233258A1 (en) * | 2005-04-15 | 2006-10-19 | Microsoft Corporation | Scalable motion estimation |
US8422546B2 (en) | 2005-05-25 | 2013-04-16 | Microsoft Corporation | Adaptive video encoding using a perceptual model |
US8488889B2 (en) * | 2005-07-22 | 2013-07-16 | Mitsubishi Electric Corporation | Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program |
US20080130990A1 (en) * | 2005-07-22 | 2008-06-05 | Mitsubishi Electric Corporation | Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program |
US20080123947A1 (en) * | 2005-07-22 | 2008-05-29 | Mitsubishi Electric Corporation | Image encoding device, image decoding device, image encoding method, image decoding method, image encoding program, image decoding program, computer readable recording medium having image encoding program recorded therein |
US20080123977A1 (en) * | 2005-07-22 | 2008-05-29 | Mitsubishi Electric Corporation | Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program |
CN102176754B (zh) * | 2005-07-22 | 2013-02-06 | 三菱电机株式会社 | 图像编码装置和方法、以及图像解码装置和方法 |
US8509551B2 (en) * | 2005-07-22 | 2013-08-13 | Mitsubishi Electric Corporation | Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recording with image encoding program and computer readable recording medium recorded with image decoding program |
US20080130988A1 (en) * | 2005-07-22 | 2008-06-05 | Mitsubishi Electric Corporation | Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program |
US20080137744A1 (en) * | 2005-07-22 | 2008-06-12 | Mitsubishi Electric Corporation | Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program |
US20080165849A1 (en) * | 2005-07-22 | 2008-07-10 | Mitsubishi Electric Corporation | Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program |
US20090034857A1 (en) * | 2005-07-22 | 2009-02-05 | Mitsubishi Electric Corporation | Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program |
US20090123066A1 (en) * | 2005-07-22 | 2009-05-14 | Mitsubishi Electric Corporation | Image encoding device, image decoding device, image encoding method, image decoding method, image encoding program, image decoding program, computer readable recording medium having image encoding program recorded therein, |
US9077960B2 (en) | 2005-08-12 | 2015-07-07 | Microsoft Corporation | Non-zero coefficient block pattern coding |
US8059721B2 (en) | 2006-04-07 | 2011-11-15 | Microsoft Corporation | Estimating sample-domain distortion in the transform domain with rounding compensation |
US8494052B2 (en) * | 2006-04-07 | 2013-07-23 | Microsoft Corporation | Dynamic selection of motion estimation search ranges and extended motion vector ranges |
US8130828B2 (en) | 2006-04-07 | 2012-03-06 | Microsoft Corporation | Adjusting quantization to preserve non-zero AC coefficients |
US7995649B2 (en) | 2006-04-07 | 2011-08-09 | Microsoft Corporation | Quantization adjustment based on texture level |
US8503536B2 (en) | 2006-04-07 | 2013-08-06 | Microsoft Corporation | Quantization adjustments for DC shift artifacts |
US7974340B2 (en) | 2006-04-07 | 2011-07-05 | Microsoft Corporation | Adaptive B-picture quantization control |
US8155195B2 (en) * | 2006-04-07 | 2012-04-10 | Microsoft Corporation | Switching distortion metrics during motion estimation |
US8000390B2 (en) * | 2006-04-28 | 2011-08-16 | Sharp Laboratories Of America, Inc. | Methods and systems for efficient prediction-mode selection |
US8711925B2 (en) | 2006-05-05 | 2014-04-29 | Microsoft Corporation | Flexible quantization |
US8687699B1 (en) * | 2006-05-16 | 2014-04-01 | Geo Semiconductor Inc | Method and/or apparatus for optimized video coding |
US20070268964A1 (en) * | 2006-05-22 | 2007-11-22 | Microsoft Corporation | Unit co-location-based motion estimation |
WO2007139266A1 (en) * | 2006-06-01 | 2007-12-06 | Electronics And Telecommunications Research Institute | Method and apparatus for video coding on pixel-wise prediction |
US8467448B2 (en) * | 2006-11-15 | 2013-06-18 | Motorola Mobility Llc | Apparatus and method for fast intra/inter macro-block mode decision for video encoding |
US8737485B2 (en) * | 2007-01-31 | 2014-05-27 | Sony Corporation | Video coding mode selection system |
US8238424B2 (en) | 2007-02-09 | 2012-08-07 | Microsoft Corporation | Complexity-based adaptive preprocessing for multiple-pass video compression |
US8498335B2 (en) | 2007-03-26 | 2013-07-30 | Microsoft Corporation | Adaptive deadzone size adjustment in quantization |
US8243797B2 (en) | 2007-03-30 | 2012-08-14 | Microsoft Corporation | Regions of interest for quality adjustments |
US8160150B2 (en) * | 2007-04-10 | 2012-04-17 | Texas Instruments Incorporated | Method and system for rate distortion optimization |
US8442337B2 (en) | 2007-04-18 | 2013-05-14 | Microsoft Corporation | Encoding adjustments for animation content |
US8331438B2 (en) | 2007-06-05 | 2012-12-11 | Microsoft Corporation | Adaptive selection of picture-level quantization parameters for predicted video pictures |
US8254455B2 (en) | 2007-06-30 | 2012-08-28 | Microsoft Corporation | Computing collocated macroblock information for direct mode macroblocks |
US8467451B2 (en) * | 2007-11-07 | 2013-06-18 | Industrial Technology Research Institute | Methods for selecting a prediction mode |
US9055301B2 (en) * | 2008-03-18 | 2015-06-09 | Texas Instruments Incorporated | Changing motion estimation precision to maintain encoding within desired time |
JP4990927B2 (ja) * | 2008-03-28 | 2012-08-01 | 三星電子株式会社 | 動きベクトル情報の符号化/復号化方法及び装置 |
US8189933B2 (en) | 2008-03-31 | 2012-05-29 | Microsoft Corporation | Classifying and controlling encoding quality for textured, dark smooth and smooth video content |
US8325800B2 (en) | 2008-05-07 | 2012-12-04 | Microsoft Corporation | Encoding streaming media as a high bit rate layer, a low bit rate layer, and one or more intermediate bit rate layers |
US8379851B2 (en) | 2008-05-12 | 2013-02-19 | Microsoft Corporation | Optimized client side rate control and indexed file layout for streaming media |
US7860996B2 (en) | 2008-05-30 | 2010-12-28 | Microsoft Corporation | Media streaming with seamless ad insertion |
US8897359B2 (en) | 2008-06-03 | 2014-11-25 | Microsoft Corporation | Adaptive quantization for enhancement layer video coding |
US8144766B2 (en) * | 2008-07-16 | 2012-03-27 | Sony Corporation | Simple next search position selection for motion estimation iterative search |
US8094714B2 (en) * | 2008-07-16 | 2012-01-10 | Sony Corporation | Speculative start point selection for motion estimation iterative search |
KR20100027384A (ko) * | 2008-09-02 | 2010-03-11 | 삼성전자주식회사 | 예측 모드 결정 방법 및 장치 |
KR101483497B1 (ko) * | 2008-09-25 | 2015-01-20 | 에스케이텔레콤 주식회사 | 임펄스 신호를 고려한 영상 부호화/복호화 장치 및 방법 |
US8265140B2 (en) | 2008-09-30 | 2012-09-11 | Microsoft Corporation | Fine-grained client-side control of scalable media delivery |
KR101173560B1 (ko) * | 2008-12-15 | 2012-08-13 | 한국전자통신연구원 | 고속 모드 결정 장치 및 방법 |
US8189666B2 (en) | 2009-02-02 | 2012-05-29 | Microsoft Corporation | Local picture identifier and computation of co-located information |
CN101883275B (zh) * | 2009-05-04 | 2014-10-29 | 海信集团有限公司 | 视频编码方法 |
CN104270635B (zh) * | 2009-05-29 | 2018-12-11 | 三菱电机株式会社 | 图像解码装置以及图像解码方法 |
JP5199955B2 (ja) * | 2009-06-16 | 2013-05-15 | キヤノン株式会社 | 画像復号装置及びその制御方法 |
JP5199956B2 (ja) * | 2009-06-16 | 2013-05-15 | キヤノン株式会社 | 画像復号装置及びその制御方法 |
JP5184447B2 (ja) * | 2009-06-22 | 2013-04-17 | 株式会社Kddi研究所 | 動画像符号化装置および復号装置 |
US8861879B2 (en) * | 2009-09-17 | 2014-10-14 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding image based on skip mode |
US8488007B2 (en) * | 2010-01-19 | 2013-07-16 | Sony Corporation | Method to estimate segmented motion |
CN103385002A (zh) * | 2010-02-17 | 2013-11-06 | 韩国电子通信研究院 | 用于对超高清图像进行编码的装置及其方法、以及解码装置及其方法 |
KR101418104B1 (ko) * | 2010-03-08 | 2014-07-16 | 에스케이 텔레콤주식회사 | 움직임 벡터 해상도 조합을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 |
US8285079B2 (en) * | 2010-03-19 | 2012-10-09 | Sony Corporation | Method for highly accurate estimation of motion using phase correlation |
KR101379188B1 (ko) * | 2010-05-17 | 2014-04-18 | 에스케이 텔레콤주식회사 | 인트라 블록 및 인터 블록이 혼합된 코딩블록을 이용하는 영상 부호화/복호화 장치 및 그 방법 |
TWI451767B (zh) * | 2010-05-27 | 2014-09-01 | Mstar Semiconductor Inc | 視訊編碼系統、移動估算裝置及移動估算方法 |
CN101959067B (zh) * | 2010-09-26 | 2012-08-22 | 北京大学 | 基于外极线约束的快速编码模式决策方法和系统 |
GB2492163B (en) | 2011-06-24 | 2018-05-02 | Skype | Video coding |
GB2492330B (en) | 2011-06-24 | 2017-10-18 | Skype | Rate-Distortion Optimization with Encoding Mode Selection |
GB2492329B (en) | 2011-06-24 | 2018-02-28 | Skype | Video coding |
GB2493777A (en) | 2011-08-19 | 2013-02-20 | Skype | Image encoding mode selection based on error propagation distortion map |
GB2495468B (en) | 2011-09-02 | 2017-12-13 | Skype | Video coding |
GB2495467B (en) * | 2011-09-02 | 2017-12-13 | Skype | Video coding |
GB2495469B (en) | 2011-09-02 | 2017-12-13 | Skype | Video coding |
KR20130049526A (ko) * | 2011-11-04 | 2013-05-14 | 오수미 | 복원 블록 생성 방법 |
US9210438B2 (en) * | 2012-01-20 | 2015-12-08 | Sony Corporation | Logical intra mode naming in HEVC video coding |
TW201419862A (zh) * | 2012-11-13 | 2014-05-16 | Hon Hai Prec Ind Co Ltd | 影像切割系統及方法 |
CN103200404A (zh) * | 2013-04-07 | 2013-07-10 | 成都博盛信息技术有限公司 | 基于宏块运动活跃度的编码模式快速预测方法 |
WO2015200822A1 (en) * | 2014-06-26 | 2015-12-30 | Huawei Technologies Co., Ltd | Method and device for reducing a computational load in high efficiency video coding |
US10085027B2 (en) * | 2015-03-06 | 2018-09-25 | Qualcomm Incorporated | Adaptive mode checking order for video encoding |
TWI613914B (zh) * | 2016-11-30 | 2018-02-01 | 聖約翰科技大學 | 影音傳送系統及其影音接收系統 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100833228B1 (ko) * | 2002-02-21 | 2008-05-28 | 삼성전자주식회사 | 고정 연산량을 갖는 동영상 부호화 방법 및 그 장치 |
US9210441B2 (en) * | 2003-06-25 | 2015-12-08 | Thomson Licensing | Fast mode-decision encoding for interframes |
-
2003
- 2003-12-18 KR KR1020030093158A patent/KR20050061762A/ko not_active Application Discontinuation
-
2004
- 2004-06-07 US US10/861,486 patent/US20050135484A1/en not_active Abandoned
Cited By (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100677118B1 (ko) * | 2004-06-11 | 2007-02-02 | 삼성전자주식회사 | 움직임 추정 방법 및 그 장치 |
US7764740B2 (en) | 2004-11-24 | 2010-07-27 | Electronics And Telecommunications Research Institute | Fast block mode determining method for motion estimation, and apparatus thereof |
KR100751423B1 (ko) * | 2004-11-24 | 2007-08-23 | 한국전자통신연구원 | 움직임 추정을 위한 고속의 블록 모드 결정 방법 및 그장치 |
KR100669897B1 (ko) * | 2005-01-21 | 2007-01-16 | 한양대학교 산학협력단 | H.264/avc에서의 고속 매크로블록 모드 선택 방법 |
KR100742772B1 (ko) * | 2005-04-08 | 2007-07-26 | 고려대학교 산학협력단 | 가변 블록 움직임 추정장치 및 그 방법 |
KR100727989B1 (ko) * | 2005-10-01 | 2007-06-14 | 삼성전자주식회사 | 동영상 부호화시의 인터 모드 결정 방법 및 장치 |
KR100723861B1 (ko) * | 2005-11-04 | 2007-05-31 | 한국전자통신연구원 | 고속 움직임 예측을 위한 고속 모드 검색 장치 및 방법 |
KR100734858B1 (ko) * | 2005-12-07 | 2007-07-03 | 한국전자통신연구원 | 효율적인 1/4 화소 단위 움직임 예측을 위한 1/4 화소 단위메모리 인덱싱 방법 |
US8208548B2 (en) | 2006-02-09 | 2012-06-26 | Qualcomm Incorporated | Video encoding |
KR100824616B1 (ko) * | 2006-06-01 | 2008-04-24 | 동국대학교 산학협력단 | H.264에서의 부호화 속도를 향상시키기 위한 다중 참조영상 간 모드 생략 방법 |
KR101228109B1 (ko) * | 2006-07-24 | 2013-01-31 | 삼성전자주식회사 | 움직임 예측장치 및 방법과 이를 채용하는 영상 부호화장치및 방법 |
KR100814731B1 (ko) * | 2006-08-21 | 2008-03-19 | 연세대학교 산학협력단 | H.264 부호화를 위한 고속 모드 결정 방법 |
KR100807330B1 (ko) * | 2006-09-07 | 2008-02-28 | 엠엠비 주식회사 | H.264/avc 인코더의 인트라 매크로블록 모드 스킵 방법 |
KR100773761B1 (ko) * | 2006-09-14 | 2007-11-09 | 한국전자통신연구원 | 동영상 부호화 장치 및 방법 |
US8144770B2 (en) | 2006-09-14 | 2012-03-27 | Electronics And Telecommunications Research Institute | Apparatus and method for encoding moving picture |
KR100845303B1 (ko) * | 2006-09-29 | 2008-07-10 | 한국전자통신연구원 | 고속 부호화를 위한 되먹임 구조를 가진 동영상 압축부호화 장치 및 최적 모드 결정 방법 |
US8194740B2 (en) | 2006-09-29 | 2012-06-05 | Electronics And Telecommunications Research Institute | Apparatus and method for compression-encoding moving picture |
KR100900316B1 (ko) * | 2006-12-06 | 2009-06-02 | 한국전자통신연구원 | 실시간 비디오 신호 압축을 위한 인트라 모드 예측 검색방법 및 장치 |
KR100898176B1 (ko) * | 2007-06-12 | 2009-05-19 | 한국전자통신연구원 | 비디오 인코딩을 위한 인터 모드 결정 방법 |
KR100932702B1 (ko) * | 2007-09-11 | 2010-01-18 | 한국과학기술원 | 고속모드선택방법 및 그 기록매체 |
KR101363044B1 (ko) * | 2007-10-19 | 2014-02-17 | 광주과학기술원 | 비디오 영상의 부호화 모드 결정 방법 및 장치, 이를이용한 비디오 영상의 부호화/복호화 장치 및 방법 그리고상기 방법을 수행하는 프로그램이 기록된 기록 매체 |
KR100924487B1 (ko) * | 2007-12-17 | 2009-11-03 | 한국전자통신연구원 | 인터 예측에서의 블록 크기 분할 방법 및 장치 |
KR100943636B1 (ko) * | 2007-12-26 | 2010-02-24 | 호서대학교 산학협력단 | 매크로블록의 부호화 모드 고속 결정 방법 |
KR100951164B1 (ko) * | 2008-01-28 | 2010-04-06 | 울산대학교 산학협력단 | 윤곽선을 이용한 h.264/avc의 효율적인 고속 모드결정 방법 |
KR101431545B1 (ko) * | 2008-03-17 | 2014-08-20 | 삼성전자주식회사 | 영상의 부호화, 복호화 방법 및 장치 |
KR101359496B1 (ko) * | 2008-08-06 | 2014-02-11 | 에스케이 텔레콤주식회사 | 부호화 모드 결정 방법 및 장치와 그를 이용한 영상 부호화장치 |
KR101221874B1 (ko) * | 2008-12-03 | 2013-01-15 | 한국전자통신연구원 | 영상 처리 장치 |
US8265155B2 (en) | 2009-01-05 | 2012-09-11 | Electronics And Telecommunications Research Institute | Method of block partition for H.264 inter prediction |
WO2010101427A2 (ko) * | 2009-03-06 | 2010-09-10 | 삼성전자 주식회사 | 동영상 부호화기/복호화기 및 그 동영상 부호화기/복호화기에서의 동영상 부호화/복호화를 위한 블록모드 결정방법 |
WO2010101427A3 (ko) * | 2009-03-06 | 2010-12-02 | 삼성전자 주식회사 | 동영상 부호화기/복호화기 및 그 동영상 부호화기/복호화기에서의 동영상 부호화/복호화를 위한 블록모드 결정방법 |
WO2011004986A3 (ko) * | 2009-07-04 | 2011-03-31 | 에스케이텔레콤 주식회사 | 영상 부호화/복호화 방법 및 장치 |
WO2011004986A2 (ko) * | 2009-07-04 | 2011-01-13 | 에스케이텔레콤 주식회사 | 영상 부호화/복호화 방법 및 장치 |
US9171376B2 (en) | 2009-09-22 | 2015-10-27 | Samsung Electronics Co., Ltd. | Apparatus and method for motion estimation of three dimension video |
US10798416B2 (en) | 2009-09-22 | 2020-10-06 | Samsung Electronics Co., Ltd. | Apparatus and method for motion estimation of three dimension video |
WO2011043562A2 (ko) * | 2009-10-07 | 2011-04-14 | 에스케이텔레콤 주식회사 | 적응적 부호화 패턴 정보를 생성/이용하는 동영상 부호화/복호화 방법, 장치 및 기록 매체 |
WO2011043562A3 (ko) * | 2009-10-07 | 2011-07-28 | 에스케이텔레콤 주식회사 | 적응적 부호화 패턴 정보를 생성/이용하는 동영상 부호화/복호화 방법, 장치 및 기록 매체 |
WO2011055908A2 (ko) * | 2009-11-05 | 2011-05-12 | 에스케이텔레콤 주식회사 | 툴 셋을 이용한 영상 부호화/복호화 방법 및 장치 |
WO2011055908A3 (ko) * | 2009-11-05 | 2011-07-14 | 에스케이텔레콤 주식회사 | 툴 셋을 이용한 영상 부호화/복호화 방법 및 장치 |
US8861874B2 (en) | 2010-05-11 | 2014-10-14 | Samsung Electronics Co., Ltd. | Apparatus and method of encoding 3D image |
US11330270B2 (en) * | 2020-03-31 | 2022-05-10 | University Of Electronic Science And Technology Of China | Temporal domain rate distortion optimization considering coding-mode adaptive distortion propagation |
WO2023224300A1 (ko) * | 2022-05-16 | 2023-11-23 | 현대자동차주식회사 | 예측-변환 생략을 이용하는 비디오 코딩을 위한 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
US20050135484A1 (en) | 2005-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20050061762A (ko) | 부호화 모드 결정방법, 움직임 추정방법 및 부호화 장치 | |
US10687075B2 (en) | Sub-block transform coding of prediction residuals | |
KR101196429B1 (ko) | 동영상 트랜스코딩 방법 및 그 장치, 이에 사용되는움직임 벡터 보간방법 | |
US7792193B2 (en) | Image encoding/decoding method and apparatus therefor | |
KR101538704B1 (ko) | 보간 필터를 적응적으로 사용하여 영상을 부호화 및 복호화하는 방법 및 장치 | |
JP3118237B1 (ja) | 画像予測復号化方法 | |
KR101044934B1 (ko) | 움직임 벡터 추정방법 및 부호화 모드 결정방법 | |
JP3063715B2 (ja) | 画像圧縮装置 | |
KR101161052B1 (ko) | 비디오 전화통신에서의 비트 레이트 감소를 위한 방법 및 장치 | |
CN104320657B (zh) | Hevc无损视频编码的预测模式选择方法及相应的编码方法 | |
KR20040106364A (ko) | 복잡성이 감소된 복호화에 적합한 단층 비디오 부호화된비트열들을 제공하는 시스템 및 방법 | |
KR20090095317A (ko) | 영상 부호화 및 복호화 방법 및 장치 | |
KR100961760B1 (ko) | 이산코사인변환 계수를 참조하는 움직임 추정 방법 및 장치 | |
KR20050062836A (ko) | 트랜스코딩 방법 및 장치 | |
JP2005110083A (ja) | データ処理装置およびその方法と符号化装置 | |
KR100856392B1 (ko) | 현재 영상의 복원영역을 참조하는 동영상 부호화/복호화장치 및 그 방법 | |
JP4532607B2 (ja) | ブロック・ベースのコード化システムにおいてコード化モードを選択するための装置および方法 | |
JP4349109B2 (ja) | 画像データ処理装置、その方法、および、符号化装置 | |
JP4719854B2 (ja) | 動画像符号化装置、動画像符号化プログラム、動画像復号化装置及び動画像復号化プログラム | |
KR100718468B1 (ko) | 영상 축소 트랜스 코딩 방법 및 장치 | |
JP2005348207A (ja) | 符号化装置、およびプログラム | |
KR20110069482A (ko) | 가변 크기 블록 매칭 기반의 모션 추정 방법 및 이를 이용한 비디오 인코딩 장치 | |
JP2005151152A (ja) | データ処理装置およびその方法と符号化装置 | |
Mamatha et al. | BIT RATE REDUCTION FOR H. 264/AVC VIDEO BASED ON NOVEL HEXAGON SEARCH ALGORITHM. | |
JPH11205801A (ja) | 動画像符号化装置およびその符号化選択方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |