KR101058758B1 - 제 2 패스 비디오 코딩에서의 효율적인 비디오 블록 모드 변경 - Google Patents

제 2 패스 비디오 코딩에서의 효율적인 비디오 블록 모드 변경 Download PDF

Info

Publication number
KR101058758B1
KR101058758B1 KR1020097019948A KR20097019948A KR101058758B1 KR 101058758 B1 KR101058758 B1 KR 101058758B1 KR 1020097019948 A KR1020097019948 A KR 1020097019948A KR 20097019948 A KR20097019948 A KR 20097019948A KR 101058758 B1 KR101058758 B1 KR 101058758B1
Authority
KR
South Korea
Prior art keywords
video block
mode
video
pass
skip
Prior art date
Application number
KR1020097019948A
Other languages
English (en)
Other versions
KR20090123914A (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 퀄컴 인코포레이티드
Publication of KR20090123914A publication Critical patent/KR20090123914A/ko
Application granted granted Critical
Publication of KR101058758B1 publication Critical patent/KR101058758B1/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
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • H04N19/194Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive involving only two passes
    • 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/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • 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/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
    • 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/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at 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/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/164Feedback from the receiver or from the transmission channel
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/19Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding using optimisation based on Lagrange multipliers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods 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)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 개시물은 멀티패스 비디오 코딩 시나리오에서의 제 2 패스 비디오 코딩 기술을 기재하고 있다. 제 2 패스 중에 인코딩된 몇몇 비디오 블록에 대한 코딩 모드는, 제 1 패스에서 이러한 비디오 블록에 이용된 코딩 모드에 대하여 변경될 수도 있다. 그러나, 모션 정보는 변경된 모드를 갖는 이들 비디오 블록에 대해 변경되지는 않는다. 특히, 예를 들어 제 1 패스의 오리지널 모드와 제 2 패스에서 이용되는 변경된 모드 사이의 유사성으로 인해, 디코더에서 모션 정보가 도출되는 방식을 변경하지 않고 제 1 코딩 패스에서 이용된 모드에 대하여 제 2 코딩 패스에서 모드 변경이 이루어질 수 있다. 또한, 제 2 패스 코딩 기술은 양자화 파라미터 조정을 포함할 수도 있고, 모드 변경은 이러한 양자화 파라미터 조정으로 하여금 제 2 패스 코딩에 보다 깊은 정제 영향을 미치도록 할 수 있다.
멀티패스 비디오 코딩, 모션 벡터, 스킵 모드, 다이렉트 모드, 인터 모드, 라그랑주 승수

Description

제 2 패스 비디오 코딩에서의 효율적인 비디오 블록 모드 변경{EFFICIENT VIDEO BLOCK MODE CHANGES IN SECOND PASS VIDEO CODING}
관련출원
본 출원은 2007 년 3 월 2 일 출원된 미국 가출원 제 60/892,804 호의 이익을 주장하는데, 그 전체 내용은 본 명세서에 참조로서 포함되어 있다.
기술분야
본 개시물은 디지털 비디오 코딩에 관한 것이고, 보다 상세하게는 비트-레이트 제약을 만족시키거나 다른 목적을 달성하기 위해서 제 1 패스가 비디오 블록을 코딩하는데 이용되며 제 2 패스가 이 코딩을 정제하는 멀티패스 비디오 코딩 (multi-pass video coding) 에 관한 것이다.
배경기술
디지털 비디오 성능은, 디지털 텔레비전, 디지털 직접 방송 시스템, 무선 통신 디바이스, 무선 방송 시스템, PDA (Personal Digital Assistant), 랩톱 또는 데스크톱 컴퓨터, 디지털 카메라, 디지털 기록 디바이스, 비디오 게이밍 디바이스, 비디오 게임 콘솔, 셀룰러 또는 위성 무선 전화기 등을 포함하는 광범위한 디바이 스에 포함될 수 있다. 디지털 비디오 디바이스는 MPEG-2, MPEG-4, 또는 H.264/MPEG-4 파트 10 인 AVC (Advanced Video Coding) 와 같은 비디오 압축 기술을 구현하여, 디지털 비디오를 보다 효율적으로 송/수신한다. 비디오 압축 기술은 공간 및 시간 예측을 수행하여, 비디오 시퀀스에 고유한 중복성 (redundancy) 을 감소시키거나 제거한다.
비디오 코딩에 있어서, 비디오 압축은 종종 공간 예측, 모션 추정 및 모션 보상을 포함한다. 인트라-코딩은 공간 예측에 종속하여, 주어진 비디오 프레임 내의 비디오 블록들 사이의 공간 중복성을 감소시키거나 제거한다. 인터-코딩은 시간 예측에 종속하여, 비디오 시퀀스의 연속적인 비디오 프레임의 비디오 블록들 사이의 시간 중복성을 감소시키거나 제거한다. 인터-코딩의 경우, 비디오 인코더는 모션 추정을 수행하여, 2 개 이상의 인접 프레임들 사이의 일치하는 비디오 블록의 이동을 추적한다. 모션 추정은 모션 벡터를 발생시키는데, 이 모션 벡터는 하나 이상의 참조 프레임에서의 대응하는 예측 비디오 블록에 대한 비디오 블록의 변위를 나타낸다. 모션 보상은 모션 벡터를 이용하여, 참조 프레임 또는 슬라이스로부터 예측 비디오 블록을 발생시킨다. 모션 보상 이후에, 코딩될 오리지널 비디오 블록으로부터 예측 비디오 블록을 감산함으로써, (잔여 비디오 블록과 같은) 잔여 정보가 발생된다. 일반적으로, 비디오 인코더는 변환, 양자화 및 변환 계수 코딩 프로세스를 적용하여, 잔여 블록의 통신과 연관된 비트 레이트를 더 감소시킨다.
때때로, 비디오 코딩은 다수의 패스를 이용한다. 멀티패스 비디오 코딩 에 있어서, 제 1 비디오 코딩 패스는 비디오 블록을 코딩하는데 이용되고, 제 2 비디오 코딩 패스는 이 코딩을 변경 및 정제한다. 멀티패스 비디오 코딩은 비디오 코딩과 연관된 비트-레이트를 조정하는데 이용될 수도 있다. 종래에, 제 2 패스 비디오 코딩은 제 1 비디오 코딩 패스의 코딩 단계 모두를 재수행할 수도 있지만, 상이한 양자화 레벨을 적용할 수도 있다. 그러나, 제 2 코딩 패스 중의 비디오 블록 모두의 완전 재인코딩 (full re-encode) 은 계산 집약적이다.
개 요
일반적으로, 본 개시물은 멀티패스 비디오 코딩 시나리오에서의 제 2 패스 비디오 코딩 기술을 기재하고 있다. 제 2 코딩 패스는, 예를 들어 비트-레이트 제약을 만족시키고, 미사용 대역폭을 이용하고/하거나, 다른 목적을 달성하기 위해서 제 1 패스에서 수행된 코딩을 정제한다. 본 개시물에 따르면, 제 2 패스 중에 인코딩된 몇몇 비디오 블록에 대한 코딩 모드는, 제 1 패스에서 이러한 비디오 블록에 이용된 코딩 모드에 대하여 변경될 수도 있다. 그러나, 모션 정보는 변경된 모드를 갖는 이들 비디오 블록에 대해 변경되지는 않는다. 일례로서, 양방향 예측 (B) 슬라이스 (또는 프레임) 는 소위 "스킵 (skipped)" 모드 및 소위 "다이렉트 (direct)" 모드에서의 비디오 블록 코딩을 지원할 수도 있다. 스킵 모드 및 다이렉트 모드 모두에 있어서, 모션 정보는 디코더에서 동일한 방식으로, 예를 들어 이웃 비디오 블록의 모션 정보에 기초하여 도출된다. 그러나, 스킵 모드와 다이렉트 모드 사이의 차이는, 다이렉트 모드 비디오 블록은 잔여 정보를 포함하는 한편, 스킵 모드 비디오 블록은 잔여 정보를 포함하지 않는다는 것이다.
본 개시물에 따르면, 제 2 패스 코딩은, 몇몇 블록에 대해 모션 정보가 정의되는 방식을 변경하지 않으면서, 예를 들어 스킵 또는 다이렉트 모드 사이에서 이러한 블록에 대한 비디오 블록 모드를 변경할 수도 있다. 예를 들어, 비디오 블록은, 디코더에서 모션 정보가 도출되는 방식을 변경하지 않으면서, 다이렉트 모드로부터 스킵 모드로 또는 스킵 모드로부터 다이렉트 모드로 변경될 수도 있다. 스킵 모드로부터 다이렉트 모드로 변경되는 임의의 비디오 블록에 대해서는 잔여 정보가 부가될 수도 있고, 다이렉트 모드로부터 스킵 모드로 변경되는 임의의 비디오 블록에 대해서는 잔여 정보가 소거될 수도 있다. 예측 (P) 슬라이스 또는 프레임에 있어서, 스킵 모드로부터 인터 16×16 모드로의 제 2 패스 모드 변경은 또한 본 개시물의 양태로부터 이익을 얻을 수도 있다. 또한, 제 2 패스 코딩 기술은 양자화 파라미터 조정을 포함할 수도 있고, 모드 변경은 이러한 양자화 파라미터 조정으로 하여금 모드 변경 없이 달성되는 것보다 제 2 코딩 패스의 코딩 정제에 더 깊은 영향을 미치도록 할 수 있다.
일 실시예에 있어서, 본 개시물은, 제 1 인코딩 패스에서 비디오 블록을 인코딩하는 단계; 및 제 2 인코딩 패스에서 비디오 블록을 인코딩하는 단계를 포함하는 비디오 코딩 방법을 제공하는데, 제 1 인코딩 패스는, 비디오 블록에 대한 모션 정보를 정의하는 비디오 블록에 대한 비디오 코딩 모드를 선택하고, 제 2 인코딩 패스는, 비디오 블록과 연관된 하나 이상의 양자화 파라미터를 조정하고, 조정된 양자화 파라미터에 기초하여 비디오 블록과 연관된 비디오 코딩 모드의 적어도 일 부를 변경하고, 변경된 비디오 코딩 모드는 모션 정보를 변경하지는 않는다.
또다른 실시예에 있어서, 본 개시물은, 제 1 인코딩 패스에서 비디오 블록을 인코딩하고; 제 2 인코딩 패스에서 비디오 블록을 인코딩하는 비디오 인코더를 포함하는 장치를 제공하는데, 제 1 인코딩 패스는, 비디오 블록에 대한 모션 정보를 정의하는 비디오 블록에 대한 비디오 코딩 모드를 선택하고, 제 2 인코딩 패스는, 비디오 블록과 연관된 하나 이상의 양자화 파라미터를 조정하고, 조정된 양자화 파라미터에 기초하여 비디오 블록과 연관된 비디오 코딩 모드의 적어도 일부를 변경하고, 변경된 비디오 코딩 모드는 모션 정보를 변경하지는 않는다.
또다른 실시예에 있어서, 본 개시물은, 제 1 인코딩 패스에서 비디오 블록을 인코딩하는 수단; 및 제 2 인코딩 패스에서 비디오 블록을 인코딩하는 수단을 포함하는 디바이스를 제공하는데, 제 1 인코딩 패스에서 비디오 블록을 인코딩하는 수단은, 비디오 블록에 대한 모션 정보를 정의하는 비디오 블록에 대한 비디오 코딩 모드를 선택하는 수단을 포함하고, 제 2 인코딩 패스에서 비디오 블록을 인코딩하는 수단은, 비디오 블록과 연관된 하나 이상의 양자화 파라미터를 조정하는 수단, 조정된 양자화 파라미터에 기초하여 비디오 블록과 연관된 비디오 코딩 모드의 적어도 일부를 변경하는 수단을 포함하고, 변경된 비디오 코딩 모드는 모션 정보를 변경하지는 않는다.
본 개시물에 기재된 기술은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현되는 경우, 소프트웨어는, 마이크로프로세서, 주문형 집적 회로 (ASIC), 필드 프로그래머블 게이트 어레이 (FPGA), 또는 디지털 신호 프로세서 (DSP) 와 같은 하나 이상의 프로세서에서 실행될 수도 있다. 이 기술을 실행하는 소프트웨어는 초기에 컴퓨터 판독가능 매체에 저장되어, 프로세서에 로딩 및 실행될 수도 있다.
따라서, 본 개시물은, 프로세서에서 실행되는 경우, 이 프로세서로 하여금, 제 1 인코딩 패스에서 비디오 블록을 인코딩하도록 하고; 제 2 인코딩 패스에서 비디오 블록을 인코딩하도록 하는 명령들을 포함하는 컴퓨터 판독가능 매체를 또한 고려하는데, 제 1 인코딩 패스는, 비디오 블록에 대한 모션 정보를 정의하는 비디오 블록에 대한 비디오 코딩 모드를 선택하고, 제 2 인코딩 패스는, 비디오 블록과 연관된 하나 이상의 양자화 파라미터를 조정하고, 조정된 양자화 파라미터에 기초하여 비디오 블록과 연관된 비디오 코딩 모드의 적어도 일부를 변경하고, 변경된 비디오 코딩 모드는 모션 정보를 변경하지는 않는다.
몇몇 경우에, 컴퓨터 판독가능 매체는 컴퓨터 프로그램 제품의 일부를 형성할 수도 있는데, 이 컴퓨터 프로그램 제품은 제조자에게 판매되고/되거나 비디오 코딩 디바이스에 사용될 수도 있다. 컴퓨터 프로그램 제품은 컴퓨터 판독가능 매체를 포함할 수도 있고, 몇몇 경우에는 포장재도 포함할 수도 있다.
본 개시물의 하나 이상의 양태의 상세는 다음의 상세한 설명 및 첨부 도면에 설명되어 있다. 본 개시물에 기재된 기술의 다른 특징, 목적 및 이점은 상세한 설명, 도면 및 특허청구범위로부터 명백할 것이다.
도면의 간단한 설명
도 1 은 본 개시물에 따른 비디오 인코딩 및 디코딩 시스템을 도시한 예시적인 블록도이다.
도 2 는 본 개시물에 따른 멀티패스 코딩 기술을 도시한 흐름도이다.
도 3 은 스킵 모드로부터 다이렉트 모드로 변경되는 양방향 예측 (B) 슬라이스의 비디오 블록의 개념도이다.
도 4 는 B 슬라이스의 비디오 블록이 스킵 모드로부터 다이렉트 모드로 변경되는 제 2 패스 코딩 기술을 도시한 흐름도이다.
도 5 는 다이렉트 모드로부터 스킵 모드로 변경되는 B 슬라이스의 비디오 블록의 개념도이다.
도 6 은 B 슬라이스의 비디오 블록이 다이렉트 모드로부터 스킵 모드로 변경되는 제 2 패스 코딩 기술을 도시한 흐름도이다.
도 7 은 스킵 모드로부터 인터 16×16 모드로 변경되는 예측 (P) 슬라이스의 비디오 블록의 개념도이다.
도 8 은 P 슬라이스의 비디오 블록이 스킵 모드로부터 인터 16×16 모드로 변경되는 제 2 패스 코딩 기술을 도시한 흐름도이다.
상세한 설명
본 개시물은 멀티패스 비디오 코딩 시나리오에서의 제 2 패스 비디오 코딩 기술을 기재하고 있다. 제 2 비디오 코딩 패스는, 비트-레이트 제약을 만족시키거나, 미사용 대역폭을 이용하거나, 다른 목적을 달성하기 위해서 제 1 패스에서 수행된 비디오 코딩을 정제한다. 본 개시물에 있어서, 제 2 코딩 패스는 일반적으로 제 1 코딩 패스 다음의 임의의 후속 코딩 패스를 언급한다. 따라서, 어구 "제 2 코딩 패스" 에서의 "제 2" 라는 용어는, 제 2 코딩 패스가 제 1 코딩 패스에 후속하여 수행되는 것을 제외하고는, 다른 코딩 패스에 대한 임의의 순서 관계를 내포하지는 않는다. 본 명세서에 기재된 바와 같이, 제 2 코딩 패스는 실제 제 1 코딩 패스 다음의 제 3 코딩 패스 또는 제 4 코딩 패스와 같이 임의의 후속 코딩 패스일 수 있다.
본 개시물에 따르면, 제 2 코딩 패스에서 몇몇 비디오 블록에 이용된 코딩 모드는, 제 1 패스에서 이용된 코딩 모드에 대하여 변경될 수도 있다. 그러나, 모션 정보는 모드 변경을 갖는 비디오 블록에 대해 동일하게 유지된다 (즉, 모션 정보는 디코더에서 동일한 방식으로 도출된다). 몇몇 경우에, 제 2 코딩 패스는 제 1 코딩 패스 중에 수행된 임의의 모션-기반 계산을 재이용할 수도 있는데, 그 이유는 모션 정보가 모드 변경을 갖는 이들 비디오 블록에 대해 변경되지는 않기 때문이다.
멀티패스 비디오 코딩에 있어서, 제 1 패스는 비디오 블록을 코딩하는데 이용되고, 제 2 패스는 제 1 패스 중에 수행된 코딩을 정제한다. 몇몇 경우에, 제 2 패스 코딩은 정보를 완전히 재인코딩할 수도 있다. 그러나, 효율 및 단순화를 위해, 제 2 패스 코딩이 제 1 패스에서 생성된 정보의 일부를 채택하여, 제 1 패스 중에 발생된 코딩된 정보의 다른 부분을 정제하는 것이 보다 바람직할 수도 있다. 예를 들어, 제 1 패스에서 비디오 블록에 대해 정의된 모션 벡터 정보 는, 전파 영향이 도입되지 않는다는 것을 보장하기 위해서 모션 정보를 재계산하지 않고 제 2 패스에서 동일한 비디오 블록에 할당될 수도 있다. 그러나, 제 2 패스에 이용되는 양자화 파라미터는 제 1 패스에 이용되는 양자화 파라미터에 대하여 변경될 수도 있다.
본 개시물에 따르면, 제 2 패스 코딩은 예를 들어 스킵 또는 다이렉트 모드 사이에서 비디오 블록 모드를 변경할 수도 있다. 다이렉트 모드 및 스킵 모드는 비디오 블록에 대한 모션 정보를 정의하는 비디오 코딩 모드의 2 가지 예시이다. 특히, 다이렉트 모드 비디오 블록 및 스킵 모드 비디오 블록은 모션 정보를 포함하도록 인코딩되지 않고, 오히려 이들 모드에 있어서, 모션 정보는 디코더에서 이웃 비디오 블록의 모션 정보에 기초하여 도출된다. 일례로서, 본 개시물은 제 2 패스 인코딩에서 스킵 모드와 다이렉트 모드 사이에서 변경하는 능력을 제안한다. 예를 들어, 스킵 모드로부터 다이렉트 모드로의 스위칭은, 양자화 파라미터 변경이 제 2 패스 인코딩에 깊은 품질 강화 영향을 미친다는 것을 보장하는데 도움이 될 수도 있다. 대안적으로, 다이렉트 모드로부터 스킵 모드로의 스위칭은 제 2 패스에서 완전 재인코딩을 수행하지 않고 비트 레이트를 감소시키기 위해서 용이한 방식을 제공할 수도 있다.
스킵 모드로부터 다이렉트 모드로 변경되는 임의의 비디오 블록에 대해서는 잔여 정보가 부가될 수도 있고, 다이렉트 모드로부터 스킵 모드로 변경되는 임의의 비디오 블록에 대해서는 잔여 정보가 소거될 수도 있다. 이들 모드 변경과 함께, 양자화 파라미터 변경은, 모드 변경 없이 달성될 수 있는 것보다 제 2 코딩 패 스에서 더 현저한 코딩 강화 또는 조정을 달성할 수 있다. 본 개시물에 의해 고려된 특정 모드 변경은 모션 벡터에서의 변경으로 인해 전파되는 비디오 프레임에서의 변경과 같은 어떠한 전파 영향도 도입하지 않는데, 그 이유는 다이렉트 모드 및 스킵 모드가 유사한 방식으로, 즉 이웃 비디오 블록의 모션 벡터에 기초하여 모션 벡터를 할당하기 때문이다. 또한, 제 2 코딩 패스 중에 완전 재인코딩을 수행하는 기술과 같은 종래의 기술에 대하여, 제 2 코딩 패스에서 계산 복잡도가 감소될 수도 있다.
(비디오 블록의 슬라이스 또는 비디오 블록의 프레임과 같은) 상이한 타입의 비디오 코딩 단위는, 이 타입의 비디오 코딩 단위의 비디오 블록을 코딩하는데 이용될 수 있는 상이한 코딩 모드를 가질 수도 있다. 예를 들어, ITU H.264 에 있어서, 인트라 (I) 프레임 또는 슬라이스, 예측 (P) 프레임 또는 슬라이스, 및 양방향 예측 (B) 프레임 또는 슬라이스가 존재한다. 비디오 코딩 단위가 프레임 또는 슬라이스 레벨로 정의될 수도 있지만, 다음의 개시물은 단순화를 위해 단순히 I 슬라이스, P 슬라이스 및 B 슬라이스를 언급한다. 그러나, 본 개시물의 기술은, 비디오 코딩 단위가 프레임 레벨로 또는 상이한 방식으로 정의되는 경우에도 또한 적용될 수 있다.
I 슬라이스는, 공간 예측 및 인트라-코딩을 통해 코딩되는 비디오 블록을 갖는다. 이 경우, 비디오 블록은 공간 중복성을 이용하기 위해서 동일한 슬라이스의 다른 비디오 블록과 비교된다. I 슬라이스의 비디오 블록에 있어서, 동일한 슬라이스 내의 예측 블록은 잔여 정보를 정의하는데 이용되는데, 이 잔여 정보 는 동일한 슬라이스 내의 예측 블록과 코딩되고 있는 비디오 블록 사이의 차이를 나타낸다. 통상적으로, I 슬라이스는 (예를 들어, I 슬라이스, P 슬라이스 및 B 슬라이스 중) 최소 압축량을 나타내지만, 다른 슬라이스보다 본래 강건한데, 그 이유는 이들이 예측을 위해 다른 슬라이스에서의 정보에 종속하지 않기 때문이다.
P 슬라이스는, 시간 중복성을 이용하기 위해서 이전에 코딩된 슬라이스의 비디오 블록에 대하여 모션 추정 및 모션 보상을 통해 코딩되는 비디오 블록을 갖는다. P 슬라이스의 비디오 블록에 있어서, 이전에 코딩된 슬라이스에서의 예측 블록은 잔여 정보를 정의하는데 이용될 수도 있다. 역시, 잔여 정보는, P 슬라이스에 대해, 시간 중복성을 이용하기 위해서 이전에 코딩된 슬라이스 내에 존재하는 예측 블록과 코딩되고 있는 비디오 블록 사이의 차이를 나타내는 정보를 언급한다.
B 슬라이스는, 이전에 코딩된 슬라이스 및/또는 후속 코딩되는 슬라이스에 존재하는 비디오 블록에 대하여 모션 추정 및 모션 보상을 통해 코딩되는 비디오 블록을 갖는다. B 슬라이스의 비디오 블록에 있어서, (비디오 시퀀스의 포지티브 시간 방향 또는 네거티브 시간 방향 중 어느 하나에서) 상이한 슬라이스에서의 예측 블록은 잔여 정보를 정의하는데 이용될 수도 있다.
I 슬라이스는 다른 P 슬라이스 또는 B 슬라이스의 비디오 블록의 인터-예측 (inter-prediction) 에 대해 참조의 역할을 할 수도 있다. 따라서, P 슬라이스 또는 B 슬라이스의 비디오 블록은 I 슬라이스의 비디오 블록을 참조하는 모션 정보를 정의할 수도 있다. 유사하게, P 슬라이스는 다른 P 슬라이스 또는 B 슬라이 스의 인터-예측에 대해 참조의 역할을 할 수도 있다. 그러나, ITU H.264 에 대한 일부 개량이 몇몇 B 슬라이스가 참조의 역할을 하는 것을 허용하지만, B 슬라이스는 통상적으로 참조로서 이용되지는 않는다.
각 타입의 슬라이스 (예를 들어, I 슬라이스, P 슬라이스 또는 B 슬라이스) 는 상이한 비디오 블록을 코딩하는데 이용될 수 있는 몇몇 가능한 모드를 정의할 수도 있다. 예를 들어, I 슬라이스의 비디오 블록은 인트라 16×16, 인트라 16×8, 인트라 8×16, 인트라 8×8, 인트라 8×4, 인트라 4×8, 인트라 4×4 등과 같은 인트라-모드를 정의할 수도 있다. P 슬라이스의 비디오 블록은 인트라 모드를 이용할 수도 있고, 또한 인터 16×16, 인터 16×8, 인터 8×16, 인터 8×8, 인터 8×4, 인터 4×8, 인터 4×4 등과 같은 각종 인터-모드를 정의할 수도 있다. 또한, P 슬라이스는 소위 "스킵 모드" 를 정의할 수도 있다. 스킵 모드로 코딩된 비디오 블록은 이웃 비디오 블록의 모션 벡터에 기초하여 모션 벡터를 정의하고, 어떠한 잔여 정보도 포함하지 않는다. 디코더에서, 스킵 모드 비디오 블록에 대한 모션 벡터는 이웃 비디오 블록의 모션 벡터에 기초하여 도출된다. 따라서, 모션 벡터 정보는 스킵 모드 비디오 블록에 대해 인코딩되거나 전달될 필요가 없다.
B 슬라이스의 비디오 블록은 I 슬라이스 및 P 슬라이스의 각종 모드를 지원할 수도 있고, 모션 벡터는 비디오 시퀀스의 이전의 슬라이스 또는 후속 슬라이스를 포인팅할 수도 있다. P 슬라이스의 비디오 블록과 같이, B 슬라이스의 비디오 블록은 스킵 모드를 정의할 수도 있다. 부가적으로, B 슬라이스는 또한 "다 이렉트 모드" 로 언급되는 또다른 모드를 지원한다. 다이렉트 모드는 몇몇 관점에서 스킵 모드와 유사하지만, 다이렉트 모드로 코딩된 비디오 블록은 잔여 정보를 포함한다. 특히, 다이렉트 모드 비디오 블록이 이웃 비디오 블록의 모션 벡터에 기초하여 모션 벡터를 정의함에 따라, 다이렉트 모드로 코딩된 비디오 블록은 어떠한 모션 벡터도 없을 수도 있다. 그러나, 다이렉트 모드 비디오 블록은, 코딩되고 있는 비디오 블록과 모션 벡터에 의해 식별된 비디오 블록 사이의 차이를 나타내는 잔여 정보를 포함한다.
본 개시물에 따르면, 제 2 패스 코딩은, B 슬라이스의 비디오 블록에 대해 정의된 모션 정보 (예를 들어, 모션 벡터) 를 변경하지 않으면서, 스킵 또는 다이렉트 모드 사이에서 이 비디오 블록의 모드를 변경할 수도 있다. 스킵 모드로부터 다이렉트 모드로 변경되는 임의의 비디오 블록에 대해서는 잔여 정보가 부가될 수도 있고, 다이렉트 모드로부터 스킵 모드로 변경되는 임의의 비디오 블록에 대해서는 잔여 정보가 소거될 수도 있다. 또한, 유사한 기술이 P 슬라이스의 비디오 블록에 적용되어, 스킵 모드로부터 인터 16×16 모드로 변경할 수도 있다. P 슬라이스가 다이렉트 모드를 지원하지 않을 수도 있기 때문에, 스킵 모드 비디오 블록에 대한 모션 벡터 계산에 기초하여 도출되는 할당된 모션 벡터에 대해, 인터 16×16 모드의 이용이 다이렉트 모드 대신에 이용될 수도 있다. 이 경우, (제 1 코딩 패스 중에 선택된 바와 같은) 스킵 모드에서의 P 슬라이스의 비디오 블록에 대해 정의된 모션 벡터는 제 2 패스에서 인터 16×16 모드에서의 비디오 블록에 할당된다. 그런 다음, 코딩되고 있는 블록과 예측 비디오 블록 사이의 차이 로서 잔여 정보가 발생된다. 이 경우, 비디오 블록이 인터 16×16 모드 블록으로서 정의될 수도 있지만, 그 모션 벡터는 실제 제 1 코딩 패스의 스킵 모드에 의해 정의된 모션 벡터로서 계산된다. 인코더는 단순히 인터 16×16 모드에서의 제 2 패스의 모션 벡터로서 제 1 코딩 패스의 스킵 모드에 의해 정의된 모션 벡터를 할당한다. 인터 16×16 모드는 잔여 정보가 P 슬라이스의 비디오 블록에 대해 포함되는 것을 허용한다.
코딩에 이용된 양자화 파라미터는 제 1 코딩 패스에 대하여 제 2 코딩 패스에서 조정될 수도 있다. 그러나, 종래에, (양호한 품질을 산출해야 하는) 양자화 파라미터에서의 감소는 특히 B 슬라이스에 그다지 현저한 영향을 미치지 않을 수도 있는데, 그 이유는 스킵 모드에서의 비디오 블록은 잔여 정보가 없기 때문이다. B 슬라이스에서 스킵 모드를 다이렉트 모드로 변경함으로써, 양자화 파라미터에서의 감소는 종래의 코딩 기술에 대하여 비디오 블록에 훨씬 더 현저한 영향을 달성할 수 있다. 그 이유는, 양자화 파라미터 변경이 잔여 정보에서의 변경을 나타내기 때문이다. 잔여 정보가 다이렉트 모드 비디오 블록에는 포함되지만 스킵 모드에는 포함되지 않기 때문에, 이러한 잔여 정보에 대한 양자화 파라미터 변경의 영향을 양호하게 이용하기 위해서 모드 변경이 필요하다. 동시에, 이들 특정 모드 변경은 모션 정보에서의 변경으로부터 어떠한 바람직하지 않은 전파 영향 또는 불일치도 도입하지 않는데, 그 이유는 다이렉트 모드 비디오 블록 및 스킵 모드 비디오 블록이 동일한 방식으로 모션 벡터를 정의하기 때문이다.
도 1 은 비디오 인코딩 및 디코딩 시스템 (10) 을 도시한 블록도이다. 도 1 에 도시된 바와 같이, 비디오 인코딩 및 디코딩 시스템 (10) 은, 통신 채널 (15) 을 통해 수신 디바이스 (6) 로 인코딩된 비디오를 송신하는 소스 디바이스 (2) 를 포함한다. 소스 디바이스 (2) 는 비디오 소스 (11), 비디오 인코더 (12) 및 변조기/송신기 (14) 를 포함할 수도 있다. 수신 디바이스 (6) 는 수신기/복조기 (16), 비디오 디코더 (18) 및 디스플레이 디바이스 (20) 를 포함할 수도 있다. 비디오 인코딩 및 디코딩 시스템 (10) 은, 본 명세서에 기재된 바와 같이, 비디오 블록에 대해 양자화 파라미터 변경 및 모드 변경이 수행되지만 제 2 패스에서 어떠한 모션 벡터 정보도 변경되지 않는 2-패스 코딩 기술을 적용하도록 구성될 수도 있다.
도 1 의 실시예에 있어서, 통신 채널 (15) 은, 무선 주파수 (RF) 스펙트럼 또는 하나 이상의 물리 전송 라인과 같은 임의의 무선 또는 유선 통신 매체, 또는 무선과 유선 매체의 임의의 조합을 포함할 수도 있다. 통신 채널 (15) 은, LAN (Local Area Network), WAN (Wide Area Network), 또는 인터넷과 같은 글로벌 네트워크와 같은 패킷-기반 네트워크의 일부를 형성할 수도 있다. 일반적으로, 통신 채널 (15) 은 소스 디바이스 (2) 로부터 수신 디바이스 (6) 로 비디오 데이터를 송신하기에 적합한 임의의 통신 매체 또는 상이한 통신 매체의 집합을 나타낸다.
소스 디바이스 (2) 는 수신 디바이스 (6) 로의 송신을 위해 코딩된 비디오 데이터를 발생시킨다. 그러나, 몇몇 경우에, 디바이스 (2, 6) 는 실질적으로 대칭 방식으로 동작할 수도 있다. 예를 들어, 디바이스 (2, 6) 각각은 비디오 인코딩 컴포넌트 및 비디오 디코딩 컴포넌트를 포함할 수도 있다. 그에 따라, 비디오 인코딩 및 디코딩 시스템 (10) 은, 예를 들어 비디오 스트리밍, 비디오 방송, 또는 비디오 텔레포니를 위해, 비디오 디바이스들 (2, 6) 사이의 단방향 또는 양방향 비디오 전송을 지원할 수도 있다.
소스 디바이스 (2) 의 비디오 소스 (11) 는, 비디오 콘텐츠 제공자로부터의 비디오 피드, 이전에 캡처된 비디오를 포함하는 비디오 아카이브, 또는 비디오 카메라와 같은 비디오 캡처 디바이스를 포함할 수도 있다. 추가적인 대안으로서, 비디오 소스 (11) 는 소스 비디오로서 컴퓨터 그래픽스-기반 데이터, 또는 라이브 비디오와 컴퓨터-발생된 비디오의 조합을 발생시킬 수도 있다. 몇몇 경우에, 비디오 소스 (11) 가 비디오 카메라이면, 소스 디바이스 (2) 및 수신 디바이스 (6) 는 소위 카메라폰 또는 비디오폰을 형성할 수도 있다. 각 경우에, 캡처되거나, 사전-캡처되거나, 또는 컴퓨터-발생된 비디오는, 비디오 소스 디바이스 (2) 로부터 변조기/송신기 (14), 통신 채널 (15) 및 수신기/복조기 (16) 를 통해 비디오 수신 디바이스 (6) 의 비디오 디코더 (18) 로의 송신을 위해 비디오 인코더 (12) 에 의해 인코딩될 수도 있다. 비디오 인코더 (12) 는 본 개시물의 멀티패스 코딩 기술을 지원하기 위해서 제 1 패스 인코더 (22) 및 제 2 패스 인코더 (24) 를 포함한다. 비디오 데이터를 수신하여 디코딩하면, 수신 디바이스 (6) 는 디스플레이 디바이스 (20) 를 사용하여, 디코딩된 비디오 데이터를 사용자에게 디스플레이한다. 디스플레이 디바이스 (20) 는 음극선관 (CRT), 액정 표시 장치 (LCD), 플라즈마 디스플레이, 유기 발광 다이오드 (OLED) 디스플레이, 또는 또다른 타입의 디스플레이 디바이스와 같은 각종 디스플레이 디바이스 중 임의의 디스플레이 디바 이스를 포함할 수도 있다.
몇몇 경우에, 본 개시물의 기술이 스케일러블 비디오 코딩 (SVC) 에 제한되지는 않지만, 비디오 인코더 (12) 및 비디오 디코더 (18) 는 공간, 시간 및/또는 신호대 잡음비 (SNR) 확장성을 위해 SVC 를 지원하도록 구성될 수도 있다. 몇몇 양태에 있어서, 비디오 인코더 (12) 및 비디오 디코더 (18) 는 SVC 에 대해 FGS (Fine Granularity SNR Scalability) 코딩을 지원하도록 구성될 수도 있다. 비디오 인코더 (12) 및 비디오 디코더 (18) 는, 베이스 계층 및 하나 이상의 스케일러블 증대 계층의 인코딩, 송신 및 디코딩을 지원함으로써 각종 확장성 정도를 지원할 수도 있다. SVC 에 있어서, 베이스 계층은 베이스라인 품질 레벨을 갖는 비디오 데이터를 반송한다. 하나 이상의 증대 계층은 상위 공간 레벨, 시간 레벨 및/또는 SNR 레벨을 지원하도록 부가적인 데이터를 반송한다. 베이스 계층은, 증대 계층의 송신보다 신뢰성이 높은 방식으로 송신될 수도 있다. 예를 들어, 변조된 신호의 가장 신뢰성이 높은 부분은 베이스 계층을 송신하는데 이용될 수도 있는 한편, 변조된 신호의 보다 신뢰성이 낮은 부분은 증대 계층을 송신하는데 이용될 수도 있다. 그러나, SVC 방식의 상이한 계층은 다수의 다른 방식으로 정의될 수도 있다.
비디오 인코더 (12) 및 비디오 디코더 (18) 는, MPEG-2, MPEG-4, ITU-T H.263, 또는 ITU-T H.264/MPEG-4 파트 10 인 AVC (Advanced Video Coding) 와 같은 비디오 압축 표준에 따라 동작할 수도 있다. 도 1 에 도시되지는 않았지만, 몇몇 양태에 있어서, 비디오 인코더 (12) 및 비디오 디코더 (18) 각각은 오디오 인코더 및 디코더와 각각 통합될 수도 있고, 공통 데이터 스트림 또는 개별 데이터 스트림으로의 오디오 및 비디오 모두의 인코딩을 핸들링하기에 적절한 MUX-DEMUX 유닛 또는 다른 하드웨어와 소프트웨어를 포함할 수도 있다. 적용가능한 경우, MUX-DEMUX 유닛은 ITU H.223 다중화기 프로토콜 또는 사용자 데이터그램 프로토콜 (UDP) 과 같은 다른 프로토콜에 따를 수도 있다.
H.264/MPEG-4 (AVC) 표준은, JVT (Joint Video Team) 로서 알려진 공동 파트너십의 산출물로서 ISO/IEC MPEG (Moving Picture Experts Group) 와 함께 ITU-T VCEG (Video Coding Experts Group) 에 의해 공식화되었다. 몇몇 양태에 있어서, 본 개시물에 기재된 기술은, 일반적으로 H.264 표준에 따르는 디바이스에 적용될 수도 있다. H.264 표준은, H.264/AVC 표준이나 규격, 또는 H.264 표준 또는 H.264 규격으로 본 명세서에서 언급될 수도 있는 ITU-T 스터디 그룹에 의한 ITU-T 권고 H.264 인 "Advanced Video Coding for generic audiovisual services" (2005 년 3 월) 에 기재되어 있다. 또한, 이 기술은 다른 표준 또는 비디오 코딩 프로토콜에 적용될 수도 있다.
비디오 방송에 이용되는 경우, 본 개시물에 기재된 기술은, 기술 표준 TIA-1099 로서 공개된 FLO (Forward Link Only) 무선 인터페이스 규격인 "Forward Link Only Air Interface Specification for Terrestrial Mobile Multimedia Multicast" ("FLO 규격") 을 이용하는 지상 모바일 멀티미디어 멀티캐스트 (TM3) 시스템에서 실시간 비디오 서비스를 전달하기 위해 개선된 H.264 비디오 코딩에 적용될 수도 있다. 다시 말하면, 통신 채널 (15) 은 FLO 규격 등에 따라 무선 비디오 정보 를 방송하는데 사용되는 무선 정보 채널을 포함할 수도 있다. FLO 규격은 FLO 무선 인터페이스에 적합한 비트스트림 구문과 의미론 및 디코딩 프로세스를 정의하는 실시예를 포함한다. 대안적으로, 비디오는 DVB-H (Digital Video Broadcast-Handheld), ISDB-T (Integrated Services Digital Broadcast-Terrestrial), 또는 DMB (Digital Media Broadcast) 와 같은 다른 표준에 따라 방송될 수도 있다. 그에 따라, 소스 디바이스 (2) 는 모바일 무선 단말기, 비디오 스트리밍 서버, 또는 비디오 방송 서버일 수도 있다. 그러나, 본 개시물에 기재된 기술은 방송, 멀티캐스트, 또는 점대점 시스템 중 임의의 특정 타입에 제한되지는 않는다. 방송의 경우에, 소스 디바이스 (2) 는 몇몇 비디오 데이터 채널을 다수의 수신 디바이스로 방송할 수도 있는데, 그 각각은 도 1 에 도시된 수신 디바이스 (6) 와 유사할 수도 있다.
다른 실시예에 있어서, 변조기/송신기 (14), 통신 채널 (15) 및 수신기/복조기 (16) 는, 이더넷, 전화 (예를 들어, POTS), 케이블, 전력선, 및 광섬유 시스템, 및/또는 코드 분할 다중 접속 (CDMA 또는 CDMA2000) 통신 시스템, 주파수 분할 다중 접속 (FDMA) 시스템, 직교 주파수 분할 다중 (OFDM) 접속 시스템, GSM (Global System for Mobile Communication), GPRS (General Packet Radio Service) 또는 EDGE (Enhanced Data GSM Environment) 와 같은 시분할 다중 접속 (TDMA) 시스템, TETRA (Terrestrial Trunked Radio) 모바일 전화 시스템, 광대역 코드 분할 다중 접속 (WCDMA) 시스템, 고속 데이터 레이트 1xEV-DO (제 1 세대 Evolution Data Only) 또는 1xEV-DO Gold Multicast 시스템, IEEE 802.11 시스템, MediaFLO™ 시스 템, DMB 시스템, DVB-H 시스템에서 하나 이상을 포함한 무선 시스템, 또는 2 개 이상의 디바이스들 사이의 데이터 통신을 위한 또다른 방식 중 하나 이상을 포함하는 임의의 유선 또는 무선 통신 시스템에 따라 통신하도록 구성될 수도 있다.
비디오 인코더 (12) 및 비디오 디코더 (18) 각각은 하나 이상의 마이크로프로세서, 디지털 신호 프로세서 (DSP), 주문형 집적 회로 (ASIC), 필드 프로그래머블 게이트 어레이 (FPGA), 이산 로직, 소프트웨어, 하드웨어, 펌웨어, 또는 이들의 임의의 조합으로서 구현될 수도 있다. 비디오 인코더 (12) 및 비디오 디코더 (18) 각각은 하나 이상의 인코더 또는 디코더에 포함될 수도 있는데, 이들 중 어느 하나는 각각의 모바일 디바이스, 가입자 디바이스, 방송 디바이스, 서버 등에 결합된 인코더/디코더 (CODEC) 의 일부로서 통합될 수도 있다. 또한, 소스 디바이스 (2) 및 수신 디바이스 (6) 각각은, 무선 통신을 지원하기에 충분한 무선 주파수 (RF) 무선 컴포넌트 및 안테나를 포함하여, 적용가능한 경우, 인코딩된 비디오의 송/수신에 적절한 변조, 복조, 주파수 변환, 필터링 및 증폭기 컴포넌트를 포함할 수도 있다. 그러나, 설명의 용이성을 위해, 이러한 컴포넌트는 도 1 에서 소스 디바이스 (2) 의 변조기/송신기 (14) 및 수신 디바이스 (6) 의 수신기/복조기 (16) 로서 요약되어 있다. 변조기/송신기 (14) 및 수신기/복조기 (16) 각각은 개별적인 또는 통합된 컴포넌트를 포함할 수도 있다.
비디오 시퀀스는 일련의 비디오 프레임을 포함한다. 비디오 인코더 (12) 는 비디오 데이터를 인코딩하기 위해서 개별 비디오 프레임 내의 픽셀 블록에 대해 동작한다. 비디오 블록은 고정 또는 가변 크기를 가질 수도 있고, 특정된 코딩 표준에 따라 그 크기가 상이할 수도 있다. 몇몇 경우에, 각 비디오 프레임은 코딩 단위인 한편, 다른 경우에, 각 비디오 프레임은 코딩 단위를 형성하는 일련의 슬라이스로 분할될 수도 있다. 각 슬라이스는 일련의 매크로블록을 포함할 수도 있는데, 이는 서브블록으로 배열될 수도 있다. 일례로서, ITU-T H.264 표준은 루마 성분을 위한 16×16 또는 4×4, 및 크로마 성분을 위한 8×8 과 같은 각종 블록 크기에서의 인트라 예측뿐만 아니라, 루마 성분을 위한 16×16, 16×8, 8×16, 8×8, 8×4, 4×8 과 4×4, 및 크로마 성분을 위한 대응하는 스케일링된 크기와 같은 각종 블록 크기에서의 인터 예측을 지원한다.
보다 작은 비디오 블록은 보다 양호한 해상도를 제공할 수 있고, 보다 높은 디테일 레벨을 포함하는 비디오 프레임 내의 로케이션에 이용될 수도 있다. 일반적으로, 매크로블록 (MB) 및 각종 서브블록은 비디오 블록으로 고려될 수도 있다. 또한, 슬라이스는 MB 및/또는 서브블록과 같은 일련의 비디오 블록으로 고려될 수도 있다. 기재된 바와 같이, 각 슬라이스는 비디오 프레임의 독립적으로 디코딩가능한 단위일 수도 있다.
인트라-기반 예측 코딩 또는 인터-기반 예측 코딩 다음에, 송신된 비트스트림에 부가적인 코딩 기술이 적용될 수도 있다. 이들 부가적인 코딩 기술은 (이산 코사인 변환 (DCT) 또는 H.264/AVC 에서 이용된 4×4 또는 8×8 정수 변환과 같은) 변환 기술 및 (변환 계수의 가변 길이 코딩과 같은) 변환 계수 코딩을 포함할 수도 있다. 변환 계수의 블록은 비디오 블록으로 언급될 수도 있다. 다시 말하면, "비디오 블록" 이라는 용어는 정보의 도메인에 상관없이 비디오 데이터의 블록을 언급한다. 따라서, 비디오 블록은 픽셀 도메인 또는 변환된 계수 도메인에 있을 수도 있다.
비디오 인코더 (12) 는 제 1 패스 인코더 (22) 및 제 2 패스 인코더 (24) 를 포함하는데, 이는 개별적인 컴포넌트나 프로세스일 수도 있고, 또는 공통 컴포넌트나 프로세스에 통합될 수도 있다. 제 1 패스 인코더 (22) 는 제 1 인코딩 패스를 수행하여, 비디오 시퀀스의 각종 프레임 또는 슬라이스의 비디오 블록을 코딩한다. 그런 다음, 제 2 패스 인코더 (24) 는 제 1 패스 중에 수행된 코딩을 정제한다. 특히, 효율 및 단순화를 위해, 제 2 패스 인코더 (24) 는 제 1 패스에서 생성된 정보의 일부를 채택하여, 제 1 패스 중에 발생된 코딩된 정보의 다른 부분을 정제한다. 예를 들어, 제 1 패스에서 임의의 인터 코딩된 비디오 블록에 대해 정의된 모션 정보 (예를 들어, 모션 벡터) 는, 전파 에러가 도입되지 않는다는 것을 보장하기 위해서 모션 정보를 재계산하지 않고 제 2 패스에서 동일한 비디오 블록에 할당될 수도 있다. 그러나, 제 2 패스에 이용되는 양자화 파라미터는 제 1 패스에 이용되는 양자화 파라미터에 대하여 변경될 수도 있다.
본 개시물에 따르면, 제 2 패스 인코더 (24) 는, 비디오 디코더 (18) 또는 수신 디바이스 (6) 에서 모션 정보가 도출되는 방식 또는 이러한 모션 정보에서의 어떠한 변경도 야기시키지 않으면서, 예를 들어 스킵 또는 다이렉트 모드 사이에서 비디오 블록 모드를 변경할 수도 있다. 스킵 모드로부터 다이렉트 모드로 변경되는 임의의 비디오 블록에 대해서는 잔여 정보가 부가될 수도 있고, 다이렉트 모드로부터 스킵 모드로 변경되는 임의의 비디오 블록에 대해서는 잔여 정보가 소거 될 수도 있다. 이들 모드 변경과 함께, 양자화 파라미터 변경은, 모드 변경 없이 달성될 수 있는 것보다 제 2 코딩 패스에서 더 현저한 코딩 강화 또는 조정을 달성할 수 있다. 본 개시물에 의해 고려된 특정 모드 변경은 어떠한 전파 영향도 도입하지 않는데, 그 이유는 다이렉트 모드 및 스킵 모드가 유사한 방식으로, 즉 이웃 비디오 블록의 모션 벡터에 기초하여 모션 벡터를 할당하기 때문이다.
도 2 는 본 개시물에 따른 비디오 코딩 기술을 도시한 흐름도이다. 도 2 에 도시된 바와 같이, 제 1 패스 인코더 (22) 는 제 1 코딩 패스에서 비디오 블록을 인코딩한다 (31). 제 1 코딩 패스 중에, 제 1 패스 인코더 (22) 는 상이한 비디오 블록에 대한 양자화 파라미터를 정의할 수도 있고, 이 양자화 파라미터에 기초하여 코딩 모드를 선택할 수도 있다. 양자화 파라미터는 코딩에 이용되는 양자화 레벨을 정의할 수도 있다. 예를 들어, 하위 양자화 파라미터는 상위 양자화 파라미터보다 높은 품질 및 작은 압축을 야기시킨다. 제 1 패스에서 이용되는 코딩 모드는 선택된 양자화 파라미터에 종속할 수도 있다. 예를 들어, 라그랑주 승수 (λ) 는 λ = 2-(QP) 또는 λ = e-(QP) 로서 정의될 수도 있는데, 여기서 "e" 는 자연 로그 함수의 베이스를 나타내고 (예를 들어, e = 2.718281828459), QP 는 선택된 양자화 파라미터를 나타낸다. 따라서, QP 에 대한 조정은 라그랑주 승수를 스케일링하는데 이용될 수 있다. 상이한 값의 라그랑주 승수 (λ) 는 상이한 모드 선택을 야기할 수도 있다. 이와 같이, 코딩 모드는 양자화 파라미터에 기초하여 선택될 수 있다.
적절한 코딩 모드를 선택하면, 제 1 패스 인코더 (22) 는 선택된 코딩 모드에 따라 비디오 블록을 인코딩한다. 예를 들어, 인트라 코딩 모드가 비디오 블록에 대해 선택되는 경우에는, 제 1 패스 인코더 (22) 는 공간 추정 및 인트라 코딩을 수행하여, 비디오 블록을 코딩한다. 인터 코딩 모드가 비디오 블록에 대해 선택되는 경우에는, 제 1 패스 인코더 (22) 는 모션 추정 예측 및 모션 보상을 수행하여, 비디오 블록을 코딩한다. 다이렉트 코딩 모드가 비디오 블록에 대해 선택되는 경우에는, 제 1 패스 인코더 (22) 는 이 비디오 블록에 대한 모션 벡터를 이웃 비디오 블록의 모션 벡터에 기초하여 결정하고, 잔여 정보를 발생시켜, 비디오 블록을 코딩한다. 이 경우, 다이렉트 모드를 이용하여 코딩된 비디오 블록에 대해, 모션 벡터 정보가 코딩될 필요는 없는데, 그 이유는 이 모션 벡터 정보가 디코더에서 이웃 비디오 블록의 모션 벡터에 기초하여 도출될 수 있기 때문이다. 스킵 코딩 모드가 비디오 블록에 대해 선택되는 경우에는, 제 1 패스 인코더 (22) 는 어떠한 모션 또는 잔여 정보도 코딩하지 않는다. 스킵 모드를 이용하여 코딩된 비디오 블록에 대해, 다이렉트 모드를 이용하여 코딩된 비디오 블록과 같이, 모션 벡터 정보는 디코더에서 이웃 비디오 블록의 모션 벡터에 기초하여 도출될 수 있다. 따라서, 다이렉트 모드를 통해 코딩된 비디오 블록과 스킵 모드를 통해 코딩된 비디오 블록 사이의 유일한 차이는, 다이렉트 모드를 통해 코딩된 비디오 블록은 잔여 정보를 포함하는 한편, 스킵 모드를 통해 코딩된 비디오 블록은 어떠한 잔여 정보도 없다는 것이다.
일단 제 1 패스에서 비디오 블록이 코딩되면 (31), 제 2 패스 인코더 (24) 는 제 2 코딩 패스에 대해 양자화 파라미터를 조정한다 (32). 이 경우, 제 1 코딩 패스에서 발생된 데이터량이 가용 대역폭에 대하여 과도하면, 양자화 파라미터는 제 2 패스에서 보다 많은 양자화 및 보다 적은 데이터를 야기시키기 위해서 증가할 수도 있다. 대안적으로, 제 1 코딩 패스에서 발생된 데이터량이 가용 대역폭에 대하여 적으면, 양자화 파라미터는 제 2 패스에서 보다 적은 양자화 및 보다 많은 데이터를 야기시키기 위해서 감소할 수도 있다.
또한, 제 2 패스 인코더 (24) 는 하나 이상의 비디오 블록에 대한 코딩 모드를 변경한다 (33). 예를 들어, 보다 상세하게 후술하는 바와 같이, 스킵 비디오 블록은, 잔여 정보가 모션 벡터를 변경하지 않고 이러한 비디오 블록에 대해 포함될 수 있도록 (B 슬라이스에 대해) 다이렉트 비디오 블록으로 또는 (P 슬라이스에 대해) 인터 16×16 비디오 블록으로 변경될 수도 있다. 이 경우, 양자화 파라미터 변경과 함께 모드 변경은, 양자화 파라미터 변경 단독으로 달성되는 것보다 제 2 패스 코딩에 대해 더 유용한 품질 강화를 가질 수 있다. 동시에, 모드 변경은 어떠한 불일치 또는 전파 영향도 도입하지 않는데, 그 이유는 변경된 모드가 모션 벡터 계산에 동일한 방식을 이용하기 때문이다. 예를 들어, 전파 영향은, 하나의 비디오 블록의 모션 벡터가 변경되는 경우에 나타날 수 있고, 이 비디오 블록은 또한 상이한 비디오 블록의 코딩에 대해 참조 블록으로서 이용된다. 이 경우, 제 1 블록의 모션 벡터에서의 변경은 제 2 비디오 블록에 영향을 줄 수도 있다. 제 2 비디오 블록은, 제 1 (참조) 비디오 블록의 모션 벡터가 X 였다는 가정으로 코딩되었을 수도 있다. 모션 벡터가 Y 로 변경되는 경우, 이는 제 1 비 디오 블록뿐만 아니라, 제 2 비디오 블록이 그 예측 참조로서 제 1 비디오 블록에 종속하는 한, 제 2 비디오 블록에도 영향을 미칠 수 있다. 이러한 영향은 본 명세서에서 전파 영향, 전파 에러 또는 불일치로 언급될 수도 있다.
보다 큰 데이터 압축이 필요한 경우, (B 슬라이스에 대해) 다이렉트 모드 비디오 블록은 스킵 모드 비디오 블록으로 변경될 수도 있다. 이는 이러한 비디오 블록에 대한 잔여 정보를 소거하므로, 비디오 코딩에 필요한 데이터량을 감소시킨다. 그러나, 이는 또한 원하는 비트 레이트를 달성하는데 필요할 수도 있는 품질을 감소시킨다. 원하는 비트 레이트는 서비스 제공자에 의해 설정되거나, 서비스 품질 레벨에 의해 설정되거나, 물리적 대역폭 제약에 의해 설정되거나, 또는 일반적으로 임의의 방식으로 설정될 수도 있다. 임의의 경우에, 제 2 패스 인코더 (24) 는 단순히 다이렉트로부터 스킵으로 비디오 블록의 모드를 특정하는 정보를 변경하고, 제 1 코딩 패스 중에 발생된 잔여 정보를 소거하여, 다이렉트 비디오 블록을 코딩할 수도 있다.
품질 강화가 필요하며 과도한 대역폭이 존재하는 경우, (B 슬라이스에 대해) 스킵 모드 비디오 블록은 다이렉트 모드 비디오 블록으로 변경될 수도 있다. 이 경우, 잔여 정보가 발생되어 이러한 비디오 블록에 대해 포함되는데, 이는 비디오 코딩에 필요한 데이터량을 증가시키고, 양자화 파라미터 조정 단독으로 달성될 수 있는 것보다 양자화 파라미터 감소에 기초하여 더 깊은 품질 강화를 허용한다. 이 경우, 제 2 패스 인코더 (24) 는 단순히 다이렉트로부터 스킵으로 비디오 블록의 모드를 특정하는 정보를 변경하고, 다이렉트 비디오 블록을 코딩하는데 필요 한 잔여 정보를 발생시킬 수도 있다.
조정된 양자화 파라미터 및 변경된 모드를 이용하여, 제 2 패스 인코더 (24) 는 제 2 패스에서 비디오 블록을 인코딩한다 (34). 역시, 이는 비트-레이트 제약을 만족시키거나, 미사용 대역폭을 이용하거나, 다른 목적을 달성하기 위해서 제 1 패스에서 수행된 비디오 코딩을 정제한다. 제 2 패스 인코더 (24) 는, 원하는 비트-레이트 증가나 감소를 달성할 수 있는 방식으로 양자화 파라미터 조정 및 모드 변경의 영향을 공동으로 밸런싱하기 위해서 양자화 파라미터 조정 (32), 모드 변경 (33) 및 제 2 패스 코딩 (34) 을 함께 수행할 수도 있다. 변조기/송신기 (14) 는 물리 계층 변조 방식에 따라 인코딩된 정보를 변조하여, 이 인코딩된 정보를 통신 채널 (15) 을 통해 수신 디바이스 (6) 로 송신할 수 있다 (35).
도 3 은 스킵 모드 매크로블록 (38) 으로부터 다이렉트 모드 매크로블록 (39) 으로 변경되는 B 슬라이스의 비디오 블록의 개념도이다. 도 4 는 B 슬라이스의 비디오 블록이 스킵 모드로부터 다이렉트 모드로 변경되는 제 2 패스 코딩 기술을 도시한 흐름도이다. 주어진 비디오 블록을 스킵 모드 매크로블록 (38) 으로부터 다이렉트 모드 매크로블록 (39) 으로 변환하기 위해서, 제 2 패스 인코더 (24) 는 다이렉트 모드에서 주어진 비디오 블록에 대한 잔여 정보를 발생시킨다. 스킵 매크로블록 및 다이렉트 매크로블록이 디코더에서 동일한 방식으로 (이웃 매크로블록의 모션 정보에 기초하여) 모션 정보를 도출하기 때문에, 스킵 모드로부터 다이렉트 모드로의 변경은 어떠한 모션 추정도 포함할 필요가 없다. 인코딩 모드를 지정하는 정보는 단순히 모드 변경을 반영하도록 변경되고, 다이렉트 모드 매크로블록과 연관된 잔여 정보가 발생된다.
보다 상세하게는, 도 4 에 도시된 바와 같이, 제 2 패스 인코더 (24) 는 코딩되고 있는 비디오 블록에 대해 신규 양자화 파라미터 (QP) 를 선택한다 (41). 이 경우, 신규 QP 는 제 1 코딩 패스 중에 비디오 블록의 코딩시 이용되는 QP 보다 낮은데, 이는 보다 적은 양자화 및 양호한 해상도를 야기시킬 수도 있다. 신규 QP 를 이용하여, 제 2 패스 인코더 (24) 는 신규 라그랑주 승수를 계산한다 (42). 예를 들어, 라그랑주 승수는 λ = 2-(QP) 또는 λ = e-(QP) 로서 계산될 수도 있는데, 여기서 "e" 는 자연 로그 함수의 베이스를 나타내고 (예를 들어, e = 2.718281828459), QP 는 선택된 양자화 파라미터를 나타낸다. 따라서, QP 에 대한 조정은 전술한 수학식에 따라 라그랑주 승수를 스케일링하는데 이용될 수 있다. 상이한 값의 라그랑주 승수 (λ) 는 상이한 모드 선택을 야기할 수도 있다.
스케일링된 라그랑주 승수에 기초하여, 제 2 패스 인코더 (24) 는 하나 이상의 스킵 매크로블록을 다이렉트 매크로블록으로 변환한다 (43). 특히, 라그랑주 승수값에 기초하여 비용 함수가 계산될 수도 있고, 다이렉트 매크로블록이 코딩 레이트 및/또는 왜곡에 관하여 이점을 제공하는 경우에 스킵 매크로블록은 다이렉트 매크로블록으로 대체될 수도 있다. 예를 들어, 스킵 모드의 다이렉트 모드로의 변환은 라그랑주 승수에 의해 가중된 레이트-왜곡 (R-D) 비용에 기초하여 이루어질 수도 있다. 대안적으로, 스킵 모드의 다이렉트 모드로의 변환을 제공하 는 또다른 단순한 방식은, 각 스킵 매크로블록의 잔여를 양자화하고, 양자화 이후에 넌제로 계수가 존재하는 경우, 이를 다이렉트 매크로블록으로 선언하는 것이다. 하나 이상의 스킵 매크로블록의 다이렉트 매크로블록으로의 변환 다음에, 제 2 패스 인코더 (24) 는 변환된 매크로블록에 대한 잔여 정보를 인코딩한다 (44). 특히, 제 2 패스 인코더 (24) 는 이웃 비디오 블록의 모션 벡터에 기초하여 모션 벡터를 계산하고, 모션 벡터에 의해 식별된 예측 블록을 발생시키고, 다이렉트 매크로블록으로서 코딩되고 있는 블록과 예측 블록 사이의 차이를 나타내는 잔여 정보를 코딩할 수도 있다. 그러나, 모션 벡터 정보는, 디코더에서 발생될 수 있기 때문에 인코딩된 비트스트림으로부터 제외될 수도 있다.
도 5 는 다이렉트 모드 매크로블록 (58) 으로부터 스킵 모드 매크로블록 (59) 으로 변경되는 B 슬라이스의 비디오 블록의 개념도이다. 도 6 은 B 슬라이스의 비디오 블록이 다이렉트 모드로부터 스킵 모드로 변경되는 제 2 패스 코딩 기술을 도시한 흐름도이다. 주어진 비디오 블록을 다이렉트 모드 매크로블록 (58) 으로부터 스킵 모드 매크로블록 (59) 으로 변환하기 위해서, 제 2 패스 인코더 (24) 는 기본적으로 모드를 변경하고, 스킵 모드에서 이 주어진 비디오 블록에 대한 잔여 정보를 소거한다.
역시, 스킵 매크로블록 및 다이렉트 매크로블록이 디코더에서 동일한 방식으로 (이웃 매크로블록의 모션 정보에 기초하여) 모션 정보를 도출하기 때문에, 다이렉트 모드로부터 스킵 모드로의 변경은 어떠한 모션 추정도 포함할 필요가 없다. 인코딩 모드를 지정하는 정보는 단순히 모드 변경을 반영하도록 변경되고, 다이 렉트 모드 매크로블록과 연관된 잔여 정보가 폐기된다.
도 6 에 도시된 바와 같이, 제 2 패스 인코더 (24) 는 코딩되고 있는 비디오 블록에 대해 신규 양자화 파라미터 (QP) 를 선택한다 (61). 이 경우, 신규 QP 는 제 1 코딩 패스 중에 비디오 블록의 코딩시 이용되는 QP 보다 높은데, 이는 보다 많은 양자화 및 낮은 품질을 야기시킬 수도 있다. 신규 QP 를 이용하여, 제 2 패스 인코더 (24) 는, 예를 들어 전술한 수학식 중 하나를 이용하여 라그랑주 승수를 스케일링함으로써 신규 라그랑주 승수를 계산한다 (62). 상이한 값의 라그랑주 승수 (λ) 는 상이한 모드 선택을 야기할 수도 있다.
스케일링된 라그랑주 승수에 기초하여, 제 2 패스 인코더 (24) 는 하나 이상의 다이렉트 매크로블록을 스킵 매크로블록으로 변환한다 (63). 라그랑주 승수값에 기초하여 비용 함수가 계산될 수도 있고, 스킵 매크로블록이 보다 저비용을 제공하는 경우에 다이렉트 매크로블록은 스킵 매크로블록으로 대체되어야 한다. 대안적으로, 어떠한 잔여 정보도 없는 (또는 임계 레벨의 잔여 정보가 없는) 다이렉트 매크로블록은 단순히 스킵 매크로블록으로서 선언될 수도 있다. 그런 다음, 제 2 패스 인코더 (24) 는 변환된 매크로블록에 대한 잔여 정보를 소거한다 (64).
도 7 은 스킵 모드 매크로블록 (78) 으로부터 인터 16×16 매크로블록 (79) 으로 변경되는 P 슬라이스의 비디오 블록의 개념도이다. 도 8 은 P 슬라이스의 비디오 블록이 스킵 모드로부터 인터 16×16 모드로 변경되는 제 2 패스 코딩 기술을 도시한 흐름도이다. B 슬라이스와 달리, P 슬라이스는 다이렉트 모드를 지 원하지 않을 수도 있다. 그러나, 이 경우, P 슬라이스에 대한 스킵 모드로부터 인터 16×16 모드로의 모드 변경은, B 슬라이스에서 스킵 모드로부터 다이렉트 모드로의 모드 변경과 유사한 영향을 제공하도록 변경될 수 있다.
주어진 비디오 블록을 스킵 모드 매크로블록 (78) 으로부터 인터 16×16 매크로블록 (79) 으로 변환하기 위해서, 제 2 패스 인코더 (24) 는 이 주어진 비디오 블록을 스킵 모드 비디오 블록으로부터 인터 모드 비디오 블록으로 변경하고, 스킵 모드 비디오 블록에 대한 모션 벡터 계산에 기초하여 인터 모드 비디오 블록에 모션 벡터를 할당하고, 인터 모드에서 이 주어진 비디오 블록에 대한 잔여 정보를 발생시킨다.
보다 상세하게는, 도 8 에 도시된 바와 같이, 제 2 패스 인코더 (24) 는 코딩되고 있는 비디오 블록에 대해 신규 양자화 파라미터 (QP) 를 선택한다 (81). 이 경우, 신규 QP 는 제 1 코딩 패스 중에 비디오 블록의 코딩시 이용되는 QP 보다 낮을 수도 있는데, 이는 보다 적은 양자화 및 양호한 품질을 야기시킬 수도 있다. 신규 QP 를 이용하여, 제 2 패스 인코더 (24) 는 신규 라그랑주 승수를 계산한다 (82). 역시, 예를 들어, 라그랑주 승수는 λ = 2-(QP) 또는 λ = e-(QP) 로서 계산될 수도 있는데, 여기서 "e" 는 자연 로그 함수의 베이스를 나타내고 (예를 들어, e = 2.718281828459), QP 는 선택된 양자화 파라미터를 나타낸다. 최소 비용으로 모드의 선택을 용이하게 하기 위해서 라그랑주 승수값에 기초하여 비용 함수가 계산될 수도 있다. 신규 QP 는 전술한 수학식에 따라 라그랑주 승수를 스케일링하고, 스케일링된 라그랑주 승수는, 제 1 코딩 패스의 코딩 모드와는 상이할 수도 있고 또는 상이하지 않을 수도 있는 코딩 모드를 선택하는데 이용된다.
스케일링된 라그랑주 승수에 기초하여, 제 2 패스 인코더 (24) 는 하나 이상의 스킵 매크로블록을 인터 16×16 매크로블록으로 변환한다 (83). 라그랑주 승수값에 기초하여 비용 함수가 계산될 수도 있고, 인터 16×16 매크로블록이 보다 저비용을 제공하는 경우에 스킵 매크로블록은 인터 16×16 매크로블록으로 대체되어야 한다. 예를 들어, 스킵 모드의 인터 16×16 모드로의 변환은 라그랑주 승수에 의해 가중된 레이트-왜곡 (R-D) 비용에 기초하여 이루어질 수도 있다. 대안적으로, 스킵 모드의 인터 16×16 모드로의 변환을 제공하는 또다른 단순한 방식은, 각 스킵 매크로블록의 잔여를 양자화하고, 양자화 이후에 넌제로 계수가 존재하는 경우, 이를 인터 16×16 매크로블록으로 선언하는 것이다. 제 2 패스 인코더 (24) 는 대응하는 스킵 매크로블록의 모션 벡터에 기초하여 변환된 인터 16×16 매크로블록에 모션 정보 (예를 들어, 모션 벡터) 를 할당한다 (84). 다시 말하면, 제 2 패스 인코더 (24) 가 매크로블록을 인터 16×16 모드로 코딩된 것으로서 표시하지만, 모션 벡터는 실제 스킵 모드에 의해 정의된 오리지널 모션 벡터와 동일하다. 그런 다음, 예측 블록을 식별하기 위해서 모션 벡터를 이용하여, 제 2 패스 인코더 (24) 는 변환된 인터 16×16 매크로블록에 대한 잔여 정보를 발생 및 인코딩한다 (85).
제 2 패스 인코더 (24) 가 종래에 스킵 매크로블록에 대해서만 이용된 계산을 이용하여 인터 16×16 모드 매크로블록에 대한 모션 벡터를 계산할 지라도, 도 8 의 기술은 (예를 들어, ITU H.264 와의) 표준 호환성을 유지하는데, 그 이유는 이용되는 인코딩 방식이 디코더에 공지되지 않기 때문이다. 따라서, 디코더는 단순히 인터 16×16 모드 매크로블록을 디코딩하고, 어떻게 모션 벡터가 인코더에 의해 계산되었는지를 문의하지 않을 것이다.
본 명세서에 기재된 기술은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 모듈 또는 컴포넌트로서 기재된 임의의 특징은 집적 논리 디바이스에서 함께 또는 상호운용가능한 이산 논리 디바이스로서 개별적으로 구현될 수도 있다. 소프트웨어로 구현되는 경우, 이들 기술은, 실행시, 전술한 방법 중 하나 이상을 수행하는 명령들을 포함한 컴퓨터 판독가능 매체에 의해 적어도 부분적으로 실현될 수도 있다. 컴퓨터 판독가능 매체는, 포장재를 포함할 수도 있는 컴퓨터 프로그램 제품의 일부를 형성할 수도 있다. 컴퓨터 판독가능 매체는, SDRAM (Synchronous Dynamic RAM) 과 같은 RAM (Random Access Memory), ROM (Read Only Memory), NVRAM (Non-Volatile RAM), EEPROM (Electrically Erasable Programmable ROM), 플래시 메모리, 자기 또는 광학 데이터 저장 매체 등을 포함할 수도 있다. 부가적으로 또는 대안적으로, 이들 기술은, 명령들 또는 데이터 구조의 형태로 코드를 반송 또는 통신하며, 컴퓨터에 의해 액세스, 판독, 및/또는 실행될 수 있는 컴퓨터 판독가능 통신 매체에 의해 적어도 부분적으로 실현될 수도 있다.
이 코드는, 하나 이상의 디지털 신호 프로세서 (DSP), 범용 마이크로프로세서, 주문형 집적 회로 (ASIC), 필드 프로그래머블 게이트 어레이 (FPGA), 또는 다른 등가의 집적 또는 이산 논리 회로와 같은 하나 이상의 프로세서에 의해 실행될 수도 있다. 따라서, 본 명세서에 이용된 바와 같은 "프로세서" 라는 용어는, 전술한 구조 또는 본 명세서에 기재된 기술의 구현에 적합한 임의의 다른 구조 중 임의의 구조를 언급할 수도 있다. 또한, 몇몇 양태에 있어서, 본 명세서에 기재된 기능성은, 인코딩 및 디코딩용으로 구성된 전용 소프트웨어 모듈이나 하드웨어 모듈 내에 제공될 수도 있고, 또는 결합된 비디오 인코더-디코더 (CODEC) 에 통합될 수도 있다.
본 발명의 각종 실시형태가 전술되었다. 이들 실시형태 및 다른 실시형태는 다음의 특허청구범위의 범위 내에 있다.

Claims (32)

  1. 제 1 인코딩 패스 (encoding pass) 에서 비디오 블록을 인코딩하는 단계; 및
    제 2 인코딩 패스에서 상기 비디오 블록을 인코딩하는 단계를 포함하고,
    상기 제 1 인코딩 패스는, 상기 비디오 블록에 대한 모션 정보를 정의하는 상기 비디오 블록에 대한 비디오 코딩 모드를 선택하고,
    상기 제 2 인코딩 패스는, 상기 비디오 블록과 연관된 하나 이상의 양자화 파라미터를 조정하고, 상기 조정된 양자화 파라미터에 기초하여 상기 비디오 블록과 연관된 상기 비디오 코딩 모드의 적어도 일부를 변경하고, 상기 변경된 비디오 코딩 모드는 상기 모션 정보를 변경하지는 않고,
    상기 비디오 코딩 모드는 다이렉트 모드 (direct mode) 및 스킵 모드 (skipped mode) 를 포함하고, 임의의 다이렉트 모드 비디오 블록과 연관된 상기 모션 정보는 하나 이상의 이웃 비디오 블록과 연관된 모션 벡터를 포함하고, 상기 다이렉트 모드 비디오 블록은 상기 다이렉트 모드 비디오 블록과 상기 다이렉트 모드 비디오 블록의 상기 모션 벡터에 의해 식별된 대응하는 예측 블록 사이의 차이를 나타내는 잔여 정보를 포함하고, 임의의 스킵 모드 비디오 블록과 연관된 상기 모션 정보는 하나 이상의 이웃 비디오 블록과 연관된 모션 벡터를 포함하고, 상기 스킵 모드 비디오 블록은 어떠한 잔여 정보도 포함하지 않고,
    적어도 일부의 다이렉트 모드 비디오 블록은 상기 제 2 인코딩 패스에서 스킵 모드 비디오 블록으로 변경되거나, 또는 적어도 일부의 스킵 모드 비디오 블록은 상기 제 2 인코딩 패스에서 다이렉트 모드 비디오 블록으로 변경되고,
    다이렉트 모드 비디오 블록을 스킵 모드 비디오 블록으로 변경하는 것은, 상기 스킵 모드 비디오 블록의 모션 벡터로서 상기 다이렉트 모드 비디오 블록과 연관된 상기 모션 벡터를 이용하는 것, 및 상기 다이렉트 모드 비디오 블록의 상기 잔여 정보를 소거하는 것을 포함하고,
    스킵 모드 비디오 블록을 다이렉트 모드 비디오 블록으로 변경하는 것은, 상기 다이렉트 모드 비디오 블록의 모션 벡터로서 상기 스킵 모드 비디오 블록과 연관된 상기 모션 벡터를 이용하는 것, 및 상기 스킵 모드로부터 변경되는 상기 다이렉트 모드 비디오 블록의 상기 잔여 정보를 발생시키는 것을 포함하는, 비디오 코딩 방법.
  2. 제 1 항에 있어서,
    상기 제 2 인코딩 패스는,
    상기 조정된 양자화 파라미터에 기초하여 라그랑주 승수값을 스케일링하고,
    상기 스케일링된 라그랑주 승수값에 기초하여 상기 비디오 블록과 연관된 상기 비디오 코딩 모드의 적어도 일부를 변경하는, 비디오 코딩 방법.
  3. 제 1 항에 있어서,
    상기 비디오 블록의 적어도 일부는 상기 제 2 인코딩 패스에서 스킵 모드 비디오 블록으로부터 다이렉트 모드 비디오 블록으로 변경되는, 비디오 코딩 방법.
  4. 제 1 항에 있어서,
    상기 비디오 블록의 적어도 일부는 상기 제 2 인코딩 패스에서 다이렉트 모드 비디오 블록으로부터 스킵 모드 비디오 블록으로 변경되는, 비디오 코딩 방법.
  5. 제 1 항에 있어서,
    상기 비디오 코딩 모드의 적어도 일부는 상기 제 2 인코딩 패스에서 스킵 모드로부터 인터 모드로 변경되고,
    스킵 모드 비디오 블록을 인터 모드 비디오 블록으로 변경하는 것은, 모션 벡터를 할당하는 것, 및 상기 인터 모드 비디오 블록에 대한 잔여 정보를 발생시키는 것을 포함하는, 비디오 코딩 방법.
  6. 제 1 항에 있어서,
    상기 제 2 인코딩 패스에서 인코딩된 상기 비디오 블록을 또다른 디바이스로 송신하는 단계를 더 포함하는, 비디오 코딩 방법.
  7. 제 6 항에 있어서,
    상기 제 2 인코딩 패스는, 상기 비디오 블록의 송신과 연관된 비트 레이트를 공동으로 조정하기 위해서 상기 양자화 파라미터를 조정하며 상기 비디오 코딩 모드의 적어도 일부를 변경하는, 비디오 코딩 방법.
  8. 제 1 항에 있어서,
    상기 제 2 인코딩 패스에서 상기 비디오 블록을 인코딩하는 단계는, 양방향 예측 (B) 슬라이스나 프레임 및 예측 (P) 슬라이스나 프레임의 16×16 매크로블록을 인코딩하는 단계를 포함하고,
    상기 비디오 코딩 모드의 적어도 일부를 변경하는 것은,
    B 슬라이스나 프레임의 적어도 일부의 비디오 블록에 대해서는 스킵 매크로블록 모드로부터 다이렉트 매크로블록 모드로 변경하는 것, 및
    P 슬라이스나 프레임의 적어도 일부의 비디오 블록에 대해서는 스킵 매크로블록 모드로부터 인터 16×16 매크로블록 모드로 변경하는 것을 포함하는, 비디오 코딩 방법.
  9. 제 1 인코딩 패스에서 비디오 블록을 인코딩하고;
    제 2 인코딩 패스에서 상기 비디오 블록을 인코딩하는 비디오 인코더를 포함하고,
    상기 제 1 인코딩 패스는, 상기 비디오 블록에 대한 모션 정보를 정의하는 상기 비디오 블록에 대한 비디오 코딩 모드를 선택하고,
    상기 제 2 인코딩 패스는, 상기 비디오 블록과 연관된 하나 이상의 양자화 파라미터를 조정하고, 상기 조정된 양자화 파라미터에 기초하여 상기 비디오 블록과 연관된 상기 비디오 코딩 모드의 적어도 일부를 변경하고, 상기 변경된 비디오 코딩 모드는 상기 모션 정보를 변경하지는 않고,
    상기 비디오 코딩 모드는 다이렉트 모드 및 스킵 모드를 포함하고, 임의의 다이렉트 모드 비디오 블록과 연관된 상기 모션 정보는 하나 이상의 이웃 비디오 블록과 연관된 모션 벡터를 포함하고, 상기 다이렉트 모드 비디오 블록은 상기 다이렉트 모드 비디오 블록과 상기 다이렉트 모드 비디오 블록의 상기 모션 벡터에 의해 식별된 대응하는 예측 블록 사이의 차이를 나타내는 잔여 정보를 포함하고, 임의의 스킵 모드 비디오 블록과 연관된 상기 모션 정보는 하나 이상의 이웃 비디오 블록과 연관된 모션 벡터를 포함하고, 상기 스킵 모드 비디오 블록은 어떠한 잔여 정보도 포함하지 않고,
    적어도 일부의 다이렉트 모드 비디오 블록은 상기 제 2 인코딩 패스에서 스킵 모드 비디오 블록으로 변경되거나, 또는 적어도 일부의 스킵 모드 비디오 블록은 상기 제 2 인코딩 패스에서 다이렉트 모드 비디오 블록으로 변경되고,
    다이렉트 모드 비디오 블록을 스킵 모드 비디오 블록으로 변경하는 것은, 상기 스킵 모드 비디오 블록의 모션 벡터로서 상기 다이렉트 모드 비디오 블록과 연관된 상기 모션 벡터를 이용하는 것, 및 상기 다이렉트 모드 비디오 블록의 상기 잔여 정보를 소거하는 것을 포함하고,
    스킵 모드 비디오 블록을 다이렉트 모드 비디오 블록으로 변경하는 것은, 상기 다이렉트 모드 비디오 블록의 모션 벡터로서 상기 스킵 모드 비디오 블록과 연관된 상기 모션 벡터를 이용하는 것, 및 상기 스킵 모드로부터 변경되는 상기 다이렉트 모드 비디오 블록의 상기 잔여 정보를 발생시키는 것을 포함하는, 비디오 코딩을 위한 장치.
  10. 제 9 항에 있어서,
    상기 제 2 인코딩 패스는,
    상기 조정된 양자화 파라미터에 기초하여 라그랑주 승수값을 스케일링하고,
    상기 스케일링된 라그랑주 승수값에 기초하여 상기 비디오 블록과 연관된 상기 비디오 코딩 모드의 적어도 일부를 변경하는, 비디오 코딩을 위한 장치.
  11. 제 9 항에 있어서,
    상기 비디오 블록의 적어도 일부는 상기 제 2 인코딩 패스에서 스킵 모드 비디오 블록으로부터 다이렉트 모드 비디오 블록으로 변경되는, 비디오 코딩을 위한 장치.
  12. 제 9 항에 있어서,
    상기 비디오 블록의 적어도 일부는 상기 제 2 인코딩 패스에서 다이렉트 모드 비디오 블록으로부터 스킵 모드 비디오 블록으로 변경되는, 비디오 코딩을 위한 장치.
  13. 제 9 항에 있어서,
    상기 비디오 코딩 모드의 적어도 일부는 상기 제 2 인코딩 패스에서 스킵 모드로부터 인터 모드로 변경되고,
    스킵 모드 비디오 블록을 인터 모드 비디오 블록으로 변경하는 것은, 모션 벡터를 할당하는 것, 및 상기 인터 모드 비디오 블록에 대한 잔여 정보를 발생시키는 것을 포함하는, 비디오 코딩을 위한 장치.
  14. 제 9 항에 있어서,
    상기 제 2 인코딩 패스에서 인코딩된 상기 비디오 블록을 변조하여 또다른 디바이스로 송신하는 변조기/송신기를 더 포함하는, 비디오 코딩을 위한 장치.
  15. 제 14 항에 있어서,
    상기 제 2 인코딩 패스는, 상기 비디오 블록의 송신과 연관된 비트 레이트를 공동으로 조정하기 위해서 상기 양자화 파라미터를 조정하며 상기 비디오 코딩 모드의 적어도 일부를 변경하는, 비디오 코딩을 위한 장치.
  16. 제 9 항에 있어서,
    상기 제 2 인코딩 패스에서 상기 비디오 블록을 인코딩하는 것은, 양방향 예측 (B) 슬라이스나 프레임 및 예측 (P) 슬라이스나 프레임의 16×16 매크로블록을 인코딩하는 것을 포함하고,
    상기 비디오 코딩 모드의 적어도 일부를 변경하는 것은,
    B 슬라이스나 프레임의 적어도 일부의 비디오 블록에 대해서는 스킵 매크로블록 모드로부터 다이렉트 매크로블록 모드로 변경하는 것, 및
    P 슬라이스나 프레임의 적어도 일부의 비디오 블록에 대해서는 스킵 매크로블록 모드로부터 인터 16×16 매크로블록 모드로 변경하는 것을 포함하는, 비디오 코딩을 위한 장치.
  17. 프로세서에서 실행되는 경우, 상기 프로세서로 하여금,
    제 1 인코딩 패스에서 비디오 블록을 인코딩하도록 하고;
    제 2 인코딩 패스에서 상기 비디오 블록을 인코딩하도록 하는, 비디오 코딩을 위한 명령들을 포함하고,
    상기 제 1 인코딩 패스는, 상기 비디오 블록에 대한 모션 정보를 정의하는 상기 비디오 블록에 대한 비디오 코딩 모드를 선택하고,
    상기 제 2 인코딩 패스는, 상기 비디오 블록과 연관된 하나 이상의 양자화 파라미터를 조정하고, 상기 조정된 양자화 파라미터에 기초하여 상기 비디오 블록과 연관된 상기 비디오 코딩 모드의 적어도 일부를 변경하고, 상기 변경된 비디오 코딩 모드는 상기 모션 정보를 변경하지는 않고,
    상기 비디오 코딩 모드는 다이렉트 모드 및 스킵 모드를 포함하고, 임의의 다이렉트 모드 비디오 블록과 연관된 상기 모션 정보는 하나 이상의 이웃 비디오 블록과 연관된 모션 벡터를 포함하고, 상기 다이렉트 모드 비디오 블록은 상기 다이렉트 모드 비디오 블록과 상기 다이렉트 모드 비디오 블록의 상기 모션 벡터에 의해 식별된 대응하는 예측 블록 사이의 차이를 나타내는 잔여 정보를 포함하고, 임의의 스킵 모드 비디오 블록과 연관된 상기 모션 정보는 하나 이상의 이웃 비디오 블록과 연관된 모션 벡터를 포함하고, 상기 스킵 모드 비디오 블록은 어떠한 잔여 정보도 포함하지 않고,
    적어도 일부의 다이렉트 모드 비디오 블록은 상기 제 2 인코딩 패스에서 스킵 모드 비디오 블록으로 변경되거나, 또는 적어도 일부의 스킵 모드 비디오 블록은 상기 제 2 인코딩 패스에서 다이렉트 모드 비디오 블록으로 변경되고,
    다이렉트 모드 비디오 블록을 스킵 모드 비디오 블록으로 변경하는 것은, 상기 스킵 모드 비디오 블록의 모션 벡터로서 상기 다이렉트 모드 비디오 블록과 연관된 상기 모션 벡터를 이용하는 것, 및 상기 다이렉트 모드 비디오 블록의 상기 잔여 정보를 소거하는 것을 포함하고,
    스킵 모드 비디오 블록을 다이렉트 모드 비디오 블록으로 변경하는 것은, 상기 다이렉트 모드 비디오 블록의 모션 벡터로서 상기 스킵 모드 비디오 블록과 연관된 상기 모션 벡터를 이용하는 것, 및 상기 스킵 모드로부터 변경되는 상기 다이렉트 모드 비디오 블록의 상기 잔여 정보를 발생시키는 것을 포함하는, 컴퓨터 판독가능 매체.
  18. 제 17 항에 있어서,
    상기 제 2 인코딩 패스는,
    상기 조정된 양자화 파라미터에 기초하여 라그랑주 승수값을 스케일링하고,
    상기 스케일링된 라그랑주 승수값에 기초하여 상기 비디오 블록과 연관된 상기 비디오 코딩 모드의 적어도 일부를 변경하는, 컴퓨터 판독가능 매체.
  19. 제 17 항에 있어서,
    상기 비디오 블록의 적어도 일부는 상기 제 2 인코딩 패스에서 스킵 모드 비디오 블록으로부터 다이렉트 모드 비디오 블록으로 변경되는, 컴퓨터 판독가능 매체.
  20. 제 17 항에 있어서,
    상기 비디오 블록의 적어도 일부는 상기 제 2 인코딩 패스에서 다이렉트 모드 비디오 블록으로부터 스킵 모드 비디오 블록으로 변경되는, 컴퓨터 판독가능 매체.
  21. 제 17 항에 있어서,
    상기 비디오 코딩 모드의 적어도 일부는 상기 제 2 인코딩 패스에서 스킵 모드로부터 인터 모드로 변경되고,
    스킵 모드 비디오 블록을 인터 모드 비디오 블록으로 변경하는 것은, 모션 벡터를 할당하는 것, 및 상기 인터 모드 비디오 블록에 대한 잔여 정보를 발생시키는 것을 포함하는, 컴퓨터 판독가능 매체.
  22. 제 17 항에 있어서,
    상기 제 2 인코딩 패스에서 인코딩된 상기 비디오 블록을 또다른 디바이스로 송신하도록 하는 명령들을 더 포함하는, 컴퓨터 판독가능 매체.
  23. 제 22 항에 있어서,
    상기 제 2 인코딩 패스는, 상기 비디오 블록의 송신과 연관된 비트 레이트를 공동으로 조정하기 위해서 상기 양자화 파라미터를 조정하며 상기 비디오 코딩 모드의 적어도 일부를 변경하는, 컴퓨터 판독가능 매체.
  24. 제 17 항에 있어서,
    상기 제 2 인코딩 패스에서 상기 비디오 블록을 인코딩하는 것은, 양방향 예측 (B) 슬라이스나 프레임 및 예측 (P) 슬라이스나 프레임의 16×16 매크로블록을 인코딩하는 것을 포함하고,
    상기 비디오 코딩 모드의 적어도 일부를 변경하는 것은,
    B 슬라이스나 프레임의 적어도 일부의 비디오 블록에 대해서는 스킵 매크로블록 모드로부터 다이렉트 매크로블록 모드로 변경하는 것, 및
    P 슬라이스나 프레임의 적어도 일부의 비디오 블록에 대해서는 스킵 매크로블록 모드로부터 인터 16×16 매크로블록 모드로 변경하는 것을 포함하는, 컴퓨터 판독가능 매체.
  25. 제 1 항 내지 제 8 항 중 어느 한 항에 기재된 비디오 코딩 방법을 수행하도록 구성된 디바이스로서,
    상기 제 1 인코딩 패스에서 비디오 블록을 인코딩하는 수단; 및
    상기 제 2 인코딩 패스에서 상기 비디오 블록을 인코딩하는 수단을 포함하는, 비디오 코딩을 위한 디바이스.
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
KR1020097019948A 2007-03-02 2008-02-29 제 2 패스 비디오 코딩에서의 효율적인 비디오 블록 모드 변경 KR101058758B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US89280407P 2007-03-02 2007-03-02
US60/892,804 2007-03-02
US11/777,395 US8594187B2 (en) 2007-03-02 2007-07-13 Efficient video block mode changes in second pass video coding
US11/777,395 2007-07-13
PCT/US2008/055553 WO2008109471A1 (en) 2007-03-02 2008-02-29 Efficient video block mode changes in second pass video coding

Publications (2)

Publication Number Publication Date
KR20090123914A KR20090123914A (ko) 2009-12-02
KR101058758B1 true KR101058758B1 (ko) 2011-08-24

Family

ID=39733048

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097019948A KR101058758B1 (ko) 2007-03-02 2008-02-29 제 2 패스 비디오 코딩에서의 효율적인 비디오 블록 모드 변경

Country Status (7)

Country Link
US (1) US8594187B2 (ko)
EP (1) EP2132938B1 (ko)
JP (1) JP5611601B2 (ko)
KR (1) KR101058758B1 (ko)
CN (1) CN101622880B (ko)
TW (1) TW200904197A (ko)
WO (1) WO2008109471A1 (ko)

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1829027A1 (en) * 2004-12-15 2007-09-05 Telefonaktiebolaget LM Ericsson (publ) Method and device for encoding mode changing of encoded data streams
CN101496387B (zh) 2006-03-06 2012-09-05 思科技术公司 用于移动无线网络中的接入认证的系统和方法
EP2160900A1 (en) * 2007-06-12 2010-03-10 Thomson Licensing Methods and apparatus supporting multi-pass video syntax structure for slice data
US20090074075A1 (en) * 2007-09-14 2009-03-19 The Hong Kong University Of Science And Technology Efficient real-time rate control for video compression processes
US8077772B2 (en) * 2007-11-09 2011-12-13 Cisco Technology, Inc. Coding background blocks in video coding that includes coding as skipped
US8797377B2 (en) 2008-02-14 2014-08-05 Cisco Technology, Inc. Method and system for videoconference configuration
US8355041B2 (en) 2008-02-14 2013-01-15 Cisco Technology, Inc. Telepresence system for 360 degree video conferencing
US8319819B2 (en) 2008-03-26 2012-11-27 Cisco Technology, Inc. Virtual round-table videoconference
US8390667B2 (en) 2008-04-15 2013-03-05 Cisco Technology, Inc. Pop-up PIP for people not in picture
US8654835B2 (en) * 2008-09-16 2014-02-18 Dolby Laboratories Licensing Corporation Adaptive video encoder control
US8694658B2 (en) 2008-09-19 2014-04-08 Cisco Technology, Inc. System and method for enabling communication sessions in a network environment
US8477175B2 (en) 2009-03-09 2013-07-02 Cisco Technology, Inc. System and method for providing three dimensional imaging in a network environment
US8659637B2 (en) 2009-03-09 2014-02-25 Cisco Technology, Inc. System and method for providing three dimensional video conferencing in a network environment
US8659639B2 (en) 2009-05-29 2014-02-25 Cisco Technology, Inc. System and method for extending communications between participants in a conferencing environment
EP2285111A1 (en) * 2009-08-07 2011-02-16 Canon Kabushiki Kaisha Method for sending compressed data representing a digital image and corresponding device
US9082297B2 (en) 2009-08-11 2015-07-14 Cisco Technology, Inc. System and method for verifying parameters in an audiovisual environment
EP3399748A1 (en) 2009-09-10 2018-11-07 Guangdong OPPO Mobile Telecommunications Corp., Ltd. Speedup techniques for rate distortion optimized quantization
US8681858B2 (en) * 2009-12-23 2014-03-25 General Instrument Corporation Rate control for two-pass encoder
US8532169B2 (en) * 2009-12-23 2013-09-10 General Instrument Corporation Rate control for two-pass encoder using adaptive quantization parameters
KR20110097704A (ko) * 2010-02-23 2011-08-31 삼성전자주식회사 계층 부호화 구조에서 예측 영상을 부호화/복호화하는 방법 및 장치
US9225916B2 (en) 2010-03-18 2015-12-29 Cisco Technology, Inc. System and method for enhancing video images in a conferencing environment
US9313452B2 (en) 2010-05-17 2016-04-12 Cisco Technology, Inc. System and method for providing retracting optics in a video conferencing environment
US8553763B2 (en) 2010-06-10 2013-10-08 Sony Corporation Iterative computation of adaptive interpolation filter
US8896655B2 (en) 2010-08-31 2014-11-25 Cisco Technology, Inc. System and method for providing depth adaptive video conferencing
US8599934B2 (en) 2010-09-08 2013-12-03 Cisco Technology, Inc. System and method for skip coding during video conferencing in a network environment
US8599865B2 (en) 2010-10-26 2013-12-03 Cisco Technology, Inc. System and method for provisioning flows in a mobile network environment
US8699457B2 (en) 2010-11-03 2014-04-15 Cisco Technology, Inc. System and method for managing flows in a mobile network environment
US8730297B2 (en) 2010-11-15 2014-05-20 Cisco Technology, Inc. System and method for providing camera functions in a video environment
US9338394B2 (en) 2010-11-15 2016-05-10 Cisco Technology, Inc. System and method for providing enhanced audio in a video environment
US8902244B2 (en) 2010-11-15 2014-12-02 Cisco Technology, Inc. System and method for providing enhanced graphics in a video environment
US9143725B2 (en) 2010-11-15 2015-09-22 Cisco Technology, Inc. System and method for providing enhanced graphics in a video environment
US8542264B2 (en) 2010-11-18 2013-09-24 Cisco Technology, Inc. System and method for managing optics in a video environment
US8723914B2 (en) 2010-11-19 2014-05-13 Cisco Technology, Inc. System and method for providing enhanced video processing in a network environment
US9111138B2 (en) 2010-11-30 2015-08-18 Cisco Technology, Inc. System and method for gesture interface control
USD682854S1 (en) 2010-12-16 2013-05-21 Cisco Technology, Inc. Display screen for graphical user interface
USD678308S1 (en) 2010-12-16 2013-03-19 Cisco Technology, Inc. Display screen with graphical user interface
USD678894S1 (en) 2010-12-16 2013-03-26 Cisco Technology, Inc. Display screen with graphical user interface
USD682293S1 (en) 2010-12-16 2013-05-14 Cisco Technology, Inc. Display screen with graphical user interface
USD682864S1 (en) 2010-12-16 2013-05-21 Cisco Technology, Inc. Display screen with graphical user interface
USD678320S1 (en) 2010-12-16 2013-03-19 Cisco Technology, Inc. Display screen with graphical user interface
USD678307S1 (en) 2010-12-16 2013-03-19 Cisco Technology, Inc. Display screen with graphical user interface
USD682294S1 (en) 2010-12-16 2013-05-14 Cisco Technology, Inc. Display screen with graphical user interface
US8692862B2 (en) 2011-02-28 2014-04-08 Cisco Technology, Inc. System and method for selection of video data in a video conference environment
EP2509315B1 (en) * 2011-04-04 2016-08-17 Nxp B.V. Video decoding switchable between two modes of inverse motion compensation
US8670019B2 (en) 2011-04-28 2014-03-11 Cisco Technology, Inc. System and method for providing enhanced eye gaze in a video conferencing environment
US8786631B1 (en) 2011-04-30 2014-07-22 Cisco Technology, Inc. System and method for transferring transparency information in a video environment
US8934026B2 (en) 2011-05-12 2015-01-13 Cisco Technology, Inc. System and method for video coding in a dynamic environment
US9781449B2 (en) * 2011-10-06 2017-10-03 Synopsys, Inc. Rate distortion optimization in image and video encoding
US9338463B2 (en) 2011-10-06 2016-05-10 Synopsys, Inc. Visual quality measure for real-time video processing
US8947493B2 (en) 2011-11-16 2015-02-03 Cisco Technology, Inc. System and method for alerting a participant in a video conference
US8682087B2 (en) 2011-12-19 2014-03-25 Cisco Technology, Inc. System and method for depth-guided image filtering in a video conference environment
CN103327284B (zh) * 2012-12-18 2018-11-06 南京中兴软件有限责任公司 无损视频的传输方法、装置及视频通讯系统
US9843621B2 (en) 2013-05-17 2017-12-12 Cisco Technology, Inc. Calendaring activities based on communication processing
US20140362927A1 (en) * 2013-06-07 2014-12-11 Apple Inc. Video codec flashing effect reduction
BR102015001999A2 (pt) * 2015-01-28 2019-02-26 De Souza Leite Pinho Mauro instrumento para comunicação virtual interativa
US10313675B1 (en) 2015-01-30 2019-06-04 Google Llc Adaptive multi-pass video encoder control
US11496747B2 (en) * 2017-03-22 2022-11-08 Qualcomm Incorporated Intra-prediction mode propagation
US10778938B2 (en) * 2018-12-20 2020-09-15 Hulu, LLC Video chunk combination optimization
CN109862362A (zh) * 2018-12-29 2019-06-07 深圳市网心科技有限公司 一种视频的mpeg2编码方法、系统、介质及设备
WO2021063308A1 (en) * 2019-10-03 2021-04-08 Huawei Technologies Co., Ltd. Coding process for geometric partition mode
WO2022222988A1 (en) * 2021-04-21 2022-10-27 Beijing Bytedance Network Technology Co., Ltd. Method, device, and medium for video processing
CN113132757B (zh) * 2021-04-21 2022-07-05 北京汇钧科技有限公司 数据处理方法和装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040114817A1 (en) * 2002-07-01 2004-06-17 Nikil Jayant Efficient compression and transport of video over a network

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5144424A (en) * 1991-10-15 1992-09-01 Thomson Consumer Electronics, Inc. Apparatus for video data quantization control
US6160846A (en) * 1995-10-25 2000-12-12 Sarnoff Corporation Apparatus and method for optimizing the rate control in a coding system
JP2001086512A (ja) 1999-09-14 2001-03-30 Nec Corp 可変ビットレート符号化装置
US20030215011A1 (en) * 2002-05-17 2003-11-20 General Instrument Corporation Method and apparatus for transcoding compressed video bitstreams
US7280700B2 (en) 2002-07-05 2007-10-09 Microsoft Corporation Optimization techniques for data compression
CN1206864C (zh) 2002-07-22 2005-06-15 中国科学院计算技术研究所 结合率失真优化的码率控制的方法及其装置
CN100594730C (zh) 2003-06-25 2010-03-17 汤姆森许可贸易公司 帧间的快速模式确定编码方法及其装置
JP2006080925A (ja) 2004-09-09 2006-03-23 Toshiba Corp 動画符号化装置、動画符号化方法および動画符号化プログラム
CA2508428A1 (fr) 2005-05-20 2006-11-20 Hydro-Quebec Detection, localisation et interpretation de decharge partielle

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040114817A1 (en) * 2002-07-01 2004-06-17 Nikil Jayant Efficient compression and transport of video over a network

Also Published As

Publication number Publication date
CN101622880B (zh) 2013-09-25
WO2008109471A1 (en) 2008-09-12
US20080212677A1 (en) 2008-09-04
CN101622880A (zh) 2010-01-06
TW200904197A (en) 2009-01-16
JP2010520714A (ja) 2010-06-10
KR20090123914A (ko) 2009-12-02
EP2132938B1 (en) 2015-06-10
US8594187B2 (en) 2013-11-26
JP5611601B2 (ja) 2014-10-22
EP2132938A1 (en) 2009-12-16

Similar Documents

Publication Publication Date Title
KR101058758B1 (ko) 제 2 패스 비디오 코딩에서의 효율적인 비디오 블록 모드 변경
CA2673875C (en) Variable length coding table selection based on block type statistics for refinement coefficient coding
US8873626B2 (en) Template matching for video coding
CA2665648C (en) Variable length coding table selection based on video block type for refinement coefficient coding
KR101135293B1 (ko) 비디오 블록 헤더 정보의 적응적 코딩
KR101056001B1 (ko) 코딩된 블록 패턴들에 대한 가변 길이 코딩 기술
KR101164038B1 (ko) 증대 계층의 스케일러블 비디오 코딩에서의 정제 계수와 유효 계수의 결합된 런렝스 코딩
US8311120B2 (en) Coding mode selection using information of other coding modes
KR101355332B1 (ko) 비디오 코딩에서 단방향성 예측 및 양방향성 예측을 위한 상이한 가중치들
KR101377883B1 (ko) 비디오 인코딩에서 넌-제로 라운딩 및 예측 모드 선택 기법들
EP3322184A1 (en) Non-zero rounding and prediction mode selection techniques in video encoding
KR20100137004A (ko) 비디오 코딩에서 레이트 제어를 위한 데드 존 파라미터 선택
KR20090104057A (ko) 다른 코딩 모드의 정보를 이용한 코딩 모드 선택

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160629

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180628

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190624

Year of fee payment: 9