[go: up one dir, main page]

KR100925968B1 - 컴퓨터 시스템에서 비디오 시퀀스의 복수의 비디오 화상을 처리하는 방법, 시스템 및 컴퓨터 판독가능 매체 - Google Patents

컴퓨터 시스템에서 비디오 시퀀스의 복수의 비디오 화상을 처리하는 방법, 시스템 및 컴퓨터 판독가능 매체 Download PDF

Info

Publication number
KR100925968B1
KR100925968B1 KR1020047009359A KR20047009359A KR100925968B1 KR 100925968 B1 KR100925968 B1 KR 100925968B1 KR 1020047009359 A KR1020047009359 A KR 1020047009359A KR 20047009359 A KR20047009359 A KR 20047009359A KR 100925968 B1 KR100925968 B1 KR 100925968B1
Authority
KR
South Korea
Prior art keywords
skipped
macroblocks
macroblock
video
delete delete
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Lifetime
Application number
KR1020047009359A
Other languages
English (en)
Other versions
KR20040068257A (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 KR20040068257A publication Critical patent/KR20040068257A/ko
Application granted granted Critical
Publication of KR100925968B1 publication Critical patent/KR100925968B1/ko
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/172Methods 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 picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/196Methods 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 being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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
    • 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/507Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction using conditional replenishment
    • 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/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
    • H04N19/513Processing of motion vectors
    • 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
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy
    • 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
    • H04N19/527Global motion vector estimation
    • 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/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness

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)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

이진 정보(예를 들면, 스킵된 매크로블록 정보)를 (예를 들면, 비디오 인코더/디코더에서) 인코딩하고 디코딩하기 위한 다양한 기술 및 도구들이 기재된다. 일부 실시에에서, 이진 정보는 비트 평면에 배열되고, 비트 평면은 화상/프레임 계층에서 코딩된다. 인코더 및 디코더는 이진 정보를 처리하고, 몇몇의 실시예에서는, 코딩 모드를 스위칭한다. 예를 들면, 인코더 및 디코더는 정상, 로우-스킵, 칼럼 스킵, 또는 차분 모드, 또는 다른 및/또는 추가 모드를 이용한다. 몇몇의 실시예에서, 인코더 및 디코더는 스킵된 매크로블록을 그 모션이 인과적으로 예측된 모션과 동일하고 제로 잔여 오차를 가지는 예측된 매크로블록으로 정의한다. 몇몇의 실시예에서, 인코더 및 디코더는 미처리 코딩 모드를 이용하여 대기 시간이 적은 애플리케이션을 허용한다.
매크로블록 코딩, 스킵, 이진 정보, 인코딩, 디코딩

Description

컴퓨터 시스템에서 비디오 시퀀스의 복수의 비디오 화상을 처리하는 방법, 시스템 및 컴퓨터 판독가능 매체{SKIP MACROBLOCK CODING}
<관련출원>
본 출원은 2001년 12월 17일 출원된, 제목이 "Techniques and Tools for video Encoding and Decoding"인, 미국 가특허출원 제60/341,674호에 기초하고 있으며, 그 내용이 참조로 포함된다. 본 출원은 또한, 2002년 5월 3일 출원된, 제목이 "Skip Macroblock Coding"인, 미국 가특허출원 제60/377,712호에 기초하고 있으며, 그 내용이 참조로 포함된다.
비디오 코딩/디코딩 애플리케이션에서 이진 정보를 인코딩/디코딩하기 위한 기술 및 도구들이 기재된다. 예를 들면, 비디오 인코더는 스킵된 매크로블록 정보를 인코딩한다.
디지털 비디오는 대량의 저장 및 송신 용량을 소비한다. 전형적인 미처리(raw) 디지털 비디오 시퀀스는 초당 15개 또는 30개의 프레임을 나타낸다. 각 프레임은 수만 또는 수백 만개의 화소(또는 펠(pel)로도 지칭됨)를 포함할 수 있다. 각 화소는 화상(picture)의 작은 요소를 표현한다. 미처리된 형태에서, 컴퓨터는 통상 하나의 화소를 24비트로 표시한다. 그러므로, 전형적인 미처리 디지털 비디오 시퀀스의 초당 비트수 또는 비트 레이트는 5백만 비트/초 이상이 될 수 있다.
대부분의 컴퓨터 및 컴퓨터 네트워크는 미처리된 디지털 비디오를 처리하기 위한 자원이 부족하다. 이 때문에, 엔지니어들은 디지털 비디오의 비트 레이트를 감소시키기 위해 (코딩 또는 인코딩이라고도 지칭되는) 압축을 이용한다. 압축은 무손실형(lossless)이 될 수 있는데, 이 경우 비디오의 품질은 나빠지지 않지만 비트 레이트의 감소는 비디오의 복잡도에 의해 제한된다. 또는, 압축은 손실형(lossy)이 될 수 있는데, 이 경우 비디오의 품질은 나빠지지만 비트 레이트는 보다 극적으로 감소한다. 압축 해제는 압축의 반대이다.
일반적으로, 비디오 압축 기술에서는 프레임내 압축 및 프레임간 압축을 포함한다. 프레임내 압축 기술은 통상 I-프레임 또는 키 프레임이라 불리는 개별적인 프레임들을 압축한다. 프레임간 압축 기술은 통상 예측 프레임, P-프레임 또는 B-프레임이라 불리는 이전 및/또는 이후 프레임을 참조하여 프레임을 압축한다.
마이크로소프트 사의 윈도우즈 미디어 비디오, 버전 7["WMV7"]은 비디오 인코더 및 비디오 디코더를 포함한다. WMV7 인코더는 프레임내 압축 및 프레임간 압축을 이용하고, WMV7 디코더는 프레임내 압축해제 및 프레임간 압축해제를 이용한다.
A. WMV7에서의 프레임내 압축
도 1은 WMV7 인코더에서의 키 프레임의 화소 블록(105)의 블록 기반 프레임내 압축(100)을 예시하고 있다. 블록은 화소 세트로서, 예를 들면, 8x8 화소 배열을 가지고 있다. WMV7 인코더는 키 비디오 프레임을 8x8 화소 블록들로 분할하고, 블록(105)과 같은 개별적인 블록에 8x8 이산 코사인 변환["DCT"](110)을 적용한다. DCT는 8x8 화소 블록(공간 정보)을 주파수 정보인 8x8 DCT 계수 블록(115)으로 변환하는 주파수 변환 타입이다. DCT 연산 자체는 무손실형이거나 거의 무손실형이다. 그러나, 원래의 화소값들과 비교하면, 대부분의 중요한 정보는 저주파 계수(통상, 블록(115)의 상부 좌측)에 집중되고 다수의 고주파 계수들(통상, 블록(115)의 하부 우측)은 제로 또는 제로에 근접한 값을 가지므로, 인코더가 압축을 하는데는 DCT 계수들이 더 효율적이다.
그리고나서, 인코더는 DCT 계수를 양자화하고(120), 결과적으로 양자화된 8x8 DCT 계수 블록(125)을 얻는다. 예를 들면, 인코더는 각 계수에 균일한 스칼라 양자화 스텝 사이즈를 적용하는 것으로, 이는 각 계수를 동일한 값으로 나누고 반올림한 것과 같다. 예를 들면, DCT 계수 값이 163이고 스텝 사이즈가 10이라면, 양자화된 DCT 계수 값은 16이다. 양자화는 손실형이다. 재구성된 DCT 계수값은 163이 아니라 160일 것이다. 저주파 DCT 계수는 더 높은 값을 가지는 경향이 있으므로, 양자화는 정밀도를 손실시키지만 계수에 대한 정보를 완전히 손실시키지는 않는다. 반면에, 고주파 DCT 계수는 제로 또는 제로에 가까운 값을 가지는 경향이 있으므로, 고주파 계수의 양자화는 통상 연속적인 제로 값 영역을 발생시킨다. 뿐만 아니라, 어떤 경우에는, 고주파 DCT 계수가 저주파 DCT 계수보다 더 정밀하지 않게 양자화되어, 고주파 DCT 계수에 대해서의 정밀도/정보의 손실이 더 커지게 된다.
그리고나서, 인코더는 무손실형 압축 형태인 엔트로피 인코딩을 위해, 양자화된 8x8 DCT 계수 블록(125)을 준비한다. 정확한 엔트로피 인코딩의 타입은 계수가 DC 계수(최저 주파수)인지, 상부 로우 또는 좌측 칼럼의 AC 계수(다른 주파수)인지, 또 다른 AC 계수인지 여부에 따라 가변될 수 있다.
인코더는 인코딩되는 블록의 이전에 인코딩된 이웃(예를 들면, 상부 또는 좌측)인 인접하는 8x8 블록의 DC 계수(136)와의 차분으로서 DC 계수(126)를 인코딩한다. (도 1은 프레임의 인코딩되는 블록의 좌측에 위치한 인접 블록(135)을 도시하고 있다.) 인코더는 그 차분을 엔트로피 인코딩한다(140).
엔트로피 인코더는 인접하는 8x8 블록의 대응하는 칼럼 또는 로우로부터 차분으로서 AC 계수의 좌측 칼럼 또는 상부 로우를 인코딩할 수 있다. 도 1은 (좌측에) 인접하는 블록(135)의 좌측 칼럼(137)으로부터의 차분(differential)(147)으로서 인코딩된 AC 계수의 좌측 칼럼(127)을 도시하고 있다. 차분 코딩은 차분 계수가 제로값이 될 가능성을 높여 준다. 잔여 AC 계수는 양자화된 DCT 계수 블록(125)이 그 출처이다.
인코더는 예측되고 양자화된 AC DCT 계수의 8x8 블록(145)을 1차원 어레이(155)로 스캐닝한 후(150), 런 렝스 코딩(run length coding, 160)의 변동을 이용하여, 스캐닝된 AC 계수들을 엔트로피 인코딩한다. 인코더는 하나 이상의 런/레벨/최종 테이블(165)로부터 엔트로피 코드를 선택하고, 이 엔트로피 코드를 출력한다.
키 프레임은 예측 프레임보다 비트 레이트에 훨씬 더 많은 영향을 미친다. 낮거나 중간 비트 레이트 애플리케이션에서, 키 프레임은 종종 성능에 있어서 결정적인 병목(bottleneck)이 되기 때문에, 키 프레임의 효율적인 압축이 중요하다.
도 2는 도 1에 도시된 것과 같은 프레임내 압축의 단점을 예시하고 있다. 구체적으로, 키 프레임 블록들간의 리던던시(redundancy)의 활용은 블록(210)의 좌측(220) 또는 상부(230)의 인접 블록으로부터의 주파수 계수의 서브셋(예를 들면, DC 계수 및 AC 계수의 좌측 칼럼(또는 상부 로우))의 예측으로 제한된다. DC 계수는 블록의 평균을 나타내고, AC 계수의 좌측 칼럼은 블록의 로우의 평균을 나타내며, 상부 로우는 칼럼의 평균을 나타낸다. 실제로, WMV7에서와 같이 DC 및 AC 계수의 예측은 좌측(또는 상부) 인접 블록의 로우 단위(또는 칼럼 단위) 평균 신호로 외삽법(extrapolation)을 제한한다. 좌측 블록(220)의 특정 로우(221)에 대해, 좌측 블록(220)에 대한 좌측 DCT 계수 칼럼의 AC 계수들은 블록(210)의 전체 대응하는 로우(211)를 예측하는데 이용된다.
B. WMV7에서의 프레임간 압축
WMV7 인코더에서 프레임간 압축은 블록 기반 모션(motion) 보상된 예측 코딩과, 그에 이어지는 잔여(residual) 오차의 변환 코딩을 이용한다. 도 3 및 도 4는 WMV7 인코더에서의 예측 프레임에 대한 블록 기반 프레임간 압축을 예시하고 있다. 구체적으로, 도 3은 예측 프레임(310)에 대한 모션 추정을 예시하고 있고, 도 4는 예측 프레임의 모션-추정된 블록에 대한 예측 잔여의 압축을 예시하고 있다.
WMV7 인코더는 예측 프레임을 8x8 화소 블록으로 분할한다. 4개의 8x8 블록의 그룹이 매크로블록을 형성한다. 각 매크로블록에 대해, 모션 추정 프로세스가 수행된다. 모션 추정은 기준 프레임, 예를 들면, 앞서 코딩된 앞선 프레임에 대한 화소들의 매크로블록의 모션의 근사치를 구한다. 도 3에서, WMV7 인코더는 예측 프레임(310)의 매크로블록(315)에 대한 모션 벡터를 계산한다. 모션 벡터를 계산하기 위해, 인코더는 기준 프레임(330)의 탐색 영역(335)을 탐색한다. 탐색 영역(335) 내에서, 인코더는 예측 프레임(310)으로부터의 매크로블록(315)과 다양한 후보 매크로블록을 비교하여, 바람직한 매칭이 되는 후보 매크로블록을 찾는다. 인코더는 인코더에 대한 원하는 모션 추정 해상도에 따라, 탐색 영역(335) 내의 매 화소마다 또는 매 1/2 화소마다 후보 매크로블록을 체크할 수 있다. 다른 비디오 인코더는 다른 증분, 예를 들면 매 1/4 화소마다 체크한다. 소정 후보 매크로블록에 대해, 인코더는 예측 프레임(310)의 매크로블록(335)과 후보 매크로블록간의 차분, 및 그 매크로블록에 대한 모션 벡터 인코딩 비용을 체크한다. 인코더가 바람직한 매칭 매크로블록을 발견한 후에는, 블록 매칭 프로세스가 종료한다. 인코더는 디코더가 디코딩 동안에 매칭 매크로블록을 찾을 수 있도록 매칭 매크로블록에 대한 (엔트로피 코딩된) 모션 벡터를 출력한다. 예측 프레임(310)을 디코딩할 때, 디코더는 기준 프레임(330)으로부터의 정보를 이용하여 매크로블록(315)에 대한 예측 매크로블록을 계산하는 데에 모션 벡터를 이용한다. 매크로블록(315)에 대한 예측은 좀처럼 완벽하지 않아서, 인코더는 통상 예측 매크로블록과 매크로블록(315) 자체간의 8x8 화소 차분 블록(오차 또는 잔여 블록이라고도 지칭됨)을 인코딩한다.
도 4는 WMV 인코더에서의 모션 추정된 블록에 대한 오차 블록(435)의 계산 및 인코딩을 예시하고 있다. 오차 블록(435)은 예측된 블록(415)과 원래의 현재 블록(425)간의 차이이다. 인코더는 오차 블록(435)에 DCT(440)를 적용하여, 결과적으로 8x8 계수 블록(445)이 된다. 화소값의 DCT 계수의 경우에 적용된 것보다 더 심하게, 오차 블록(435)에 대한 중요한 정보가 저주파 계수(통상, 블록(445)의 상부 좌측)에 집중되고, 다수의 고주파 계수(통상, 블록(445)의 하부 우측)는 제로 또는 제로에 가까운 값을 가진다.
그리고나서, 인코더는 DCT 계수를 양자화하고(450), 결과적으로 8x8 양자화된 DCT 계수 블록(455)이 된다. 양자화 스텝 사이즈는 조정가능하다. 또한, 저주파 DCT 계수는 더 높은 값들을 가지는 경향이 있으므로, 양자화는 정밀도를 손실시키지만 계수에 대한 정보를 완전히 손실시키지는 않는다. 반면에, 고주파 DCT 계수는 제로 또는 제로에 가까운 값을 가지는 경향이 있으므로, 고주파 계수의 양자화는 연속적인 제로 값의 영역을 발생시킨다. 뿐만 아니라, 어떤 경우에는, 고주파 DCT 계수가 저주파 DCT 계수보다 더 정밀하지 않게 양자화되고, 따라서 고주파 DCT 계수에 대해서의 정밀도/정보의 손실이 더 커지게 된다.
그리고나서, 인코더는 엔트로피 인코딩을 위해 양자화된 8x8 DCT 계수 블록(455)을 준비한다. 인코더는 8x8 블록(455)을 64개의 요소를 가지는 1차원 어레이(465)로 스캐닝하여(460), 계수들이 일반적으로 최저 주파수로부터 최고 주파수 순서로 정렬되고, 이로 인하여 통상 제로 값으로 된 롱 런(long run)들을 생성하도록 한다.
인코더는 런 렝스 코딩(470)의 변동을 이용하여, 스캐닝된 계수들을 엔트로피 인코딩한다. 인코더는 하나 이상의 런/레벨/최종 테이블(475)로부터 엔트로피 코드를 선택하고, 엔트로피 코드를 출력한다.
매크로블록에 대한 모션 벡터가 제로이고(즉, 모션이 없음) 매크로블록에 대해 어떠한 잔여 블록 정보도 송신되지 않는 경우, 인코더는 그 매크로블록에 대해 1-비트의 스킵(skip) 매크로블록 플래그(flag)를 이용한다. 이는, 다수 종류의 비디오 컨텐츠(예를 들면, 낮은 모션 및/또는 낮은 비트 레이트의 비디오)에 대해, 모션 벡터 및 잔여 블록 정보의 송신을 하지 않음으로써 비트 레이트를 감소시킨다. 인코더는 매크로블록에 대한 다른 정보와 함께, 매크로블록 계층에서 매크로블록에 대한 스킵 매크로블록 플래그를 출력 비트스트림에 포함시킨다.
도 5는 프레임간 코딩된 블록에 대한 디코딩 프로세스(500)를 도시하고 있다. DCT 계수의 양자화로 인해, 재구성된 블록(575)은 대응하는 원래의 블록과 동일하지는 않는다. 압축은 손실형이다.
도 5를 요약하면, 디코더는 예측 잔여를 나타내는 엔트로피-코딩된 정보를 가변 길이 디코딩 및 하나 이상의 런/레벨/최종 테이블(515)을 이용하여 디코딩한다(510, 520). 디코더는 엔트로피 디코딩된 정보를 저장한 1차원 어레이(525)를 2차원 블록(535)으로 역 스캐닝한다(530). 디코더는 데이터를 역 양자화하고 역 이산 코사인 변환을 수행하여(모두, 540), 결과적으로 재구성된 오차 블록(545)이 생성된다. 별도의 경로로, 디코더는 기준 프레임으로부터의 변위에 대한 모션 벡터 정보(555)를 이용하여 예측된 블록(565)을 계산한다. 디코더는 예측된 블록(555)과 재구성된 오차 블록(545)을 조합하여(570), 재구성된 블록(575)을 형성한다.
디코더가 소정 매크로블록에 대하여 스킵 매크로블록 플래그를 수신할 때, 디코더는 이 매크로블록에 대한 예측치 계산 및 잔여 블록 정보 디코딩을 스킵한다. 그 대신에, 디코더는 기준 프레임에서의 매크로블록의 위치으로부터의 대응하는 화소 데이터를 이용한다.
본래의 프레임과 재구성된 프레임 간의 변화량은 왜곡(distortion)이라 칭하고, 프레임을 코딩하는데 필요한 비트 수는 레이트(rate)로 칭한다. 왜곡량은 레이트에 대략 반비례한다. 환언하면, 더 적은 비트로(더 큰 압축률로) 프레임을 코딩하면, 왜곡이 커지는 결과를 초래하게 되고, 반대로 더 많은 비트로 프레임을 코딩하면 왜곡은 작아지게 될 것이다. 비디오 압축 방식의 목적들 중 하나는 레이트-왜곡을 개선하고자 하는 것이고, 환언하면 보다 적은 비트를 이용하여 동일한 왜곡(또는 동일한 비트로 보다 작은 왜곡)이 발생하게 하는 것이다.
WMV7에서의 스킵 매크로블록 플래그를 이용하면 통상 다수 종류의 비디오 컨텐츠에 대한 비트 레이트가 감소되지만, 어떤 경우에서는 최적이라고는 할 수 없다. 다수의 경우에, 예를 들면 스킵된 매크로블록이 화상에서 다발로 발생할 때, 매크로블록 간의 스킵 매크로블록 플래그의 리던던시를 활용할 수 없다. 또한, WMV7은, 예측 프레임의 매크로블록이 스킵될 때 이 매크로블록에 대한 모션 예측을 무시하는데, 이는 어떤 경우에는 예측 프레임의 압축 효율을 떨어뜨린다.
C. 비디오 압축 및 압축 해제의 표준
WMV7 외에도, 몇 가지 국제적 표준들이 비디오 압축 및 압축 해제에 관련된다. 이들 표준들은 동화상 전문가 그룹["MPEG"] 1, 2, 및 4 표준, 및 국제 통신 협회["ITU"]의 H.261, H.262, 및 H.263 표준을 포함한다. WMV7과 마찬가지로, 이들 표준들은 프레임내 압축 및 프레임간 압축의 조합을 이용하지만, 통상적으로 그 이용되는 압축 기술의 세부 내용에서는 WMV7과 다르다.
일부 국제 표준들은 매크로블록의 스킵핑 코딩을 비디오 압축 및 압축 해제에 이용되는 도구로서 인식한다. 각 표준에서의 스킵 매크로블록 코딩에 관한 추가적인 세부 사항에 대해서는, 이들 표준들의 스펙에 기재되어 있다.
상기 표준들에서의 스킵된 매크로블록 코딩은 통상 다수 종류의 비디오 컨텐츠에 대한 비트 레이트를 줄여주지만, 어떤 경우에서는 최적이라고는 할 수 없다. 다수의 경우에, 예를 들면, 스킵된 매크로블록이 화상에서 다발로 발생할 때, 매크로블록 간의 스킵 매크로블록 플래그의 리던던시를 활용할 수 없다. 또한, 이러한 표준들은 예측된 매크로블록/화상의 매크로블록이 스킵될 때, 이 매크로블록에 대한 모션 예측을 무시하는데, 이는 어떤 경우에는 예측된 매크로블록/화상의 압축 효율을 떨어뜨린다.
디지털 비디오에 대한 비디오 압축 및 압축 해제가 매우 중요하므로, 비디오 압축 및 압축 해제가 많이 개발되어 오고 있는 분야라는 것은 놀랄만한 것이 아니다. 그러나, 종래의 비디오 압축 및 압축해제 기술의 장점이 무엇이든지 간에, 이들은 이하의 기술과 도구의 장점을 가지지는 못한다.
요약하면, 이 상세한 설명은 (예를 들면, 비디오 인코더/디코더에서) 이진 정보를 인코딩 및 디코딩하기 위한 다양한 기술 및 도구에 관한 것이다. 이진 정보는 비디오 인코더 또는 디코더가 비디오 프레임의 특정 매크로블록을 스킵하는지 여부를 나타내는 비트를 포함할 수 있다. 또는, 이진 정보는 매크로블록에 대한 모션 벡터 해상도(예를 들면, 1-MV 또는 4-MV), 비월주사(interlace) 모드(예를 들면, 필드 또는 프레임), 또는 몇몇 다른 정보를 나타내는 비트들을 포함할 수 있다. 이진 정보는 프레임 단위 또는 몇몇의 다른 단위로 인코딩될 수 있다.
몇몇의 실시예들에서, 이진 정보는 비트 평면(bit plane)에 배열된다. 예를 들면, 비트 평면은 화상/프레임 계층에서 코딩된다. 다르게는, 이진 정보는 몇몇의 다른 방식으로 배열되거나 서로 다른 계층에서 코딩된다. 인코더 및 디코더가 이 이진 정보를 처리한다. 이진 정보는 매크로블록-레벨 정보를 포함할 수 있다. 다르게는, 인코더 및 디코더는 블록-레벨, 하위-블록-레벨, 또는 화소-레벨 정보의 비트 평면을 처리한다.
몇몇의 실시예에서, 인코더 및 디코더는 코딩 모드를 스위칭(switch)한다. 예를 들면, 인코더 및 디코더는 정상 모드, 로우-스킵 모드 또는 칼럼-스킵 모드를 이용한다. 서로 다른 모드로 인해 인코더 및 디코더는 이진 정보의 리던던시를 활용할 수 있게 된다. 다르게는, 인코더 및 디코더는 차분 모드 등의, 다른 및/또는 추가 모드를 이용한다. 효율을 증가시키기 위해, 인코더 및 디코더는 일부 모드에서 비트 평면 반전 기술을 이용할 수 있다.
몇몇의 실시예에서, 인코더 및 디코더는 스킵된 매크로블록을 그 모션이 인과적으로 예측된 모션과 동일하고 제로 잔여 오차를 가지는 예측 매크로블록으로서 정의한다. 다르게는, 인코더 및 디코더는 스킵된 매크로블록을 제로 모션 및 제로 잔여 오차를 가지는 예측된 매크로블록으로서 정의한다.
몇몇의 실시예에서, 인코더 및 디코더는 미처리 코딩 모드를 이용하여 대기시간이 적은 애플리케이션을 허용한다. 예를 들면, 미처리 코딩 모드에서, 인코딩된 매크로블록은 프레임/화상의 모든 매크로블록이 인코딩될 때까지 기다릴 필요없이 디코더에 바로 송신될 수 있다. 인코더 및 디코더는 미처리 코딩 모드와 다른 모드 간에 스위칭할 수 있다.
다양한 기술 및 도구들이 결합하여 또는 독립적으로 이용될 수 있다. 구체적으로는, 본원은 스킵된 매크로블록 인코딩 및 디코딩의 2가지 구현과, 대응하는 비트스트림 구문을 기재하고 있다. 다른 실시예들은 기재된 기술 및 도구들 중 하나 이상을 구현한다.
추가적인 특징 및 이점들은 첨부된 도면을 참조하여 진행되는 다른 실시예들의 이하의 상세한 설명으로부터 명백하게 될 것이다.
도 1은 종래 기술에 따른 8x8 화소 블록의 블록 기반 프레임내 압축을 도시한 도면.
도 2는 종래 기술에 따른 주파수 계수의 예측을 도시한 도면.
도 3은 종래 기술에 따른 비디오 인코더에서의 모션 추정을 도시한 도면.
도 4는 종래 기술에 따른 비디오 인코더에서의 8x8 예측 잔여 블록에 대한 블록 기반 프레임간 압축을 도시한 도면.
도 5는 종래 기술에 따른 8x8 예측 잔여 블록에 대한 블록 기반 프레임간 압축해제를 도시한 도면.
도 6은 몇몇의 기재된 실시예들이 구현될 수 있는 적절한 컴퓨팅 환경의 블록도.
도 7은 몇몇의 기재된 실시예에서 이용되는 일반적인 비디오 인코더 시스템의 블록도.
도 8은 몇몇의 기재된 실시예에서 이용되는 일반적인 비디오 디코더 시스템의 블록도.
도 9는 제1 구현에 따라 P 화상 계층을 구성하는 비트스트림 요소를 도시한 차트.
도 10은 복수의 스킵 매크로블록 코딩 모드를 가지는 비디오 인코더에서 스킵된 매크로블록 정보를 인코딩하기 위한 기술을 도시한 플로우 차트.
도 11은 복수의 스킵-매크로블록 코딩 모드를 가지는 비디오 인코더에 의해 인코딩된 스킵된 매크로블록 정보를 디코딩하기 위한 기술을 도시한 플로우 차트.
도 12는 스킵된 매크로블록 코딩 프레임의 예를 도시한 도면.
도 13은 정상 스킵-매크로블록 코딩 모드에서 인코딩하기 위한 기술을 도시한 플로우 차트.
도 14는 로우-예측 스킵-매크로블록 코딩 모드에서 인코딩하기 위한 기술을 도시한 플로우 차트.
도 15는 스킵된 매크로블록 정보의 로우-예측 디코딩을 위한 의사-코드를 나타낸 코드 리스팅.
도 16은 칼럼-예측 스킵-매크로블록 코딩 모드에서 인코딩하기 위한 기술을 도시한 플로우 차트.
도 17은 스킵된 매크로블록 정보의 칼럼-예측 디코딩을 위한 의사-코드를 나타낸 코드 리스팅.
도 18은 비디오 인코더에서 특정 매크로블록의 코딩을 스킵할지 여부를 판정하기 위한 기술을 도시한 플로우 차트.
도 19는 로우-스킵 코딩 모드에서 비트 평면의 이진 정보를 인코딩하기 위한 기술을 도시한 플로우 차트.
도 20은 칼럼-스킵 코딩 모드에서 비트 평면의 이진 정보를 인코딩하기 위한 기술을 도시한 플로우 차트.
도 21은 정상-2 코딩 모드에서 비트 평면의 이진 정보를 인코딩하기 위한 기술을 도시한 플로우 차트.
도 22, 23 및 24는 정상-6 모드에서 타일화된 이진 정보의 프레임의 예를 도시하는 도면.
도 25는 정상-6 코딩 모드에서 비트 평면의 이진 정보를 인코딩하기 위한 기술을 도시한 플로우 차트.
도 26은 차분 코딩 모드에서 이진 정보를 인코딩하기 위한 기술을 도시한 플로우 차트.
도 27은 차분 코딩 모드에서 인코딩된 이진 정보를 디코딩하기 위한 기술을 도시한 플로우 차트.
도 28은 대기 시간이 적은 애플리케이션에 대한 미처리 코딩 모드에서 이진 정보를 선택적으로 인코딩하기 위한 기술을 도시한 플로우 차트.
기재된 실시예들은 (예를 들면, 비디오 인코더/디코더에서) 이진 정보를 인코딩 및 디코딩하기 위한 기술 및 도구에 관한 것이다. 이진 정보는 비디오 인코더 또는 디코더가 비디오 프레임의 특정 매크로블록을 스킵하는지 여부를 나타내는 비트를 포함할 수 있다. 또는, 이진 정보는 매크로블록에 대한 모션 벡터 해상도(예를 들면, 1-MV 또는 4-MV), 비월주사 모드(예를 들면, 필드 또는 프레임), 또는 몇몇 다른 정보를 나타내는 비트들을 포함할 수 있다. 이진 정보는 프레임 단위 또는 몇몇의 다른 단위로 인코딩될 수 있다.
몇몇의 실시예들에서, 이진 정보는 비트 평면에 배열된다. 비트 평면은 화상/프레임 계층에서 코딩된다. 다르게는, 이진 정보는 몇몇의 다른 방식으로 배열되거나 서로 다른 계층에서 코딩된다.
몇몇의 실시예에서, 인코더 및 디코더는 코딩 모드를 스위칭한다. 예를 들면, 인코더 및 디코더는 정상 모드, 로우-스킵 모드 또는 칼럼-스킵 모드를 이용한다. 서로 다른 모드로 인해 인코더 및 디코더는 이진 정보의 리던던시를 활용할 수 있게 된다. 다르게는, 인코더 및 디코더는 다른 모드 및/또는 추가 모드를 이용한다.
몇몇의 실시예에서, 인코더 및 디코더는 스킵된 매크로블록을 그 모션이 인과적으로 예측된 모션과 동일하고 제로인 잔여 오차를 가지는 예측 매크로블록으로서 정의한다. 다르게는, 인코더 및 디코더는 스킵된 매크로블록을 제로 모션 및 제로 잔여 오차를 가지는 예측된 매크로블록으로서 정의한다.
몇몇의 실시예에서, 효율적인 프레임/화상 레벨의 코딩 대신에, 미처리 코딩 모드가 허용되어, 대기 시간이 적은 애플리케이션을 허용한다. 미처리 코딩 모드에서, 인코딩된 매크로블록은 프레임/화상의 모든 매크로블록이 인코딩될 때까지 기다릴 필요없이 디코더에 바로 송신될 수 있다.
몇몇의 실시예에서, 인코더 및 디코더는 매크로블록 레벨 정보의 비트 평면을 처리한다. 다르게는, 인코더 및 디코더는 블록 레벨, 하위 블록 레벨 또는 화소 레벨 정보의 비트 평면을 처리한다.
다양한 기술 및 도구들이 결합하여 또는 독립적으로 이용될 수 있다. 구체적으로, 본원은 스킵된 매크로블록 인코딩 및 디코딩의 2가지 구현과, 대응하는 비트스트림 구문을 기재하고 있다. 다른 실시예들은 기재된 기술 및 도구들 중 하나 이상을 구현한다.
기재된 실시예에서, 비디오 인코더 및 디코더는 다양한 기술을 수행한다. 이들 기술을 위한 동작은 제시를 위해 통상적으로 특정한 순차적 순서로 기재되어 있지만, 특정한 순서 결정이 요구되지 않는다면 이러한 기재의 방식은 이러한 동작 순서로 재배치하는 것은 사소한 것이라고 수용함을 이해해야 한다. 예를 들면, 순차적으로 기재된 동작들은 어떤 경우에는 재배치되거나 동시에 수행될 수 있다. 더구나, 단순화를 위해, 플로우 차트들은 특정 기술이 다른 기술과 관련하여 이용될 수 있는 각종 방식을 보여주지 않는다.
기재된 실시예에서, 비디오 인코더 및 디코더는 비트스트림의 다양한 플래그 및 신호를 이용한다. 특정 플래그 및 신호가 기재되어 있지만, 이러한 기재 방식은 플래그 및 신호에 대한 다른 관례(예를 들면, 1이 아니고 0)를 포함한다는 것을 이해해야 한다.
Ⅰ. 컴퓨팅 환경
도 6은 몇몇의 기재된 실시예들이 구현되기에 적합한 컴퓨팅 환경(600)의 일반적인 예를 예시하고 있다. 기술 및 도구들은 다양한 범용 또는 특수 목적 컴퓨팅 환경에서 구현될 수 있으므로, 컴퓨팅 환경(600)은 그 용도 또는 기능성의 범위에 관해 어떠한 제한도 암시하려는 것은 아니다.
도 6을 참조하면, 컴퓨팅 환경(600)은 적어도 하나의 프로세싱 장치(610) 및 메모리(620)를 포함한다. 도 6에서, 이러한 가장 기본적인 구성(630)은 점선 내에 포함된다. 프로세싱 장치(610)는 컴퓨터 실행가능한 명령어를 실행하고 실제 또는 가상 프로세서일 수 있다. 멀티 프로세싱 시스템에서, 멀티 프로세싱 장치는 컴퓨터 실행가능한 명령어를 실행하여 처리력을 향상시킨다. 메모리(620)는 휘발성 메모리(예를 들면, 레지스터, 캐시, RAM), 비휘발성 메모리(예를 들면, ROM, EEPROM, 플래시 메모리, 등), 또는 이들의 몇몇의 조합일 수 있다. 메모리(620)는 비디오 인코더 또는 디코더와 같은 인코더 또는 디코더를 구현하는 소프트웨어(680)를 저장한다.
컴퓨팅 환경은 추가의 특징들을 가질 수 있다. 예를 들면, 컴퓨팅 환경(600)은 저장 장치(640), 하나 이상의 입력 장치(650), 하나 이상의 출력 장치(660), 및 하나 이상의 통신 접속(670)을 포함한다. 버스, 컨트롤러 또는 네트워크와 같은 상호접속 메커니즘(도시되지 않음)은 컴퓨팅 환경(600)의 컴포넌트드을 상호 접속시킨다. 통상, 운영 체제 소프트웨어(도시되지 않음)는 컴퓨팅 환경(600)에서 실행되는 다른 소프트웨어에 운영 환경을 제공하고, 컴퓨팅 환경(600)의 컴포넌트의 동작을 조정한다.
저장 장치(640)는 이동식 또는 비이동식일 수 있고, 자기 디스크, 자기 테이프 또는 카세트, CD-ROM, DVD, 또는 정보를 저장하는데 이용될 수 있고 컴퓨팅 환경(600) 내에서 액세스될 수 있는 임의의 기타 매체를 포함한다. 저장 장치(640)는 인코더 또는 디코더를 구현하는 소프트웨어(680)용 명령어를 저장한다.
입력 장치(들)(650)는 키보드, 마우스, 펜, 또는 트랙볼과 같은 터치 입력 장치, 음성 입력 장치, 스캐닝 장치, 또는 컴퓨팅 환경(600)에 입력을 제공하는 기타 장치일 수 있다. 오디오 또는 비디오 인코딩에 대해, 입력 장치(들)(650)는 사운드 카드, 비디오 카드, TV 튜너 카드, 또는 오디오 또는 비디오 입력을 아날로그 또는 디지털 형태로 수용하는 유사한 장치, 또는 오디오 또는 비디오 샘플을 컴퓨팅 환경(600)으로 읽어 들이는 CD-ROM 또는 CD-RW일 수 있다. 출력 장치(들)(660)는 디스플레이, 프린터, 스피커, CD-라이터(writer), 또는 컴퓨팅 환경(600)으로부터 출력을 제공하는 기타 장치일 수 있다.
통신 접속(들)(670)은 통신 매체를 통한 다른 컴퓨팅 실체와의 통신을 할 수 있게 해준다. 통신 매체는 피변조 데이터 신호로 된 컴퓨터 실행가능 명령어, 오디오 또는 비디오 입력 또는 출력, 또는 기타 데이터와 같은 정보를 전송한다. 피변조 데이터 신호는 해당 신호로 정보를 인코딩하도록 그 신호의 특성들 중 하나 이상을 설정 또는 변경시킨 신호이다. 예를 들면, 통신 매체는 전기적, 광학적, RF, 적외선, 음향 또는 다른 반송파로 구현되는 유선 또는 무선 기술을 포함하지만, 이들로 제한되지 않는다.
기술 및 도구들은 컴퓨터 판독가능한 매체와 일반적으로 관련하여 기술될 수 있다. 컴퓨터 판독가능한 매체는 컴퓨팅 환경 내에서 액세스가능한 매체는 그 어떤 것이든지 컴퓨터 판독가능 매체가 될 수 있다. 예를 들어, 컴퓨팅 환경(600)에서는, 컴퓨터 판독가능한 매체는 메모리(620), 저장 장치(640), 통신 매체, 및 상기의 것들의 임의의 조합을 포함하지만, 이들로 제한되지 않는다.
기술 및 도구들은, 예를 들면, 대상이 되는 실제 프로세서 또는 가상 프로세서 상의 컴퓨팅 환경에서 실행되는, 프로그램 모듈에 포함되어 있는 컴퓨터 실행가능 명령어와 일반적으로 관련하여 기술될 수 있다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상적인 데이터 타입을 구현하는 루틴, 프로그램, 라이브러리, 객체, 클래스, 컴포넌트, 데이터 구조 등을 포함한다. 프로그램 모듈의 기능성은 다양한 실시예에서 프로그램 모듈 간에 원하는 대로 결합되거나 분리될 수 있다. 프로그램 모듈에 대한 컴퓨터 실행가능 명령어는 로컬 또는 분산 컴퓨팅 환경 내에서 실행될 수 있다.
제시를 위해, 상세한 설명은 컴퓨팅 환경에서의 컴퓨터 동작을 기술하는 데에 "결정하다","선택하다","재구성하다", 및 "통지하다" 등의 용어를 이용한다. 이들 용어들은 컴퓨터에 의해 수행되는 동작에 대한 포괄적인 수준의 추상화이며, 사람이 하는 행동과 혼동되어서는 안 된다. 이들 용어에 대응하는 실제 컴퓨터 동작은 구현에 따라 변할 수 있다.
Ⅱ. 일반적인 비디오 인코더 및 디코더
도 7은 일반적인 비디오 인코더(700)의 블록도이고 도 8은 일반적인 비디오 디코더(800)의 블록도이다.
인코더 및 디코더 내의 모듈 간에 도시된 관계들은 인코더 및 디코더에서의 정보의 주된 플로우를 나타내고, 다른 관계들은 간단히 하기 위하여 나타내지 않는다. 특히, 도 7 및 도 8은 비디오 시퀀스, 프레임, 매크로블록, 블록 등에 이용되는 인코더 설정, 모드, 테이블, 등을 나타내는 부가(side) 정보도 일반적으로 도시하지 않는다. 그러한 부가 정보는, 통상적으로 부가 정보의 엔트로피 인코딩 이후에, 출력 비트스트림으로 전송된다. 출력 비트스트림의 포맷은 윈도우즈 미디어 비디오 버전 8 포맷 또는 기타 포맷이 될 수 있다.
인코더(700) 및 디코더(800)는 블록 기반이고, 각 매크로블록이 4개의 8x8 휘도 블록(때때로, 하나의 16x16 매크로블록으로서 취급됨) 및 2개의 8x8 색차 블록을 포함하는 4:2:0 매크로블록을 이용한다. 다르게는, 인코더(700) 및 디코더(800)는 객체 지향형이며, 다른 매크로블록 또는 블록 포맷을 이용하거나, 8x8 블록 및 16x16 매크로블록과는 다른 사이즈 또는 구성인 화소 세트로 동작을 수행한다.
원하는 압축 타입 및 구현에 따라, 인코더 또는 디코더의 모듈들이 추가되고, 생략되며, 복수 개의 모듈로 나뉘어지고, 다른 모듈과 결합되거나, 유사한 모듈로 대체될 수 있다. 다른 실시예에서, 다른 모듈 및/또는 다른 모듈 구성을 가지는 인코더 또는 디코더는 기재된 기술들 중 하나 이상을 수행한다.
A. 비디오 인코더
도 7은 일반적인 비디오 인코더 시스템(700)의 블록도이다. 인코더 시스템(700)은 현재 프레임(705)을 포함하는 비디오 프레임 시퀀스를 수신하고, 출력으로서 압축된 비디오 정보(795)를 생성한다. 특정 비디오 인코더의 실시예는 통상 일반적인 인코더(700)의 변형물 또는 추가된 버전을 이용한다.
인코더 시스템(700)은 예측 프레임 및 키 프레임을 압축한다. 제시를 위해, 도 7은 인코더 시스템(700) 전반에 걸친 키 프레임의 경로 및 앞선 예측 프레임의 경로를 도시하고 있다. 인코더 시스템(700)의 다수의 컴포넌트들은 키 프레임 및 예측 프레임 모두를 압축하는데 이용된다. 이들 컴포넌트에 의해 수행되는 정확한 동작은 압축되는 정보의 타입에 따라 달라질 수 있다.
예측 프레임[또한 p-프레임, 양방향 예측에서는 b-프레임, 또는 프레임간-코딩된 프레임이라 칭함]은 하나 이상의 다른 프레임으로부터의 예측(또는 차분)에 의하여 제시된다. 예측 잔여는 예측되었던 것과 본래 프레임간의 차분이다. 이에 반해, 키 프레임[또한 i-프레임, 프레임내-코딩된 프레임이라 칭함]은 다른 프레임을 참조하지 않고 압축된다.
현재 프레임(705)이 앞선 예측 프레임이라면, 모션 추정기(710)는 프레임 저장소(720)에 버퍼링된 재구성된 이전 프레임(725)인 기준 프레임에 대하여, 현재 프레임(705)의 매크로블록 또는 다른 화소 세트의 모션을 추정한다. 다른 실시예에서, 기준 프레임은 나중 프레임이거나 현재 프레임은 양방향으로 예측된다. 모션 추정기(710)는 모션을 화소, 1/2 화소, 1/4 화소 또는 다른 증분으로 추정할 수 있고, 프레임 단위 또는 다른 단위로 모션 추정의 해상도를 스위칭할 수 있다. 모션 추정의 해상도는 동일하거나 수평 및 수직으로 상이할 수 있다. 모션 추정기(710)는 부가 정보로서 모션 벡터와 같은 모션 정보(715)를 출력한다. 모션 보상기(730)는 모션 정보(715)를 재구성된 이전 프레임(725)에 적용하여, 모션-보상된 현재 프레임(735)을 형성한다. 그러나, 예측은 거의 완전하지 않으며, 모션 보상된 현재 프레임(735)과 본래의 현재 프레임(705) 간의 차분이 예측 잔여(745)이다. 다르게는, 모션 추정기 및 모션 보상기는 다른 타입의 모션 추정/보상을 적용한다.
주파수 변환기(760)는 공간 도메인 비디오 정보를 주파수 도메인(예를 들면, 스펙트럼) 데이터로 변환한다. 블록 기반 비디오 프레임에 대해, 주파수 변환기(760)는 이산 코사인 변환["DCT"] 또는 DCT의 변형물을 화소 데이터 또는 예측 잔여 데이터의 블록에 적용하여, DCT 계수 블록을 생성한다. 다르게는, 주파수 변환기(760)는 푸리에 변환(Fourier transform)과 같은 또 다른 통상적인 주파수 변환을 적용하거나 웨이브렛 또는 부대역 분석을 이용한다. 키 프레임의 블록을 인코딩하는데 공간적 외삽법(extrapolation)(도 7에는 도시되지 않음)을 이용하는 실시예에서, 주파수 변환기(760)는 스큐(skew)된 DCT와 같은 다시-방향지어진(re-oriented) 주파수 변환을 키 프레임에 대한 예측 잔여의 블록에 적용할 수 있다. 다른 실시예에서, 주파수 변환기(760)는 예측 프레임에 대한 예측 잔여에 8x8, 8x4, 4x8 또는 다른 사이즈의 주파수 변환(예를 들면, DCT)을 적용한다.
그리고나서, 양자화기(770)는 스펙트럼 데이터 계수의 블록을 양자화한다. 양자화기는 프레임 단위 또는 다른 단위로 가변되는 스텝-크기로 스펙트럼 데이터에 일정한 스칼라 양자화를 적용한다. 다르게는, 양자화기는 다른 타입의 양자화, 예를 들면 불균일, 벡터, 또는 비적응형 양자화를 스펙트럼 데이터 계수에 적용하거나, 주파수 변환을 이용하지 않는 인코더 시스템에서 공간 도메인 데이터를 직접 양자화한다. 적응형 양자화뿐만 아니라, 인코더(700)는 프레임 드롭핑(dropping), 적응형 필터링, 또는 레이트 제어를 위한 다른 기술을 이용할 수 있다.
예측 프레임의 소정의 매크로블록이 특정 타입의 정보를 전혀 가지지 않는 경우(예를 들면, 매크로블록에 대한 모션 정보 및 잔여 정보를 전혀 가지지 않는 경우), 인코더(700)는 매크로블록을 스킵된 매크로블록으로서 인코딩한다. 그렇게 된다면, 인코더는 압축된 비디오 정보(795)의 출력 비트스트림에서 스킵된 매크로블록을 시그널링한다.
재구성된 현재 프레임이 후속하는 모션 추정/보상에 필요한 경우, 역 양자화기(776)는 양자화된 스펙트럼 데이터 계수에 대한 역 양자화를 수행한다. 그리고나서, 역 주파수 변환기(766)는 주파수 변환기(760)의 동작을 역으로 수행하여, (예측 프레임에 대한) 재구성된 예측 잔여 또는 재구성된 키 프레임을 생성한다. 현재 프레임(705)이 키 프레임이었다면, 재구성된 키 프레임은 재구성된 현재 프레임(도시되지 않음)으로서 취급된다. 현재 프레임(705)이 예측 프레임이었다면, 재구성된 예측 잔여는 모션 보상된 현재 프레임(735)에 부가되어, 재구성된 현재 프레임을 형성한다. 프레임 저장소(720)는 다음 프레임을 예측하는데 이용하기 위해 재구성된 현재 프레임을 버퍼링한다. 몇몇의 실시예에서, 인코더는 디블록킹(deblocking) 필터를 재구성된 프레임에 적용하여, 프레임 블록들에서의 불연속성을 적응적으로 평활화(smooth) 한다.
엔트로피 인코더(780)는 특정 부가 정보(예를 들면, 모션 정보(715), 공간 외삽법 모드, 양자화 스텝 사이즈)뿐만 아니라, 양자화기(770)의 출력을 압축한다. 전형적인 엔트로피 코딩 기술로는 산술 코딩, 차분 코딩, 허프만(Huffman) 코딩, 런 렝스 코딩, LZ 코딩, 사전 코딩, 및 상기 것들의 조합을 포함한다. 엔트로피 코더(780)는 통상 다른 종류의 정보(예를 들면, DC 계수, AC 계수, 다른 종류의 부가 정보)에 대해 다른 코딩 기술을 이용하고, 특정 코딩 기술내의 복수의 코드 테이블 중에서 선택할 수 있다.
엔트로피 코더(780)는 압축된 비디오 정보(795)를 버퍼(790)에 넣는다. 버퍼 레벨 지시자는 비트 레이트 적응형 모듈에 피드백된다.
압축된 비디오 정보(795)는 일정하거나 비교적 일정한 비트 레이트로 버퍼(790)로부터 삭제되어, 그 비트 레이트로 후속되는 스트리밍을 위해 저장된다. 그러므로, 버퍼(790)의 레벨은 주로 필터링되고 양자화된 비디오 정보의 엔트로피의 함수이고, 이는 엔트로피 코딩의 효율에 영향을 준다. 다르게는, 인코더 시스템(700)은 압축에 바로 이어서 압축된 비디오 정보를 스트리밍하고, 버퍼(790)의 레벨은 또한 정보가 송신을 위해 버퍼(790)로부터 삭제되는 레이트에 좌우된다.
버퍼(790)의 이전 또는 이후에, 압축된 비디오 정보(795)는 네트워크를 통한 송신을 위해 채널 코딩될 수 있다. 채널 코딩은 오류 검출 및 정정 데이터를 압축된 비디오 정보(795)에 적용할 수 있다.
B. 비디오 디코더
도 8은 일반적인 비디오 디코더 시스템(800)의 블록도이다. 디코더 시스템(800)은 압축된 비디오 프레임 시퀀스에 대한 정보(895)를 수신하고, 재구성된 프레임(805)을 포함하는 출력을 생성한다. 비디오 디코더의 특정 실시예는 통상 일반적인 디코더(800)의 변형물 또는 추가된 버전을 이용한다.
디코더 시스템(800)은 예측 프레임 및 키 프레임을 압축해제한다. 제시를 위해, 도 8은 디코더 시스템(800) 전반에 걸친 키 프레임의 경로 및 앞선 예측 프레임의 경로를 도시하고 있다. 디코더 시스템(800)의 다수의 컴포넌트들은 키 프레임 및 예측 프레임을 압축해제하는데 이용된다. 이들 컴포넌트들에 의해 수행되는 정확한 동작들은 압축해제되는 정보 타입에 따라 달라질 수 있다.
버퍼(890)는 압축된 비디오 시퀀스에 대한 정보(895)를 수신하고 이 수신된 정보를 엔트로피 디코더(880)가 이용할 수 있게 한다. 버퍼(890)는 통상적으로 시간에 걸쳐 거의 일정한 레이트로 정보를 수신하고, 대역폭 또는 송신에서의 단기간적인(short-term) 변동을 평활화하는 지터(jitter) 버퍼를 포함한다. 버퍼(890)는 재생 버퍼 및 다른 버퍼를 또한 포함할 수 있다. 다르게는, 버퍼(890)는 가변적인 레이트로 정보를 수신한다. 버퍼(890)의 이전 또는 이후에, 압축된 비디오 정보는 채널 디코딩되어 오류 검출 및 정정을 위해 처리될 수 있다.
엔트로피 디코더(880)는 엔트로피 코딩된 부가 정보(예를 들면, 모션 정보(815), 공간 외삽법 모드, 양자화 스텝 사이즈)뿐만 아니라, 엔트로피-코딩된 양자화된 데이터를 디코딩하여, 통상적으로 인코더에서 수행된 엔트로피 인코딩을 역으로 적용한다. 엔트로피 디코딩 기술은 산술 디코딩, 차분 디코딩, 허프만(Huffman) 디코딩, 런 렝스 디코딩, LZ 디코딩, 사전 디코딩, 및 상기 것들의 조합을 포함한다. 엔트로피 디코더(880)는 종종 다른 종류의 정보(예를 들면, DC 계수, AC 계수, 다른 종류의 부가 정보)에 대해 다른 디코딩 기술을 이용하고, 특정 디코딩 기술내의 복수의 코드 테이블들 중에서 선택할 수 있다.
재구성되는 프레임(805)이 앞선 예측 프레임이라면, 모션 보상기(830)는 모션 정보(815)를 기준 프레임(825)에 적용하여 재구성되는 프레임(805)의 예측(835)을 형성한다. 예를 들면, 모션 보상기(830)는 매크로블록 모션 벡터를 이용하여 기준 프레임(825)의 매크로블록을 찾아낸다. 프레임 버퍼(820)는 이전 재구성된 프레임을 기준 프레임으로서 이용하기 위해 저장한다. 모션 보상기(830)는 모션을 화소, 1/2 화소, 1/4 화소, 또는 다른 증분으로 보상할 수 있고, 모션 보상의 해상도를 프레임 단위 또는 다른 단위로 스위칭할 수 있다. 모션 보상의 해상도는 동일하거나 수평 및 수직으로 상이할 수 있다. 다르게는, 모션 보상기는 다른 타입의 모션 보상을 적용한다. 모션 보상기에 의한 예측은 거의 완전하지 못하고, 따라서 디코더(800)는 예측 잔여를 재구성한다.
디코더가 후속하는 모션 보상에 대해 재구성된 프레임을 필요로 하는 경우, 프레임 저장소(820)는 다음 프레임을 예측하는데 이용하기 위해 재구성된 프레임을 버퍼링한다. 몇몇의 실시예에서, 인코더는 디블록킹 필터를 재구성된 프레임에 적용하여, 프레임 블록들에서의 불연속성을 적응적으로 평활화한다.
역 양자화기(870)는 엔트로피-디코딩된 데이터를 역 양자화한다. 일반적으로, 역 양자화기는 프레임 단위 또는 다른 단위로 가변되는 스텝 사이즈로 엔트로피 디코딩된 데이터에 일정한 스칼라 역 양자화를 적용한다. 다르게는, 역 양자화기는, 다른 타입의 역 양자화, 예를 들면 불균일, 벡터, 또는 비적응형 양자화를 데이터에 적용하거나, 역 주파수 변환을 이용하지 않는 디코더 시스템에서 공간 도메인 데이터를 직접 역 양자화한다.
역 주파수 변환기(860)는 양자화된 주파수 도메인 데이터를 공간 도메인 비디오 정보로 변환한다. 블록 기반 비디오 프레임에 대해, 역 주파수 변환기(860)는 역 DCT["IDCT"] 또는 IDCT의 변형물을 적용하여, 키 프레임 또는 예측 프레임에 대한 화소 데이터 또는 예측 잔여 데이터를 각각 생성한다. 다르게는, 주파수 변환기(860)는 푸리에 변환과 같은 또 다른 통상적인 역 주파수 변환을 적용하거나, 웨이브렛 또는 부대역 합성을 이용한다. 디코더가 공간 외삽법(도 8에는 도시되지 않음)을 이용하여 키 프레임 블록을 디코딩하는 실시예에서, 역 주파수 변환기(860)는 스큐된 IDCT와 같은 다시-방향지어진 역 주파수 변환을 키 프레임에 대한 예측 잔여 블록에 적용할 수 있다. 다른 실시예에서, 역 주파수 변환기(860)는 8x8, 8x4, 4x8, 또는 다른 사이즈의 역 주파수 변환(예를 들면, IDCT)을 예측 프레임에 대한 예측 잔여에 적용한다.
스킵된 매크로블록이 압축된 비디오 프레임 시퀀스에 대한 정보(895)의 비트스트림으로 시그널링되는 경우, 디코더(800)는 스킵되지 않은 매크로블록에 대한 비트스트림에 보통 포함되는 정보(예를 들면, 모션 정보 및/또는 잔여 정보)를 이용하지 않고 스킵된 매크로블록을 재구성한다.
Ⅲ. 제1 실시예
제1 실시예에서, 비디오 인코더 및 디코더는 효율성은 향상시키면서 스킵된 매크로블록 정보를 각각 인코딩 및 디코딩한다. 스킵된 매크로블록 정보는 비디오 스트림의 화상 계층에서 시그널링되는데, 이는 인코더가 스킵된 매크로블록 정보의 리던던시를 활용할 수 있도록 한다. 또한, 인코더 및 디코더는 스킵된 매크로블록 정보의 인코딩 및 디코딩용인 복수의 코딩 모드들 중에서 선택한다.
A. 스킵된 매크로블록 정보의 화상 계층 코딩
제1 실시예에서, 압축된 비디오 시퀀스는 4개의 계층구조를 이루는 계층들로 구성된 데이터로 구성된다. 계층은 상위로부터 하부로 1) 시퀀스 계층, 2) 화상 계층, 3) 매크로블록 계층, 및 4) 블록 계층이다. 화상 계층에서는, 각 화상에 대한 데이터는 매크로블록 계층에 대한 데이터가 그 다음에 오는 화상 헤더로 구성된다. (마찬가지로, 매크로블록 계층에서, 각 매크로블록에 대한 데이터는 블록 계층이 그 다음에 오는 매크로블록 헤더로 구성된다.) I 화상 및 P 화상에 대한 비트스트림 요소들 중 일부는 동일하지만, 다른 것들은 P 화상에서만 나타나기도 하고, 그 반대로 I 화상에서만 나타나기도 한다.
도 9는 P-화상 계층(900)을 구성하는 비트스트림 요소를 도시하고 있다. 표 1은 P 화상 계층(900)의 비트스트림 요소를 간략하게 기재하고 있다.
제1 실시예의 P 화상 계층(900)의 비트스트림 요소
필드 설명
PTYPE(910) 화상 타입
PQUANT(912) 화상 양자화기 스케일
SMBC(920) 스킵된 매크로블록 코드
SMB(930) 스킵된 매크로블록 필드
CPBTAB(940) 코딩된 블록 패턴 테이블
MVRES(942) 모션 벡터 해상도
TTMBF(944) 매크로블록-레벨 변환 타입 플래그
TTFRM(946) 프레임-레벨 변환 타입
DCTACMBF(948) 매크로블록-레벨 DCT AC 코딩 세트 플래그
DCTACFRM(950) 프레임-레벨 DCT AC 코딩 세트 인덱스
DCTDCTAB(952) 인트라 DCT DC 테이블
MVTAB(954) 모션 벡터 테이블
MB 계층(960) 매크로블록 계층
특히, P-화상 계층(900)은 P화상의 매크로블록에 대한 스킵된 매크로블록 필드("SMB")(930) 및 이 스킵된 매크로블록 필드(930)에 대한 코딩 모드를 시그널링하는 스킵된 매크로블록 코드("SMBC") 필드(920)를 포함한다. SMBC 필드(920)는 단지 P-화상 헤더에만 존재한다. SMBC(920)는 프레임의 스킵된 매크로블록을 나타내는데 이용되는 4가지 모드들 중 하나를 시그널링하는 2비트 값이다. 제1 실시예에서, 스킵된 매크로블록 코딩 모드에 대한 고정 길이 코드("FLC")는 다음과 같다.
제1 실시예에서 스킵된 매크로블록 코딩 모드 코드표
SMBC FLC 스킵된 비트 코딩 모드
00 스킵되지 않는 비트 코딩
01 정상 스킵된 비트 코딩
10 로우-예측(또는, "로우-스킵") 스킵된 비트 코딩
11 칼럼-예측(또는, "칼럼-스킵") 스킵된 비트 코딩
코딩 모드가 정상, 로우-예측 또는 칼럼-예측이라면, 비트스트림의 다음 필드는 스킵된 매크로블록 정보를 포함하는 SMB 필드(930)이다. 그러므로, SMB 필드는 P-화상 헤더 내에서만 나타나며 이는 SMBC가 정상, 로우-예측 또는 칼럼-예측 스킵된 매크로블록 코딩을 시그널링한 경우에만 존재한다. SMBC가 정상 코딩을 시그널링한다면, SMB 필드의 사이즈는 프레임내의 매크로블록의 개수와 동일하다. SMBC가 로우-예측 또는 칼럼-예측을 시그널링한다면, SMB의 사이즈는 이하에 설명되는 바와 같이 가변적이다.
스킵된 매크로블록 정보는 프레임내의 어느 매크로블록이 매크로블록 계층에 존재하지 않는지에 대해 디코더에 통지한다. 이들 매크로블록에 대해, 디코더는 그 매크로블록을 재구성할 때 기준 프레임으로부터 대응하는 매크로블록 화소 데이터를 복사할 것이다.
B. 스킵된 매크로블록 정보에 대한 코딩 모드의 스위칭
상기 설명한 바와 같이, SMBC 필드(920)는 스킵된 매크로블록 필드(930)에 대한 코딩 모드를 시그널링한다. 더 일반적으로, 도 10은 복수의 스킵-매크로블록 코딩 모드를 가지는 비디오 인코더에서 스킵된 매크로블록 정보를 인코딩하기 위한 기술(1000)을 도시하고 있다. 도 11은 복수의 스킵-매크로블록 코딩 모드를 가지는 비디오 인코더에 의해 인코딩된 스킵된 매크로블록 정보를 디코딩하기 위한 대응하는 기술(1100)을 도시하고 있다.
도 10을 참조하면, 인코더는 스킵된 매크로블록 정보를 코딩하기 위한 스킵-매크로블록 코딩 모드를 선택한다(단계 1010). 예를 들면, 제1 실시예에서, 스킵된 매크로블록 코딩 모드는 어떠한 매크로블록도 스킵되지 않는 모드, 정상 모드, 로우-예측(또는 "로우-스킵") 모드, 및 칼럼 예측(또는 "칼럼-스킵")모드를 포함한다. 코딩 모드가 선택된 후, 인코더는 스킵된 매크로블록 정보를 인코딩한다(단계 1020). 인코더는 화상 단위로 코딩 모드를 선택한다. 다르게는, 인코더는 일부 다른 기반(예를 들면, 시퀀스 레벨에서)으로 코딩 모드를 선택한다. 인코더가 스킵된 매크로블록 정보를 인코딩하는 것을 완료하면(단계 1030), 인코딩을 종료한다.
도 11을 참조하면, 디코더는 스킵된 매크로블록 정보를 인코딩하는 인코더에 의해 이용되는 스킵-매크로블록 코딩 모드를 결정한다(단계 1110). 그리고나서, 디코더는 스킵된 매크로블록 정보를 디코딩한다(단계 1120). 디코더는 화상 단위로 코딩 모드를 결정한다. 다르게는, 디코더는 몇몇의 다른 단위(예를 들면, 시퀀스 레벨에서)로 코딩 모드를 결정한다. 디코더가 스킵된 매크로블록 정보를 디코딩하는 것을 완료하면(단계 1130), 디코딩을 종료한다.
C. 코딩 모드
제1 실시예에서, 스킵된 매크로블록 코딩 모드는 어떠한 매크로블록도 스킵되지 않는 모드, 정상 모드, 로우-에측(또는 "로우-스킵") 모드, 및 칼럼-예측(또는 "칼럼-스킵") 모드를 포함한다. 이하의 섹션은 각 모드에서 스킵된 매크로블록 정보가 인코딩되는 방식을 도 12를 참조하여 설명하는데, 도 12는 스킵된 매크로블록 코딩 프레임의 예(1200)를 도시하고 있다.
1. 정상 스킵된 매크로블록 코딩 모드
정상 모드에서, 각 매크로블록의 스킵되거나 스킵되지 않는 상태는 비트로 표시된다. 그러므로, 비트로 된 SMB 필드의 사이즈는 프레임내의 매크로블록의 개수와 동일하다. SMB 필드 내의 비트 위치는 상부-좌측 매크로블록으로 시작하는 프레임 내의 매크로블록의 래스터(raster) 스캔 순서에 대응한다. 비트 값 0은 대응하는 매크로블록이 스킵되지 않음을 나타내고, 비트 값 1은 대응하는 매크로블록이 스킵됨을 표시한다.
도 13은 정상 스킵-매크로블록 코딩 모드에서 인코딩하기 위한 기술(1300)을 도시하고 있다. 우선, 인코더는 매크로블록의 코딩이 스킵될지 여부를 체크한다(단계 1310). 스킵되었다면, 인코더는 비트값 1을 SMB 필드에 삽입하여 대응하는 매크로블록이 스킵됨을 표시한다(단계 1320). 그렇지 않은 경우, 인코더는 비트값 0을 SMB 필드에 삽입하여 대응하는 매크로블록이 스킵되지 않음을 표시한다(단계 1330). 인코더가 SMB 필드(1340)에 비트를 부가하는 것을 완료했다면(단계 1340), 스킵 매크로블록 코딩을 종료한다.
하나의 예로서, 정상 모드 코딩을 이용하면, 도 12의 프레임 예(1200)에 대한 SMB 필드는 010010111111111111010010으로 인코딩될 것이다.
2. 로우-예측 스킵된 매크로블록 코딩 모드
로우-예측 모드에서, 각 매크로블록 로우의 상태(상부에서 하부로)는 비트로 표시된다. 비트가 1이라면, 로우는 모두 스킵된 매크로블록을 포함하고, 다음 로우에 대한 상태가 뒤따른다. 비트가 0이라면, 그 로우의 각 매크로블록에 대한 스킵되거나 스킵되지 않은 상태가 하나의 비트로 시그널링된다. 그러므로, 로우에서 매크로블록의 개수와 길이가 동일한 비트 필드가 뒤따른다. 비트 필드의 비트들은 좌측에서 우측의 순서로 매크로블록을 나타낸다. 다시, 값 0은 대응하는 매크로블록이 스킵되지 않음을 표시하고, 값 1은 대응하는 매크로블록이 스킵됨을 표시한다.
도 14는 로우-예측(또는 "로우-스킵") 매크로블록 코딩 모드에서 인코딩하기 위한 기술(1400)을 도시하고 있다. 우선, 인코더는 로우가 모두 스킵된 매크로블록을 포함하는지를 체크한다(단계 1410). 포함한다면, 인코더는 지시자 비트 1을 SMB 필드(1420)에 삽입하고, 다음 로우에 대한 상태가 뒤따른다. 로우가 모두 스킵된 매크로블록을 포함하지 않는다면, 인코더는 지시자 비트 0을 SMB 필드에 삽입하고, 그 로우의 각 매크로블록에 대한 스킵되거나 스킵되지 않은 상태가 하나의 비트로 시그널링된다(단계 1430). 인코더가 프레임내의 모든 로우에 대하여 작업을 완료한 경우(단계 1440), 로우 예측 코딩을 종료한다.
디코딩에 대해서, 도 15는 스킵된 매크로블록 정보의 로우-예측 디코딩을 예시하는 의사-코드(1500)를 도시하고 있다. 의사 코드(1500)에서, 함수 get_bits(n)은 비트스트림에서 n개의 비트들을 판독하고 그 값을 반환한다.
예로서, 로우-예측 모드 코딩을 이용하면, 도 12의 프레임 예(1200)에 대한 SMB 필드는 0010010110010010으로 인코딩될 것이다.
3. 칼럼-예측 스킵된 매크로블록 코딩 모드
칼럼-예측 모드에서, 각 매크로블록 칼럼의 상태(좌측에서 우측으로)는 하나의 비트로 표시한다. 비트가 1이라면, 칼럼은 모두 스킵된 매크로블록을 포함하고, 다음 칼럼에 대한 상태가 뒤따른다. 비트가 0이라면, 그 칼럼에서 각 매크로블록에 대한 스킵되거나 스킵되지 않은 상태는 하나의 비트로 시그널링된다. 그러므로, 칼럼의 매크로블록의 개수와 길이가 동일한 비트 필드가 뒤따른다. 비트 필드의 비트들은 상부에서 하부의 순서로 매크로블록을 표시한다. 다시, 값 0은 대응하는 매크로블록이 스킵되지 않음을 나타내고, 값 1은 대응하는 매크로블록이 스킵됨을 표시한다.
도 16은 칼럼-예측(또는, "칼럼-스킵") 매크로블록 코딩 모드에서 인코딩하기 위한 기술(1600)을 도시하고 있다. 우선, 인코더는 칼럼이 모두 스킵된 매크로블록을 포함하는지 여부를 체크한다(단계 1610). 그렇다면, 인코더는 지시자 비트 1을 SMB 필드에 삽입하고(단계 1620), 다음 칼럼에 대한 상태가 뒤따른다. 칼럼이 모두 스킵된 매크로블록을 포함하지 않는다면, 인코더는 지시자 비트 0을 SMB 필드에 삽입하고, 그 칼럼의 각 매크로블록에 대한 스킵되거나 스킵되지 않은 상태가 하나의 비트로 시그널링된다(단계 1630). 인코더가 프레임내의 모든 칼럼에 대하여 작업을 완료한 경우(단계 1640), 칼럼 예측 코딩을 종료한다.
디코딩에 대해서는, 도 17은 스킵된 매크로블록 정보의 칼럼-예측 디코딩을 예시하는 의사-코드(1700)를 도시하고 있다.
예로서, 칼럼-예측 모드 코딩을 이용하면, 도 12의 프레임 예(1200)에 대한 SMB 필드는 0011010011000110100110으로 인코딩될 것이다.
Ⅳ. 제2 실시예
제2 실시예에서, 비디오 인코더 및 디코더는 효율성을 향상시키면서 스킵된 매크로블록 정보 및/또는 다른 2-D 이진 데이터를 각각 인코딩 및 디코딩한다. 인코더 및 디코더는 스킵된 매크로블록을 디폴트 모션(반드시 제로 모션일 필요는 없음)을 가지는 것으로 정의하는데, 이는 인코더 및 디코더가 다수의 경우에 더 많은 매크로블록을 스킵할 수 있도록 해준다. 비트 평면의 효율적인 프레임-레벨 코딩은 스킵된 매크로블록 정보 및/또는 다른 2-D 이진 데이터를 표시한다. 또한, 인코더 및 디코더는 대기 시간이 적은 애플리케이션에 대해 스킵된 매크로블록의 미처리(MB-레벨) 코딩 옵션을 이용할 수도 있다.
A. 스킵 비트 정의(스킵된 매크로블록의 정의)
제2 실시예는 스킵된 매크로블록의 개념의 새로운 정의를 포함한다. "스킵"은 해당 세분성 레벨에서는 추가적인 정보가 송신될 필요가 전혀 없는 경우의 비트스트림의 상태를 지칭한다. 스킵된 매크로블록(블록)은 디폴트 타입, 디폴트 모션, 및 디폴트 잔여 오차를 가지는 매크로블록(블록)이다. (비교하면, 다른 실시예 및 표준에서, 스킵된 매크로블록은 제로 모션 및 제로 잔여를 가지는 예측 매크로블록이다.)
스킵된 매크로블록의 새로운 정의는 그 모션이 인과적으로 예측된 모션과 동일하고 제로 잔여 오차를 가지는 예측 매크로블록이다. (다른 정의와의 차이점은 디폴트 모션이 모션 예측자(predictor)와 동일하고, 이것이 반드시 제로일 필요는 없다는 점이다.)
예를 들면, 몇몇의 실시예에서, 현재 매크로블록에 대한 예측 모션 벡터는 현재 매크로블록의 바로 위 또는 바로 좌측의 매크로블록으로부터 구한다. 또는, 예측자의 수평 및 수직 성분이 현재 매크로블록의 좌측, 상부 및 상부 우측의 매크로블록의 수평 및 수직 성분별로 산출한 중앙값으로부터 생성된다.
4개의 모션 벡터(4MV)를 가지는 스킵된 매크로블록의 모션 벡터는 자연적인 스캔 순서로 순차적으로 수행되는 그 예측에 의해 주어진다. 하나의 모션 벡터(1MV) 경우에서와 같이, 잔여 오차는 제로이다.
도 18은 스킵된 매크로블록의 새로운 정의에 따라 비디오 인코더에서 특정 매크로블록을 코딩하는 것을 스킵할지 여부를 판정하기 위한 기술(1800)을 도시하고 있다. 우선, 인코더는 현재 프레임이 I-프레임인지 P-프레임인지를 체크한다(단계 1810). 현재 프레임이 I-프레임이라면, 현재 프레임의 어떤 매크로블록도 스킵되지 않고(단계 1820), 프레임에 대한 스킵-매크로블록 코딩을 종료한다.
반면, 현재 프레임이 P-프레임이라면, 인코더는 현재 프레임의 스킵될 수 있는 매크로블록을 체크한다. 소정의 매크로블록에 대해, 인코더는 매크로블록에 대한 모션 벡터가 매크로블록에 대한 인과적으로 예측된 모션 벡터와 동일한 지 여부(예를 들면, 매크로블록에 대한 차분 모션 벡터가 제로와 동일한지 여부)를 체크한다(단계 1830). 매크로블록에 대한 모션이 인과적으로 예측된 모션과 동일하지 않는다면, 인코더는 매크로블록을 스킵하지 않는다(단계 1840). 그렇지 않고 인과적으로 예측된 모션과 동일하다면, 인코더는 매크로블록에 대해 인코딩될 임의의 잔여가 있는지 여부를 체크한다(단계 1850). 코딩될 잔여가 있다면, 인코더는 매크로블록을 스킵하지 않는다(단계 1860). 그러나, 매크로블록에 대한 잔여가 없다면, 인코더는 매크로블록을 스킵한다(단계 1870). 인코더는 인코딩이 완료될 때까지(단계 1880) 매크로블록을 인코딩하거나 스킵하는 것을 계속한다.
B. 비트 평면 코딩
제2 실시예에서, (스킵된 매크로블록의 시그널링을 포함함하는) 소정의 매크로블록 특정 정보는 매크로블록당 하나의 비트로 인코딩될 수 있다. 하나의 프레임의 모든 매크로블록에 대한 상태는 비트 평면으로서 함께 코딩되고 프레임 헤더로서 송신될 수 있다.
제2 실시예에서, 인코더는 3가지 경우에 비트 평면 코딩을 이용하여 하나의 프레임의 매크로블록들에 관한 정보를 시그널링한다. 이 3가지 경우는 1) 스킵된 매크로블록을 시그널링하는 경우, 2) 필드 또는 프레임 매크로블록 모드를 시그널링하는 경우, 및 3) 각 매크로블록에 대한 1-MV 또는 4-MV 모션 벡터 모드를 시그널링하는 경우이다. 본 섹션은 3가지 경우 중 임의의 하나에 대한 비트 평면 코딩 및 이에 대응하는 디코딩을 설명한다.
프레임-레벨 비트 평면 코딩은 2차원 이진 어레이를 인코딩하는데 이용된다. 각 어레이의 사이즈는 rowMB x colMB이고, 여기서 rowMB 및 colMB는 각각 매크로블록의 로우의 개수 및 칼럼의 개수이다. 비트스트림 내에서, 각 어레이는 연속적인 비트의 세트로서 코딩된다. 다음의 표 3에 열거되고 설명된 바와 같이, 7가지 모드들 중 하나가 각 어레이를 인코딩하는데 이용된다.
제2 실시예의 코딩 모드
코딩 모드 설명
미처리 심볼당 하나의 비트로 코딩됨
정상-2 2개의 심볼이 연합하여 코딩됨
Diff-2 비트 평면을 차분 코딩한 다음 2개의 잔여 심볼을 연합하여 코딩함
정상-6 6개의 심볼이 연합하여 코딩됨
Diff-6 비트 평면을 차분 코딩한 다음 6개의 잔여 심볼을 연합하여 코딩함
로우-스킵 설정 비트가 없는 로우를 시그널링하기 위한 하나의 비트 스킵
칼럼-스킵 설정 비트가 없는 칼럼을 시그널링하기 위한 하나의 비트 스킵
제2 실시예에서, 인코더는 3가지 구문 요소, 즉 MODE, INVERT 및 DATABITS를 이용하여 정보를 비트 평면에 내장시킨다.
MODE 필드는 비트 평면에 대한 코딩 모드를 인코딩하는 가변 길이 코드("VLC")이다. 예를 들면, MODE 필드의 VLC는 표 3에 열거된 7개의 코딩 모드 중 임의의 것을 나타낸다. 비트를 절감하기 위해, 인코더는 더 짧은 코드를 더 가능성있는 코딩 모드에 할당하고 더 긴 코드를 더 적은 가능성의 코딩 모드에 할당한다. 상기 지적된 바와 같이, MODE 필드는 프레임 헤더로서 송신된다.
인코더 및 디코더는 프레임 단위로 코딩 모드 간에 스위칭한다. 예를 들면, 인코더 및 디코더는 제1 실시예의 인코더 및 디코더가 각각 도 10 및 도 11에서 스킵된 매크로블록 코딩 모드 간에 스위칭하는 것과 마찬가지로 코딩 모드 간에 스위칭한다. 다르게는, 인코더 및 디코더는 소정의 다른 기술 및/또는 소정의 다른 단위를 이용하여 스위칭한다.
모드가 미처리 모드가 아니라면, 하나의 비트 INVERT 필드가 전송된다. 조건 반전이 수행될 수 있는 몇 가지 코딩 모드에서, INVERT 필드는 비트 평면의 비트들이 인코더에서 인코딩이 발생하기 이전에 반전되어야 할지 디코더에서 디코딩의 출력이 반전되어야 할지를 나타낸다. 비트 평면의 대부분의 비트들이 1과 같은 경우에 INVERT 필드는 1이고, 비트 평면의 대부분의 비트들이 0과 같은 경우에 필드는 0이다. 인코더는 더 많은 0이 존재하는 경우에 더 적은 비트를 소비하는 몇 가지 코딩 모드(예를 들면, 정상-2 및 정상-6)를 채용한다. 인코딩될 비트 평면이 0보다 1을 더 많이 가지고 있는 경우, 인코더는 비트 평면을 반전하여 비트 평면에서의 0의 비율을 증가시키고 비트가 절감될 가능성을 증가시킬 수 있다. 다른 모드들(예를들면, diff-2 및 diff-6)이 INVERT의 값을 이용하여 예측자 비트 평면을 계산한다. 그러므로, 일부 코딩 모드에서, 디코더에서 재구성되는 최종 비트 평면은 INVERT에 좌우된다.
DATABITS 필드는 MODE 및 INVERT 필드가 주어진 경우에 비트 평면을 재구성하는데 필요한 정보를 포함하는 VLC 심볼의 엔트로피 코딩된 스트림이다.
C. 코딩 모드
제2 실시예에서, 인코더는 이진 정보(예를 들면, 스킵된 매크로블록 정보)를 임의의 수개의 다른 코딩 모드, 즉 로우-스킵 모드, 칼럼-스킵 모드, 정상-2 모드, 정상-6 모드, diff-2 모드, diff-6 모드, 및 미처리 모드로 인코딩한다. 디코더는 이 7개의 코딩 모드 중 임의의 것에 대해 대응하는 디코딩을 수행한다. 각 모드는 이하에 상세하게 설명된다.
다르게는, 인코더 및 디코더는 다른 및/또는 추가적인 코딩 모드를 이용한다.
1. 로우 스킵 및 칼럼-스킵 모드
로우 스킵 코딩 모드는 로우의 각 이진 심볼이 특정 값을 가지는 경우에 비트 평면의 로우를 단일 비트로 표현함으로써 비트를 절감한다. 예를 들면, 인코더는 스킵된 매크로블록을 비트 평면에서 0으로 표현하고, 모두 0의 로우를 단일 비트로 표현하는 로우 스킵 코딩 모드를 이용한다. 그러므로, 인코더는 매크로블록의 전체 로우가 스킵되는 경우에 비트를 절감한다. 디코더는 대응하는 디코딩을 수행한다.
제2 실시예에서, 모두 제로인 로우는 0으로 설정된 1 비트를 이용하여 나타난다. 로우가 모두 제로가 아닌 경우, 1비트 지시자는 1로 설정되고, 이것에 이어서 비트 평면 로우를 포함하는 colMB 비트가 순서대로 뒤따른다. 로우는 자연적인 순서로 스캐닝된다.
마찬가지로, 칼럼 스킵 모드에서는, 로우가 전부 제로라면, 0 비트가 전송된다. 그렇지 않다면, 1이 전송되고, 전체 칼럼을 포함하는 rowMB 비트들이 순서데로 뒤따른다. 칼럼은 자연적인 순서로 스캐닝된다.
diff-6 및 정상-6 모드에서 잔여 로우 및/또는 칼럼의 코딩(이하에 설명됨)에 대해, 동일한 로직이 적용된다. 1-비트 플래그는 로우 또는 칼럼이 모두 제로인지 여부를 표시한다. 모두 제로가 아니라면, 전체 로우 또는 칼럼은 심볼 당 1 비트를 이용하여 송신된다.
인코더가 주로 1로 구성되는 비트 평면을 인코딩하는 경우, 로우/칼럼이 전부 0으로 구성될 가능성이 적으므로, 로우-스킵 및 칼럼-스킵 코딩은 일반적으로 효율적이지 못하다. 그러나, 이러한 경우 인코더는 비트 평면에 대한 반전을 수행하여 0의 비율을 높이고 잠재적으로는 비트 절감을 증가시킬 수 있다. 그러므로, INVERT 비트를 통해 조건 반전이 지시되는 경우, 비트 평면이 타일화되고 코딩되기 이전에, 인코더는 비트 평면을 미리-반전한다. 디코더 측에서, 조건 반전은 최종 출력을 반전함으로써 구현된다(이것은 diff-2 및 diff-6 모드에서는 수행되지 않는다).
도 19는 로우-스킵 코딩 모드에서 비트 평면의 이진 정보를 인코딩하기 위한 기술(1900)을 도시하고 있다. 인코더는 우선 비트 평면의 반전이 적절한지 여부를 체크하고, 적절하다면 반전을 수행한다(단계 1910). 그리고나서, 인코더는 로우의 각 비트가 0과 같은지를 알아보기 위해 비트 평면의 로우를 체크한다(단계 1920). 그렇다면, 인코더는 로우에 대한 지시자 비트를 0으로 설정한다(단계 1930). 로우의 비트들 중 어느 것이 0이 아니라면, 인코더는 로우에 대한 지시자 비트를 1로 설정하고 로우의 각 비트를 하나의 비트로 인코딩한다(단계 1940). 인코더가 비트 평면의 모든 로우를 인코딩하는 것을 완료하면(단계 1950), 이 비트 평면의 인코딩을 종료한다.
디코더는 로우-스킵 코딩 모드에 대한 대응하는 디코딩을 수행한다.
도 20은 칼럼-스킵 코딩 모드에서 이진 정보를 인코딩하기 위한 기술을 도시하고 있다. 인코더는 우선 비트 평면의 반전이 적절한지 여부를 체크하고 적절하다면 반전을 수행한다(단계 2010). 그리고나서, 인코더는 칼럼의 각 비트가 0과 같은지를 알아보기 위해 비트 평면의 칼럼을 체크한다(단계 2020). 그렇다면, 인코더는 칼럼에 대한 지시자 비트를 0으로 설정한다(단계 2030). 칼럼의 비트들 중 어느 것이 0이 아니라면, 인코더는 칼럼에 대한 지시자 비트를 1로 설정하고 칼럼의 각 비트를 하나의 비트로 인코딩한다(단계 2040). 인코더가 비트 평면의 모든 칼럼을 인코딩하는 것을 완료하면(단계 2050), 이 비트 평면의 인코딩을 종료한다.
디코더는 칼럼 스킵 코딩 모드에 대한 대응하는 디코딩을 수행한다.
2. 정상-2 모드
인코더는 정상-2 모드를 이용하여 비트 평면의 복수의 이진 심볼들을 연합하여 인코딩한다(예를 들면, 벡터 허프만(Huffman) 또는 다른 가변 길이 인코딩 스킴을 이용함). 인코더는 가변 길이 코드로 이진 심볼 쌍을 인코딩한다. 디코더는 대응하는 디코딩을 수행한다.
rowMB x colMB가 홀수라면, 첫번째 심볼은 단일 비트로서 인코딩된다. 후속 심볼들은 자연적인 스캔 순서로 쌍 단위로 인코딩된다. VLC 테이블이 심볼 쌍을 인코딩하는데 이용되어 전체 엔트로피를 감소시킨다.
조건 반전이 INVERT 비트를 통해 지시되는 경우, 인코더는 비트 평면이 쌍 단위로 코딩되기 이전에 비트 평면을 미리-반전시킨다. 디코더 측에서, 조건 반전은 최종 출력을 반전시킴으로써 구현된다(diff-2 모드가 이용되는 경우, 조건 반전은 본 단계에서 수행되지 않는다.).
도 21은 정상-2 모드에서 이진 정보를 인코딩하기 위한 기술(2100)을 도시하고 있다. 인코더는 먼저 비트 평면의 반전이 코딩 효율을 개선하는데 적절한지 여부를 판정하기 위한 체크를 수행하고, 적절하다면 반전을 수행한다(단계 2110). 그리고나서, 인코더는 코딩된 비트 평면이 홀수 개수의 이진 심볼을 가지고 있는지 여부를 판정한다(단계 2120). 홀수개를 가진다면, 인코더는 첫번째 심볼을 단일 비트로 인코딩한다(단계 2130). 그리고나서, 인코더는 더 가능성이 있는 쌍을 나타내는 데에는 짧은 코드를 이용하고 가능성이 떨어지는 쌍을 나타내는 데에는 더 긴 코드를 이용하여, 가변 길이 코드로 심볼 쌍을 인코딩한다(단계 2140). 심볼 쌍의 인코딩이 완료되면(단계 2150), 인코딩을 종료한다.
디코더는 정상-2 코딩 모드에 대한 대응하는 디코딩을 수행한다.
3. 정상-6 모드
인코더는 또한 정상-6 모드를 이용하여 비트 평면의 복수의 이진 심볼을 연합하여 인코딩한다(예를 들면, 벡터 허프만 또는 다른 가변 길이 인코딩 스킴을 이용함). 인코더는 6개의 이진 심볼의 그룹을 타일화하고 각 그룹을 가변 길이 코드로 표현한다. 디코더는 대응하는 디코딩을 수행한다.
정상-6 모드( 및 diff-6 모드)에서, 비트 평면은 6개 화소들의 그룹으로 인코딩된다. 이들 화소들은 2x3 또는 3x2 타일로 그룹화된다. 비트 평면은 최대한 규칙 세트를 이용하여 타일화되고, 잔여 화소들은 로우-스킵 및 칼럼 스킵 모드의 변형물을 이용하여 인코딩된다.
제2 실시예에서, 3x2 "수직"타일은 rowMB가 3의 배수이고 colMB가 3의 배수가 아닌 경우에 이용되며 또한 이러한 경우라면 3x2 수직 타일이 이용된 것이다. 그렇지 않은 경우, 2x3 "수평"타일이 이용된다. 도 22, 23 및 24는 정상-6 코딩 모드에서 타일화된 프레임의 예들을 도시하고 있다. 도 22는 칼럼-스킵 모드에서 코딩되는 3x2 수직 타일 및 1-심볼 폭 나머지(remainder)(음영으로 도시됨)를 포함하는 프레임(2200)을 도시하고 있다. 도 23은 로우-스킵 모드에서 코딩되는 2x3 수평 타일 및 1-심볼 폭 잔여를 포함하는 프레임(2300)을 도시하고 있다. 도 24는 로우 스킵 및 칼럼 스킵 모드에서 코딩되는 2x3 수평 타일 및 1-심볼 폭 잔여를 포함하는 프레임(2400)을 도시하고 있다.
3x2 및 2x3 타일이 본 예에 이용되는지만, 다른 실시예에서, 다른 타일 구성 및/또는 다른 타일화 규칙이 이용된다.
6-요소 타일이 우선 인코딩된 후, 그 다음 칼럼 스킵 및 로우 스킵 인코딩된 선형 타일이 인코딩된다. 어레이 사이즈가 3x2 또는 2x3의 배수이면, 후자의 선형 타일은 존재하지 않고 비트 평면이 완전하게 타일화된 것이다. 6-요소 직사각형 타일은 VLC 테이블을 이용하여 인코딩된다.
조건 반전이 INVERT 비트를 통해 지시된다면, 인코더는 비트 평면이 타일화되어 코딩되기 전에 비트 평면을 미리-반전한다. 디코더 측에서, 조건 반전은 최종 출력을 반전함으로써 구현된다. (diff-6 모드가 이용되는 경우, 조건적인 반전이 본 단계에서 수행되지 않는다.
도 25는 정상-6 모드에서 이진 정보를 인코딩하기 위한 기술(2500)을 도시하고 있다. 인코더는 먼저 비트 평면의 반전이 코딩 효율을 높이는 데에 적절한지 여부를 판정하기 위한 체크를 수행하고, 적절하다면 반전을 수행한다(단계 2510). 그리고나서, 인코더는 비트 평면의 로우의 개수가 3의 배수인지 여부를 체크한다(단계 2520). 로우의 개수가 3의 배수가 아니라면, 인코더는 비트 평면의 심볼들을 2x3 수평 타일로 그룹화한다(단계 2530).
로우의 개수가 3의 배수라면, 인코더는 비트 평면의 칼럼의 개수가 3의 배수인지 여부를 체크한다(단계 2540). 칼럼의 개수가 3의 배수라면, 인코더는 비트 평면의 심볼들을 2x3 수평 타일로 그룹화한다(단계 2530). 칼럼의 개수가 3의 배수가 아니라면, 인코더는 심볼들을 3x2 수직 타일로 그룹화한다(단계 2550).
심볼들을 3x2 또는 2x3 타일로 그룹화한 후, 인코더는 6-차원 벡터 허프만 코딩 기술 또는 몇몇의 다른 코딩 기술과 같은 기술을 이용하여 6개의 타일화된 심볼 그룹을 인코딩한다(단계 2560). 인코더는 상기 설명한 로우-스킵 및/또는 칼럼-스킵 코딩 기술을 이용하여 임의의 남아있는 타일화되지 않은 심볼들을 인코딩한다(단계 2570).
디코더는 정상-6 코딩 모드에 대해 대응하는 디코딩을 수행한다.
다른 실시예에서, 인코더는 타일화 및 타일화되지 않은 심볼을 코딩하는데 다른 기술을 이용한다.
4. Diff-2 및 Diff-6 모드
diff-2 또는 diff-6와 같은 차분 코딩 모드는 코딩되는 비트 평면에 대한 예측자에 기초하여, 코딩되는 비트 평면에 대한 차분(또는 잔여) 비트의 비트 평면을 우선 생성함으로써 비트 평면을 인코딩한다. 그리고나서, 잔여 비트 평면은 조건적 반전없이 예를 들면 정상-2 또는 정상-6 코딩 모드를 이용하여 인코딩된다.
제2 실시예에서, diff-2 및 diff-6 모드는 연산 diff라 표시된 차분 코딩을 채용한다. 이 둘 중 하나의 차분 모드가 이용되는 경우, 차분 비트의 비트 평면은 우선 비트 평면 b(i, j)의 예측자
Figure 112007090599418-pct00001
(i, j)를 검사함으로써 생성된다. 여기서, 예측자는 인과적인 연산으로서 정의된다.
Figure 112007090599418-pct00033
환언하면, 주어진 이진 심볼 b(i,j)의 예측자
Figure 112007090599418-pct00003
(i,j)는 다음의 특수한 경우를 제외하는 b(i-1,j)의 바로 왼쪽의 이진 심볼이 될 것이다.
1) b(i,j)가 비트 평면의 최상부 좌측 코너에 있는 경우, 또는 위에 있는 이진 심볼 b(i, j-1)이 좌측 b(i-1,j)의 이진 심볼과 동일하지 않은 경우, 예측자
Figure 112007090599418-pct00004
(i,j)는 INVERT의 값과 동일하다; 또는
2) 1)이 적용되지 않고 b(i,j)가 좌측 칼럼에 존재하는 경우(i==0), 예측자
Figure 112007090599418-pct00005
(i,j)는 위에 있는 이진 심볼 b(i, j-1)이 될 것이다.
인코더 측에서, diff 연산은 수학식 2에 따라 잔여 비트 평면 r을 계산한다.
Figure 112004025955554-pct00006
여기에서,
Figure 112007090599418-pct00007
는 배타적 논리합(XOR) 연산이다. 잔여 비트 평면은 조건적 반전없이 정상-2 또는 정상-6 모드를 이용하여 인코딩된다.
디코더 측에서, 잔여 비트 평면은 적절한 정상 모드를 이용하여 재생성된다. 이어서, 잔여 비트는 이진 2-D 차분으로서 본래의 비트 평면을 재생성하는데 이용된다.
Figure 112004025955554-pct00008
도 26은 차분 코딩 모드에서 이진 정보를 인코딩하기 위한 기술(2600)을 도시하고 있다. 인코더는 예를 들면 수학식 1에 도시된 바와 같이, 비트 평면에 대한 예측자를 계산한다(단계 2610). 그리고나서, 인코더는, 예를 들면, 비트 평면과 그 예측자에 XOR 연산을 수행함으로써 잔여 비트 평면을 계산한다(2620). 그리고나서, 인코더는 잔여 비트 평면을 (예를 들면, 정상-2 또는 정상-6 모드에서)인코딩한다(단계 2630).
도 27은 차분 코딩 모드에서 인코딩된 이진 정보를 디코딩하기 위한 기술(2700)을 도시하고 있다. 디코더는 잔여 비트 평면을 인코딩하는데 이용된 모드(예를 들면, 정상-2 또는 정상-6 모드)에 기초하여, 적절한 디코딩 기술을 이용하여 잔여 비트 평면을 디코딩한다(단계 2710). 디코더는 또한 인코더에 이용된 것과 동일한 기술을 이용하여 비트 평면에 대한 예측자를 계산한다(단계 2720). 그리고나서, 디코더는, 예를 들면, 디코딩된 잔여 비트 평면과 예측자 비트 평면에 XOR 연산을 수행함으로써, 본래의 비트 평면을 재구성한다(단계 2730).
5. 미처리 모드(Raw Mode)
미처리 모드를 제외한 모든 모드들은 프레임 레벨에서 비트 평면을 인코딩하는데, 이는 인코딩 동안에 프레임을 2번째로 통과하게 한다. 그러나, 대기 시간이 적은 상황에 대해, (예를 들면, 비트 평면을 인코딩하는데 소모되는 시간에 의해, 프레임의 마지막 매크로블록이 도달할 때까지 프레임 헤더 및 매크로블록 계층 정보의 송신이 지연되기 때문에) 이 2번째 통과는 수용할 수 없는 지연을 부가할 수 있다.
미처리 모드는 매크로블록 레벨 정보의 남은 정보와 동일한 비트스트림 내의 위치에서 이진 심볼당 하나의 비트씩 비트 평면을 인코딩하는 전통적인 방법을 이용한다. 심볼의 매크로블록 레벨 코딩은 그 자체로는 새로운 개념이 아니지만, 심볼의 코딩을 프레임 레벨에서 매크로블록 레벨로 스위칭하는 것은 프레임-레벨 코딩에 대기 시간이 적은 대안을 제공한다.
도 28은 대기 시간이 적은 애플리케이션에 대한 미처리 코딩 모드에서 매크로블록에 대한 이진 정보를 선택적으로 인코딩하기 위한 기술(2800)을 도시하고 있다. 우선, 인코더는 이진 정보를 인코딩하는데 미처리 모드를 이용할지 여부를 체크한다(단계 2810). 그렇다면, 인코더는 매크로블록에 대해 매크로블록 레벨에서 하나의 비트를 인코딩하고(단계 2820), 매크로블록이 프레임의 마지막 매크로블록인 지 여부를 체크한다(단계 2830). 매크로블록이 프레임의 마지막 매크로블록이 아니라면, 인코더는 매크로블록 레벨에서 다음 매크로블록에 대한 하나의 비트를 인코딩함으로써 계속된다(단계 2820).
인코더가 미처리 코딩 모드를 이용하지 않는 경우, 인코더는 프레임의 매크로블록에 대한 프레임 레벨에서 비트 평면을 인코딩한다(단계 2840). 프레임의 매크로블록의 인코딩이 완료된 경우(단계 2850), 프레임에 대한 인코딩을 종료한다.
기술(2800)은 프레임 단위의 스위칭 모드를 도시하고 있지만, 다르게는 인코더는 몇몇의 다른 단위로 스위칭한다.
다양한 실시예를 참조하여 본 발명의 원리를 설명하고 예시했지만, 이러한 원리를 벗어나지 않고서 다양한 실시예들이 그 배열 및 세부사항에 있어 변형될 수 있다는 것은 자명하다. 본원에 설명된 프로그램, 프로세스, 또는 방법들은, 그렇지 않다고 명시되지 않는 한, 임의의 특정 유형의 컴퓨팅 환경과 관련되거나 이것으로 제한되는 것이 아니라는 것을 잘 알고 있을 것이다. 다양한 유형의 범용 또는 특수화된 컴퓨팅 환경이 본원에 기재된 설명에 따른 동작과 함께 이용되거나 동작을 수행할 수 있다. 소프트웨어로 도시된 실시예의 요소들은 하드웨어로 구현될 수 있고, 반대로 하드웨어로 도시된 실시예의 요소들도 소프트웨어로 구현될 수 있다.
본 발명의 원리가 적용될 수 있는 다수의 가능한 실시예를 감안하여, 이하의 청구의 범위 및 그 등가의 범주와 사상에 포함될 수 있는 모든 이러한 실시예들을 본 발명으로서 청구한다.

Claims (50)

  1. 컴퓨터 시스템에서 비디오 시퀀스의 복수의 비디오 화상을 처리하는 방법 - 상기 복수의 비디오 화상은 복수의 예측 매크로블록을 포함하고, 상기 복수의 예측 매크로블록의 각 블록은 단지 하나의 기준 비디오 화상으로부터 예측됨 - 으로서,
    복수의 이용가능한 코딩 모드 중에서 코딩 모드를 선택하는 단계,
    상기 복수의 예측 매크로블록들 중의 하나 이상의 스킵된 매크로블록에 대하여, 상기 비디오 시퀀스에 대한 비트스트림 구문의 일 계층에서, 스킵된 매크로블록 정보를 디코딩하는 단계 - 상기 스킵된 매크로블록 정보는 상기 복수의 이용가능한 코딩 모드들 중에서 선택된 상기 코딩 모드에 따라서 인코딩되었음 - ,
    상기 하나 이상의 스킵된 매크로블록을 처리하는 단계 - 상기 하나 이상의 스킵된 매크로블록 각각은 상기 스킵된 매크로블록 주변의 하나 이상의 다른 예측 매크로블록의 모션에 기초하는, 상기 스킵된 매크로블록에 대한 예측 모션을 이용하고, 상기 하나 이상의 스킵된 매크로블록 각각에는 잔여(residual) 정보가 없음 - , 및
    상기 처리의 결과를 출력하는 단계
    를 포함하는 비디오 시퀀스의 복수의 비디오 화상을 처리하는 방법.
  2. 제1항에 있어서,
    상기 비디오 시퀀스에 대한 상기 비트스트림 구문은 복수의 계층구조를 이루는 계층(hierarchical layer)들을 포함하고,
    상기 스킵된 매크로블록 정보가 시그널링되는 계층은, 상기 비트스트림 구문에서 매크로블록 계층보다 높은 상위계층인, 비디오 시퀀스의 복수의 비디오 화상을 처리하는 방법.
  3. 제2항에 있어서,
    상기 복수의 계층구조를 이루는 계층은 적어도 화상 계층 및 상기 매크로블록 계층을 포함하며, 상기 상위계층은 상기 화상 계층인, 비디오 시퀀스의 복수의 비디오 화상을 처리하는 방법.
  4. 제2항에 있어서,
    상기 상위계층의 헤더는 상기 스킵된 매크로블록 정보를 포함하는, 비디오 시퀀스의 복수의 비디오 화상을 처리하는 방법.
  5. 제1항에 있어서,
    상기 결과는 재구성된 비디오를 포함하고,
    상기 하나 이상의 스킵된 매크로블록을 처리하는 단계는 비디오 디코딩 중에 수행되며,
    상기 방법은
    P-화상의 현재 매크로블록이 상기 하나 이상의 스킵된 매크로블록들 중 하나인 것으로 판정하는 단계를 더 포함하고,
    상기 하나 이상의 스킵된 매크로블록을 처리하는 단계는 상기 P-화상의 상기 하나 이상의 다른 예측 매크로블록의 모션 벡터들로부터 도출된 예측자(predictor) 모션 벡터와 동일한 모션 벡터를 이용하여 상기 현재 매크로블록을 재구성하는 단계를 포함하는, 비디오 시퀀스의 복수의 비디오 화상을 처리하는 방법.
  6. 컴퓨터 시스템에서 비디오 시퀀스의 복수의 비디오 화상을 처리하는 방법 - 상기 복수의 비디오 화상은 복수의 예측 매크로블록을 포함하고, 상기 복수의 예측 매크로블록의 각 블록은 단지 하나의 기준 비디오 화상으로부터 예측됨 - 으로서,
    복수의 이용가능한 코딩 모드 중에서 코딩 모드를 선택하는 단계,
    상기 복수의 예측 매크로블록들 중의 하나 이상의 스킵된 매크로블록을 처리하는 단계 - 상기 하나 이상의 스킵된 매크로블록 각각은 상기 스킵된 매크로블록 주변의 하나 이상의 다른 예측 매크로블록의 모션에 기초하는, 상기 스킵된 매크로블록에 대한 예측 모션을 이용하고, 상기 하나 이상의 스킵된 매크로블록 각각에는 잔여 정보가 없음 - ,
    상기 비디오 시퀀스에 대한 비트스트림 구문의 일 계층에서, 상기 하나 이상의 스킵된 매크로블록에 대한 스킵된 매크로블록 정보를 인코딩하는 단계 - 상기 인코딩 단계는 상기 스킵된 매크로블록 정보를 상기 복수의 이용가능한 코딩 모드들 중에서 선택된 상기 코딩 모드에 따라서 인코딩하는 단계를 포함함 -, 및
    상기 처리의 결과를 출력하는 단계
    를 포함하는 비디오 시퀀스의 복수의 비디오 화상을 처리하는 방법.
  7. 제6항에 있어서,
    상기 스킵된 매크로블록 정보가 시그널링되는 계층은 상기 비트스트림 구문에서 매크로블록 계층보다 높은 상위계층이며, 상기 상위계층은 화상 계층인, 비디오 시퀀스의 복수의 비디오 화상을 처리하는 방법.
  8. 제6항에 있어서,
    상기 스킵된 매크로블록 정보가 시그널링되는 계층은 상기 비트스트림 구문에서 매크로블록 계층보다 높은 상위계층이며, 상기 상위계층의 헤더는 상기 스킵된 매크로블록 정보를 포함하는, 비디오 시퀀스의 복수의 비디오 화상을 처리하는 방법.
  9. 제6항에 있어서,
    상기 결과를 출력하는 단계는 상기 인코딩된 스킵된 매크로블록 정보를 비트스트림으로 시그널링하는 단계를 포함하고,
    P-화상은 상기 하나 이상의 스킵된 매크로블록 및 상기 하나 이상의 다른 예측 매크로블록을 포함하고,
    상기 하나 이상의 스킵된 매크로블록을 처리하는 단계는 비디오 인코딩 중에 수행되며,
    상기 하나 이상의 스킵된 매크로블록을 처리하는 단계는
    상기 하나 이상의 스킵된 매크로블록 각각에 대한 상기 예측 모션이 상기 하나 이상의 다른 예측 매크로블록의 모션 벡터들로부터 도출된 예측자 모션 벡터와 동일한 것으로 판정하는 단계, 및
    상기 하나 이상의 스킵된 매크로블록 각각에 잔여 정보가 없는 것으로 판정하는 단계를 포함하는, 비디오 시퀀스의 복수의 비디오 화상을 처리하는 방법.
  10. 제1항 내지 제9항 중 어느 한 항의 방법을 컴퓨터 시스템으로 하여금 수행하게 하기 위한 컴퓨터 실행가능 명령어를 저장하는 컴퓨터 판독가능한 매체.
  11. 비디오 시퀀스의 복수의 비디오 화상을 처리하기 위한 수단 - 상기 복수의 비디오 화상은 하나 이상의 예측 비디오 화상을 포함하고, 상기 하나 이상의 예측 비디오 화상 각각은 복수의 매크로블록을 포함함 - , 및
    상기 비디오 시퀀스의 상기 복수의 비디오 화상의 처리의 결과를 출력하기 위한 수단
    을 포함하고,
    상기 복수의 비디오 화상을 처리하기 위한 수단은
    복수의 이용가능한 코딩 모드 중에서 코딩 모드를 선택하기 위한 수단,
    상기 하나 이상의 예측 비디오 화상들 중 적어도 하나의 예측 비디오 화상의 상기 복수의 매크로블록들 중에서 하나 이상의 스킵된 매크로블록을 처리하기 위한 수단 - 상기 하나 이상의 예측 비디오 화상들 중 적어도 하나는 각각 단지 하나의 기준 비디오 화상으로부터 예측되고, 상기 하나 이상의 스킵된 매크로블록 각각은 상기 스킵된 매크로블록 주변의 하나 이상의 다른 매크로블록의 모션에 기초하는, 상기 스킵된 매크로블록에 대한 예측 모션을 이용하고, 상기 하나 이상의 스킵된 매크로블록 각각에는 잔여 정보가 없음 - , 및
    상기 비디오 시퀀스에 대한 비트스트림 구문에서의 매크로블록 계층보다 상위 계층에서 상기 하나 이상의 스킵된 매크로블록에 대한 스킵된 매크로블록 정보를 인코딩하기 위한 수단 - 상기 인코딩하는 것은 상기 스킵된 매크로블록 정보를 상기 복수의 이용가능한 코딩 모드들 중에서 선택된 상기 코딩 모드에 따라서 인코딩하는 것을 포함함 - 을 포함하는 시스템.
  12. 제11항에 있어서,
    상기 결과를 출력하는 것은 상기 인코딩된 스킵된 매크로블록 정보를 비트스트림으로 시그널링하는 것을 포함하고,
    상기 하나 이상의 스킵된 매크로블록을 처리하기 위한 수단은
    상기 하나 이상의 스킵된 매크로블록 각각에 대한 상기 예측 모션이 상기 적어도 하나의 예측 비디오 화상의 상기 하나 이상의 다른 매크로블록의 모션 벡터들로부터 도출된 예측자 모션 벡터와 동일한 것으로 판정하기 위한 수단, 및
    상기 하나 이상의 스킵된 매크로블록 각각에 잔여 정보가 없는 것으로 판정하기 위한 수단을 포함하고,
    상기 적어도 하나의 예측 비디오 화상은 P 화상인 시스템.
  13. 비디오 시퀀스의 복수의 비디오 화상을 처리하기 위한 수단 - 상기 복수의 비디오 화상은 복수의 예측 매크로블록을 포함하고, 상기 복수의 예측 매크로블록의 각 블록은 단지 하나의 기준 비디오 화상으로부터 예측됨 - , 및
    상기 비디오 시퀀스의 상기 복수의 비디오 화상의 처리의 결과를 출력하기 위한 수단을 포함하고,
    상기 복수의 비디오 화상을 처리하기 위한 수단은
    복수의 이용가능한 코딩 모드 중에서 코딩 모드를 선택하기 위한 수단,
    상기 복수의 예측 매크로블록들 중의 하나 이상의 스킵된 매크로블록에 대하여, 상기 비디오 시퀀스에 대한 비트스트림 구문의 일 계층에서, 스킵된 매크로블록 정보를 디코딩하기 위한 수단 - 상기 스킵된 매크로블록 정보는 상기 복수의 이용가능한 코딩 모드들 중에서 선택된 상기 코딩 모드에 따라서 인코딩되었음 - , 및
    상기 복수의 예측 매크로블록들 중의 상기 하나 이상의 스킵된 매크로블록을 처리하기 위한 수단 - 상기 하나 이상의 스킵된 매크로블록 각각은 상기 스킵된 매크로블록 주변의 하나 이상의 다른 예측 매크로블록의 모션에 기초하는, 상기 스킵된 매크로블록에 대한 예측 모션을 이용하고, 상기 하나 이상의 스킵된 매크로블록 각각에는 잔여 정보가 없음 - 을 포함하는 시스템.
  14. 제13항에 있어서,
    상기 비디오 시퀀스의 비트스트림 구문은 복수의 계층구조를 이루는 계층들을 포함하고,
    상기 복수의 계층구조를 이루는 계층들은 적어도 화상 계층 및 매크로블록 계층을 포함하는 시스템.
  15. 제14항에 있어서,
    상기 스킵된 매크로블록 정보가 시그널링되는 계층은 상기 비트스트림 구문에서 상기 매크로블록 계층보다 높은 상위계층이며, 상기 상위계층은 상기 화상 계층인 시스템.
  16. 제13항에 있어서,
    상기 스킵된 매크로블록 정보가 시그널링되는 계층은 상기 비트스트림 구문에서 매크로블록 계층보다 높은 상위계층이며, 상기 상위계층의 헤더는 상기 스킵된 매크로블록 정보를 포함하는 시스템.
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
KR1020047009359A 2001-12-17 2002-12-16 컴퓨터 시스템에서 비디오 시퀀스의 복수의 비디오 화상을 처리하는 방법, 시스템 및 컴퓨터 판독가능 매체 Expired - Lifetime KR100925968B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US34167401P 2001-12-17 2001-12-17
US60/341,674 2001-12-17
US37771202P 2002-05-03 2002-05-03
US60/377,712 2002-05-03
PCT/US2002/040208 WO2003053066A1 (en) 2001-12-17 2002-12-16 Skip macroblock coding

Publications (2)

Publication Number Publication Date
KR20040068257A KR20040068257A (ko) 2004-07-30
KR100925968B1 true KR100925968B1 (ko) 2009-11-09

Family

ID=26992608

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047009359A Expired - Lifetime KR100925968B1 (ko) 2001-12-17 2002-12-16 컴퓨터 시스템에서 비디오 시퀀스의 복수의 비디오 화상을 처리하는 방법, 시스템 및 컴퓨터 판독가능 매체

Country Status (8)

Country Link
US (10) US7200275B2 (ko)
EP (2) EP2262269B1 (ko)
JP (3) JP4610195B2 (ko)
KR (1) KR100925968B1 (ko)
CN (2) CN102316320B (ko)
AU (1) AU2002351389A1 (ko)
ES (2) ES2610430T3 (ko)
WO (1) WO2003053066A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200096862A (ko) * 2019-02-06 2020-08-14 소니 주식회사 잔차 레벨 데이터의 위치 의존적 엔트로피 코딩을 위한 임베디드 코덱(ebc) 회로

Families Citing this family (215)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6983018B1 (en) 1998-11-30 2006-01-03 Microsoft Corporation Efficient motion vector coding for video compression
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
US20050207663A1 (en) * 2001-07-31 2005-09-22 Weimin Zeng Searching method and system for best matching motion vector
US6882685B2 (en) * 2001-09-18 2005-04-19 Microsoft Corporation Block transform and quantization for image and video coding
ES2610430T3 (es) 2001-12-17 2017-04-27 Microsoft Technology Licensing, Llc Codificación por omisión de macrobloques
US7003035B2 (en) 2002-01-25 2006-02-21 Microsoft Corporation Video coding methods and apparatuses
HUE026930T2 (en) * 2002-03-15 2016-08-29 Nokia Technologies Oy Procedure for encoding motion in a series of images
AU2003237289A1 (en) 2002-05-29 2003-12-19 Pixonics, Inc. Maintaining a plurality of codebooks related to a video signal
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
US7280700B2 (en) * 2002-07-05 2007-10-09 Microsoft Corporation Optimization techniques for data compression
JP4724351B2 (ja) * 2002-07-15 2011-07-13 三菱電機株式会社 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法、および通信装置
US7970058B2 (en) * 2002-07-15 2011-06-28 Hitachi Consumer Electronics Co., Ltd. Moving picture encoding method and decoding method
US7154952B2 (en) 2002-07-19 2006-12-26 Microsoft Corporation Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures
JP4007594B2 (ja) * 2002-09-26 2007-11-14 株式会社東芝 動画像符号化装置及び方法、動画像符号化方式変換装置及び方法
US7428341B2 (en) 2003-05-27 2008-09-23 Zaxel Systems, Inc. Method and apparatus for lossless data transformation with preprocessing by adaptive compression, multidimensional prediction, multi-symbol decoding enhancement enhancements
US7415162B2 (en) * 2003-05-27 2008-08-19 Zaxel Systems, Inc. Method and apparatus for lossless data transformation with preprocessing by adaptive compression, multidimensional prediction, multi-symbol decoding enhancement enhancements
US20130107938A9 (en) * 2003-05-28 2013-05-02 Chad Fogg Method And Apparatus For Scalable Video Decoder Using An Enhancement Stream
NO318318B1 (no) * 2003-06-27 2005-02-28 Tandberg Telecom As Fremgangsmate for forbedret koding av video
US8218624B2 (en) * 2003-07-18 2012-07-10 Microsoft Corporation Fractional quantization step sizes for high bit rates
US7499495B2 (en) 2003-07-18 2009-03-03 Microsoft Corporation Extended range motion vectors
US7609763B2 (en) 2003-07-18 2009-10-27 Microsoft Corporation Advanced bi-directional predictive coding of video frames
US7602851B2 (en) * 2003-07-18 2009-10-13 Microsoft Corporation Intelligent differential quantization of video coding
US7426308B2 (en) * 2003-07-18 2008-09-16 Microsoft Corporation Intraframe and interframe interlace coding and decoding
US7738554B2 (en) 2003-07-18 2010-06-15 Microsoft Corporation DC coefficient signaling at small quantization step sizes
US7580584B2 (en) * 2003-07-18 2009-08-25 Microsoft Corporation Adaptive multiple quantization
US10554985B2 (en) 2003-07-18 2020-02-04 Microsoft Technology Licensing, Llc DC coefficient signaling at small quantization step sizes
US20050013498A1 (en) 2003-07-18 2005-01-20 Microsoft Corporation Coding of motion vector information
US8064520B2 (en) 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
US7369709B2 (en) * 2003-09-07 2008-05-06 Microsoft Corporation Conditional lapped transform
US7092576B2 (en) 2003-09-07 2006-08-15 Microsoft Corporation Bitplane coding for macroblock field/frame coding type information
US7567617B2 (en) 2003-09-07 2009-07-28 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
US7961786B2 (en) * 2003-09-07 2011-06-14 Microsoft Corporation Signaling field type information
US7606308B2 (en) * 2003-09-07 2009-10-20 Microsoft Corporation Signaling macroblock mode information for macroblocks of interlaced forward-predicted fields
US7620106B2 (en) 2003-09-07 2009-11-17 Microsoft Corporation Joint coding and decoding of a reference field selection and differential motion vector information
US7599438B2 (en) 2003-09-07 2009-10-06 Microsoft Corporation Motion vector block pattern coding and decoding
US7577200B2 (en) 2003-09-07 2009-08-18 Microsoft Corporation Extended range variable length coding/decoding of differential motion vector information
US8107531B2 (en) * 2003-09-07 2012-01-31 Microsoft Corporation Signaling and repeat padding for skip frames
US7724827B2 (en) 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US7317839B2 (en) * 2003-09-07 2008-01-08 Microsoft Corporation Chroma motion vector derivation for interlaced forward-predicted fields
US7623574B2 (en) 2003-09-07 2009-11-24 Microsoft Corporation Selecting between dominant and non-dominant motion vector predictor polarities
US7616692B2 (en) 2003-09-07 2009-11-10 Microsoft Corporation Hybrid motion vector prediction for interlaced forward-predicted fields
US7253374B2 (en) * 2003-09-15 2007-08-07 General Motors Corporation Sheet-to-tube welded structure and method
CN1615019A (zh) * 2003-11-05 2005-05-11 华为技术有限公司 一种视频宏块模式编码方法
EP1538844A3 (en) * 2003-11-26 2006-05-31 Samsung Electronics Co., Ltd. Color image residue transformation and encoding method
CN1332563C (zh) * 2003-12-31 2007-08-15 中国科学院计算技术研究所 一种视频图像跳过宏块的编码方法
KR20060123632A (ko) * 2004-04-15 2006-12-01 마쯔시다덴기산교 가부시키가이샤 직사각형 영역에 대한 버스트 메모리 액세스 방법
WO2005104563A1 (ja) * 2004-04-22 2005-11-03 Mitsubishi Denki Kabushiki Kaisha 画像符号化装置及び画像復号装置
US7801383B2 (en) 2004-05-15 2010-09-21 Microsoft Corporation Embedded scalar quantizers with arbitrary dead-zone ratios
US7792188B2 (en) 2004-06-27 2010-09-07 Apple Inc. Selecting encoding types and predictive modes for encoding video data
US8340177B2 (en) * 2004-07-12 2012-12-25 Microsoft Corporation Embedded base layer codec for 3D sub-band coding
US8442108B2 (en) * 2004-07-12 2013-05-14 Microsoft Corporation Adaptive updates in motion-compensated temporal filtering
US8374238B2 (en) * 2004-07-13 2013-02-12 Microsoft Corporation Spatial scalability in 3D sub-band decoding of SDMCTF-encoded video
KR101016168B1 (ko) * 2004-07-20 2011-02-17 콸콤 인코포레이티드 비디오 압축에 대한 인코더 보조-프레임 레이트 업 컨버젼(ea-fruc)을 위한 방법 및 장치
US9509991B2 (en) * 2004-08-12 2016-11-29 Gurulogic Microsystems Oy Processing and reproduction of frames
GB0418279D0 (en) * 2004-08-16 2004-09-15 Nds Ltd System for providing access to operation information
US8861601B2 (en) * 2004-08-18 2014-10-14 Qualcomm Incorporated Encoder-assisted adaptive video frame interpolation
CN101005620B (zh) * 2004-09-03 2011-08-10 微软公司 为隔行扫描和逐行扫描视频编码和解码宏块和运动信息中的革新
KR100647294B1 (ko) 2004-11-09 2006-11-23 삼성전자주식회사 화상 데이터 부호화 및 복호화 방법 및 장치
US7671894B2 (en) * 2004-12-17 2010-03-02 Mitsubishi Electric Research Laboratories, Inc. Method and system for processing multiview videos for view synthesis using skip and direct modes
US20060140591A1 (en) * 2004-12-28 2006-06-29 Texas Instruments Incorporated Systems and methods for load balancing audio/video streams
WO2006070301A1 (en) * 2004-12-29 2006-07-06 Koninklijke Philips Electronics N.V. Method and apparatus for encoding video data stream
US8315509B2 (en) 2005-01-27 2012-11-20 Thomson Licensing Video player for digital video server
CN100399828C (zh) * 2005-02-02 2008-07-02 腾讯科技(深圳)有限公司 一种视频数据的编码方法
US20060235683A1 (en) * 2005-04-13 2006-10-19 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Lossless encoding of information with guaranteed maximum bitrate
US7788106B2 (en) * 2005-04-13 2010-08-31 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Entropy coding with compact codebooks
US7991610B2 (en) * 2005-04-13 2011-08-02 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Adaptive grouping of parameters for enhanced coding efficiency
TWI284855B (en) * 2005-04-29 2007-08-01 Sunplus Technology Co Ltd Image processing method and method for detecting difference between different image macro-blocks
US20060260752A1 (en) * 2005-05-23 2006-11-23 Ward/Kraft System and method for producing small production runs of products having removable coatings
US8422546B2 (en) 2005-05-25 2013-04-16 Microsoft Corporation Adaptive video encoding using a perceptual model
KR100636785B1 (ko) * 2005-05-31 2006-10-20 삼성전자주식회사 다시점 입체 영상 시스템 및 이에 적용되는 압축 및 복원방법
KR101138393B1 (ko) * 2005-07-15 2012-04-26 삼성전자주식회사 부호화 모드에 따른 컬러 성분간 예측을 이용한 컬러 영상및 비디오 부호화/복호화 방법 및 장치
US8036274B2 (en) 2005-08-12 2011-10-11 Microsoft Corporation SIMD lapped transform-based digital media encoding/decoding
US9077960B2 (en) * 2005-08-12 2015-07-07 Microsoft Corporation Non-zero coefficient block pattern coding
US8654858B2 (en) * 2005-08-25 2014-02-18 Comtech Ef Data Corp. Methods and apparatus for differential encoding
KR100736096B1 (ko) * 2005-12-12 2007-07-06 삼성전자주식회사 비디오 신호를 그룹별로 인코딩 및 디코딩하는 방법 및장치
US8094721B2 (en) * 2005-12-29 2012-01-10 Cisco Technology, Inc. Methods and apparatuses for selecting a mode within a compression scheme
KR101256548B1 (ko) * 2005-12-30 2013-04-19 삼성전자주식회사 영상 부호화 및 복호화 장치 및 그 방법
US7956930B2 (en) * 2006-01-06 2011-06-07 Microsoft Corporation Resampling and picture resizing operations for multi-resolution video coding and decoding
US8306118B1 (en) * 2006-03-01 2012-11-06 Maxim Integrated, Inc. High quality low bitrate video coding by enabling and disabling a non-residual mode
US8848789B2 (en) * 2006-03-27 2014-09-30 Qualcomm Incorporated Method and system for coding and decoding information associated with video compression
KR100959538B1 (ko) 2006-03-30 2010-05-27 엘지전자 주식회사 비디오 신호를 디코딩/인코딩하기 위한 방법 및 장치
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
US8059721B2 (en) 2006-04-07 2011-11-15 Microsoft Corporation Estimating sample-domain distortion in the transform domain with rounding compensation
US7974340B2 (en) 2006-04-07 2011-07-05 Microsoft Corporation Adaptive B-picture quantization control
US8130828B2 (en) 2006-04-07 2012-03-06 Microsoft Corporation Adjusting quantization to preserve non-zero AC coefficients
US8711925B2 (en) 2006-05-05 2014-04-29 Microsoft Corporation Flexible quantization
NO325859B1 (no) 2006-05-31 2008-08-04 Tandberg Telecom As Kodek-preprosessering
WO2007148906A1 (en) * 2006-06-19 2007-12-27 Lg Electronics, Inc. Method and apparatus for processing a vedeo signal
KR100790150B1 (ko) * 2006-07-28 2008-01-02 삼성전자주식회사 비디오 부호화기 및 비디오 데이터 프레임 부호화 방법
US8888592B1 (en) 2009-06-01 2014-11-18 Sony Computer Entertainment America Llc Voice overlay
JP2008048240A (ja) * 2006-08-18 2008-02-28 Nec Electronics Corp ビットプレーン復号装置およびビットプレーン復号方法
WO2008023968A1 (en) 2006-08-25 2008-02-28 Lg Electronics Inc A method and apparatus for decoding/encoding a video signal
CN101150721B (zh) * 2006-09-21 2010-10-13 凌阳科技股份有限公司 具有适应性位元平面编码模式的编码方法
US8599926B2 (en) 2006-10-12 2013-12-03 Qualcomm Incorporated Combined run-length coding of refinement and significant coefficients in scalable video coding enhancement layers
US8325819B2 (en) 2006-10-12 2012-12-04 Qualcomm Incorporated Variable length coding table selection based on video block type for refinement coefficient coding
US8565314B2 (en) 2006-10-12 2013-10-22 Qualcomm Incorporated Variable length coding table selection based on block type statistics for refinement coefficient coding
US9319700B2 (en) 2006-10-12 2016-04-19 Qualcomm Incorporated Refinement coefficient coding based on history of corresponding transform coefficient values
CN101536530B (zh) * 2006-11-07 2011-06-08 三星电子株式会社 基于运动估计进行视频编码和解码的方法和设备
KR101366086B1 (ko) 2007-01-03 2014-02-21 삼성전자주식회사 잔차 블록의 계수들에 대한 부호화 결정 방법, 장치,인코더 및 디코더
KR20080066522A (ko) * 2007-01-11 2008-07-16 삼성전자주식회사 다시점 영상의 부호화, 복호화 방법 및 장치
US9826197B2 (en) 2007-01-12 2017-11-21 Activevideo Networks, Inc. Providing television broadcasts over a managed network and interactive content over an unmanaged network to a client device
US8238424B2 (en) 2007-02-09 2012-08-07 Microsoft Corporation Complexity-based adaptive preprocessing for multiple-pass video compression
US8942289B2 (en) * 2007-02-21 2015-01-27 Microsoft Corporation Computational complexity and precision control in transform-based digital media codec
AU2008218929B2 (en) * 2007-02-23 2012-09-13 General Electric Company Differential non-linear strain measurement using binary code symbol
US8498335B2 (en) 2007-03-26 2013-07-30 Microsoft Corporation Adaptive deadzone size adjustment in quantization
KR101366241B1 (ko) * 2007-03-28 2014-02-21 삼성전자주식회사 영상 부호화, 복호화 방법 및 장치
US8243797B2 (en) 2007-03-30 2012-08-14 Microsoft Corporation Regions of interest for quality adjustments
US8189676B2 (en) * 2007-04-05 2012-05-29 Hong Kong University Of Science & Technology Advance macro-block entropy coding for advanced video standards
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
US9578290B2 (en) * 2007-08-09 2017-02-21 Gvbb Holdings S.A.R.L. Video data reproduction system
JPWO2009022531A1 (ja) * 2007-08-13 2010-11-11 日本電気株式会社 データ圧縮伸張方法
KR101409526B1 (ko) * 2007-08-28 2014-06-20 한국전자통신연구원 영상 데이터의 비트율을 일정하게 유지시키는 장치 및 방법
US8605786B2 (en) * 2007-09-04 2013-12-10 The Regents Of The University Of California Hierarchical motion vector processing method, software and devices
RU2506709C2 (ru) * 2007-12-05 2014-02-10 Ол2, Инк. Основанная на фрагментах система и способ сжатия видео
US8613673B2 (en) 2008-12-15 2013-12-24 Sony Computer Entertainment America Llc Intelligent game loading
US8968087B1 (en) 2009-06-01 2015-03-03 Sony Computer Entertainment America Llc Video game overlay
US8147339B1 (en) 2007-12-15 2012-04-03 Gaikai Inc. Systems and methods of serving game video
CN103037220B (zh) * 2008-01-04 2016-01-13 华为技术有限公司 视频编码、解码方法及装置和视频处理系统
KR101446773B1 (ko) * 2008-02-20 2014-10-02 삼성전자주식회사 영상 복구를 이용한 인터 예측 부호화, 복호화 방법 및장치
US8953673B2 (en) * 2008-02-29 2015-02-10 Microsoft Corporation Scalable video coding and decoding with sample bit depth and chroma high-pass residual layers
KR101431545B1 (ko) * 2008-03-17 2014-08-20 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
US8711948B2 (en) 2008-03-21 2014-04-29 Microsoft Corporation Motion-compensated prediction of inter-layer residuals
US8189933B2 (en) 2008-03-31 2012-05-29 Microsoft Corporation Classifying and controlling encoding quality for textured, dark smooth and smooth video content
US8447591B2 (en) 2008-05-30 2013-05-21 Microsoft Corporation Factorization of overlapping tranforms into two block transforms
US8370887B2 (en) 2008-05-30 2013-02-05 Microsoft Corporation Media streaming with enhanced seek operation
US8897359B2 (en) 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
US9571856B2 (en) 2008-08-25 2017-02-14 Microsoft Technology Licensing, Llc Conversion operations in scalable video encoding and decoding
US8213503B2 (en) 2008-09-05 2012-07-03 Microsoft Corporation Skip modes for inter-layer residual video coding and decoding
US8325796B2 (en) 2008-09-11 2012-12-04 Google Inc. System and method for video coding using adaptive segmentation
US8503527B2 (en) 2008-10-03 2013-08-06 Qualcomm Incorporated Video coding with large macroblocks
WO2010050699A2 (ko) * 2008-10-27 2010-05-06 에스케이텔레콤 주식회사 동영상 부호화/복호화 장치, 이를 위한 적응적 디블록킹 필터링 장치와 필터링 방법, 및 기록 매체
KR101597253B1 (ko) * 2008-10-27 2016-02-24 에스케이 텔레콤주식회사 동영상 부호화/복호화 장치, 이를 위한 적응적 디블록킹 필터링 장치와 필터링 방법, 및 기록 매체
US8926435B2 (en) 2008-12-15 2015-01-06 Sony Computer Entertainment America Llc Dual-mode program execution
CN101771416B (zh) * 2008-12-29 2013-06-05 华为技术有限公司 位平面编码和解码方法、通信系统及相关设备
US8189666B2 (en) 2009-02-02 2012-05-29 Microsoft Corporation Local picture identifier and computation of co-located information
WO2010117129A2 (en) * 2009-04-07 2010-10-14 Lg Electronics Inc. Broadcast transmitter, broadcast receiver and 3d video data processing method thereof
US8379728B2 (en) * 2009-04-17 2013-02-19 Texas Instruments Incorporated Adaptive real-time video prediction mode method and computer-readable medium and processor for storage and execution thereof
US20100283790A1 (en) * 2009-05-11 2010-11-11 Yin Jingjiang Devices to process interlaced video over dsi
US8644389B2 (en) * 2009-05-15 2014-02-04 Texas Instruments Incorporated Real-time video image processing
US9723319B1 (en) 2009-06-01 2017-08-01 Sony Interactive Entertainment America Llc Differentiation for achieving buffered decoding and bufferless decoding
KR101631280B1 (ko) * 2009-07-28 2016-06-16 삼성전자주식회사 스킵 모드에 기초한 영상을 복호화하는 방법 및 장치
KR101631278B1 (ko) * 2009-07-28 2016-06-16 삼성전자주식회사 모드 정보를 부호화, 복호화하는 방법 및 장치
KR101710622B1 (ko) * 2009-07-28 2017-02-28 삼성전자주식회사 스킵 모드에 따라 영상을 부호화, 복호화하는 방법 및 장치
KR20110014000A (ko) * 2009-08-04 2011-02-10 광운대학교 산학협력단 영상 데이터의 디블록킹 필터링 장치 및 방법과 이를 이용한 영상 복호화 장치 및 방법
KR101377530B1 (ko) 2009-08-21 2014-03-27 에스케이텔레콤 주식회사 적응적 움직임 벡터 해상도를 이용한 영상 부호화/복호화 방법 및 장치
WO2011021914A2 (ko) 2009-08-21 2011-02-24 에스케이텔레콤 주식회사 적응적 움직임 벡터 해상도를 이용한 영상 부호화/복호화 방법 및 장치
CN102550024B (zh) 2009-09-04 2015-08-19 皇家飞利浦电子股份有限公司 可伸缩图像编码和解码
US8861879B2 (en) 2009-09-17 2014-10-14 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding image based on skip mode
KR101070173B1 (ko) * 2009-11-10 2011-10-05 갤럭시아커뮤니케이션즈 주식회사 동영상 압축 효율을 높이기 위한 변환블록의 부호화 장치와 방법
JP2011166326A (ja) * 2010-02-05 2011-08-25 Sony Corp 画像処理装置および方法
WO2011121894A1 (ja) * 2010-03-31 2011-10-06 三菱電機株式会社 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
WO2011126277A2 (en) * 2010-04-05 2011-10-13 Samsung Electronics Co., Ltd. Low complexity entropy-encoding/decoding method and apparatus
WO2011126282A2 (en) 2010-04-05 2011-10-13 Samsung Electronics Co., Ltd. Method and apparatus for encoding video by using transformation index, and method and apparatus for decoding video by using transformation index
US9049450B2 (en) 2010-04-05 2015-06-02 Samsung Electronics Co., Ltd. Method and apparatus for encoding video based on internal bit depth increment, and method and apparatus for decoding video based on internal bit depth increment
SI2947878T1 (sl) * 2010-04-23 2017-05-31 M&K Holdings Inc. Naprava za kodiranje slike
KR20110123651A (ko) 2010-05-07 2011-11-15 한국전자통신연구원 생략 부호화를 이용한 영상 부호화 및 복호화 장치 및 그 방법
JP2012019447A (ja) * 2010-07-09 2012-01-26 Sony Corp 画像処理装置および方法
US8560331B1 (en) 2010-08-02 2013-10-15 Sony Computer Entertainment America Llc Audio acceleration
KR20120016991A (ko) * 2010-08-17 2012-02-27 오수미 인터 프리딕션 방법
WO2012037170A1 (en) 2010-09-13 2012-03-22 Gaikai, Inc. Dual mode program execution and loading
CN103403694B (zh) 2010-09-13 2019-05-21 索尼电脑娱乐美国公司 附加组件管理
KR20120035096A (ko) * 2010-10-04 2012-04-13 한국전자통신연구원 쿼드 트리 변환 구조에서 부가 정보의 시그널링 방법 및 장치
KR20240038124A (ko) * 2010-11-04 2024-03-22 지이 비디오 컴프레션, 엘엘씨 블록 병합 및 스킵 모드를 지원하는 화상 코딩
CN104811706B (zh) * 2011-01-06 2017-10-27 三星电子株式会社 视频的编码方法和装置及视频的解码方法和装置
US9154799B2 (en) 2011-04-07 2015-10-06 Google Inc. Encoding and decoding motion via image segmentation
US8891627B1 (en) * 2011-04-18 2014-11-18 Google Inc. System and method for coding video using color segmentation
KR101383775B1 (ko) * 2011-05-20 2014-04-14 주식회사 케이티 화면 내 예측 방법 및 장치
EP2721826A4 (en) * 2011-06-14 2015-05-06 Zhou Wang METHOD AND SYSTEM FOR OPTIMIZATION OF FLOW-DISTORTION BASED ON STRUCTURAL SIMILARITY FOR PERCEPTUAL VIDEO CODING
CN107333142B (zh) * 2011-06-16 2020-06-02 Ge视频压缩有限责任公司 解码器、编码器及其解码方法和编码方法
CN103636220B (zh) * 2011-06-28 2017-10-13 寰发股份有限公司 编码/解码帧内预测模式的方法及装置
GB2492397A (en) 2011-06-30 2013-01-02 Canon Kk Encoding and decoding residual image data using probabilistic models
US20130016769A1 (en) 2011-07-17 2013-01-17 Qualcomm Incorporated Signaling picture size in video coding
EP2735154A1 (en) * 2011-07-22 2014-05-28 Motorola Mobility LLC Device and methods for scanning rectangular-shaped transforms in video coding
CN104025589B (zh) * 2011-11-03 2018-01-12 汤姆逊许可公司 基于图像细化的视频编码和解码
US10390046B2 (en) * 2011-11-07 2019-08-20 Qualcomm Incorporated Coding significant coefficient information in transform skip mode
EP2795901A1 (en) 2011-12-20 2014-10-29 Motorola Mobility LLC Method and apparatus for efficient transform unit encoding
EP2815582B1 (en) 2012-01-09 2019-09-04 ActiveVideo Networks, Inc. Rendering of an interactive lean-backward user interface on a television
US9262670B2 (en) 2012-02-10 2016-02-16 Google Inc. Adaptive region of interest
US9800945B2 (en) 2012-04-03 2017-10-24 Activevideo Networks, Inc. Class-based intelligent multiplexing over unmanaged networks
CN104335582B (zh) * 2012-06-12 2019-03-08 太阳专利托管公司 动态图像编解码方法以及动态图像编解码装置
US20140056347A1 (en) 2012-08-23 2014-02-27 Microsoft Corporation Non-Transform Coding
CN104737542B (zh) * 2013-01-30 2018-09-25 英特尔公司 用于下一代视频的内容自适应熵编码
US20140254659A1 (en) * 2013-03-11 2014-09-11 Mediatek Inc. Video coding method using at least evaluated visual quality and related video coding apparatus
WO2014145921A1 (en) 2013-03-15 2014-09-18 Activevideo Networks, Inc. A multiple-mode system and method for providing user selectable video content
US9326047B2 (en) 2013-06-06 2016-04-26 Activevideo Networks, Inc. Overlay rendering of user interface onto source video
FR3011429A1 (fr) * 2013-09-27 2015-04-03 Orange Codage et decodage video par heritage d'un champ de vecteurs de mouvement
WO2015052787A1 (ja) * 2013-10-09 2015-04-16 株式会社日立製作所 解析データ表示システムおよび解析データの転送表示方法
JP6336058B2 (ja) * 2013-10-14 2018-06-06 マイクロソフト テクノロジー ライセンシング,エルエルシー ビデオ及び画像符号化及び復号のためのベースカラーインデックスマップモードの機能
US9788029B2 (en) 2014-04-25 2017-10-10 Activevideo Networks, Inc. Intelligent multiplexing using class-based, multi-dimensioned decision logic for managed networks
US9392272B1 (en) 2014-06-02 2016-07-12 Google Inc. Video coding using adaptive source variance based partitioning
US9578324B1 (en) 2014-06-27 2017-02-21 Google Inc. Video coding using statistical-based spatially differentiated partitioning
US10523985B2 (en) 2014-12-24 2019-12-31 Activevideo Networks, Inc. Managing deep and shallow buffers in a thin-client device of a digital media distribution network
US10264293B2 (en) 2014-12-24 2019-04-16 Activevideo Networks, Inc. Systems and methods for interleaving video streams on a client device
US10306229B2 (en) * 2015-01-26 2019-05-28 Qualcomm Incorporated Enhanced multiple transforms for prediction residual
US10827186B2 (en) 2016-08-25 2020-11-03 Intel Corporation Method and system of video coding with context decoding and reconstruction bypass
WO2018041840A1 (en) * 2016-08-29 2018-03-08 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Improvements for greatest common line index (gcli) video coding
EP3291559A1 (en) * 2016-08-29 2018-03-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Encoder for encoding, and decoder for decoding, a 2-dimensional digital image representation into a data stream using further encoding of one or more remaining bits below the quantization factor
US10694202B2 (en) * 2016-12-01 2020-06-23 Qualcomm Incorporated Indication of bilateral filter usage in video coding
WO2019076138A1 (en) 2017-10-16 2019-04-25 Huawei Technologies Co., Ltd. Encoding method and apparatus
JP7121133B2 (ja) 2018-02-23 2022-08-17 華為技術有限公司 ビデオ符号化のための位置依存の空間変化変換
CN114374840B (zh) * 2018-04-04 2024-04-12 阿里健康信息技术有限公司 一种图像编码方法、装置及存储介质
WO2019211519A1 (en) * 2018-05-02 2019-11-07 Nokia Technologies Oy A method and an apparatus for volumetric video encoding and decoding
PL3782361T3 (pl) 2018-05-31 2023-12-27 Huawei Technologies Co., Ltd. Przestrzennie zmienna transformacja z transformacją typu adaptacyjnego
US11323748B2 (en) 2018-12-19 2022-05-03 Qualcomm Incorporated Tree-based transform unit (TU) partition for video coding
CN110087077A (zh) * 2019-06-05 2019-08-02 广州酷狗计算机科技有限公司 视频编码方法及装置、存储介质
US11671607B2 (en) 2019-08-23 2023-06-06 Mitsubishi Electric Corporation Image transmission device, image reception device and computer readable medium
MX2022006718A (es) * 2019-12-11 2022-07-12 Sony Group Corp Dispositivo de procesamiento de imagenes, metodo de generacion de flujo de bits, metodo de generacion de datos de coeficiente y metodo de generacion de coeficiente de cuantificacion.
WO2021120067A1 (zh) * 2019-12-18 2021-06-24 深圳市大疆创新科技有限公司 数据编码方法、数据解码方法、数据处理方法、编码器、解码器、系统、可移动平台与计算机可读介质
CN115280769A (zh) * 2020-03-12 2022-11-01 交互数字Vc控股法国公司 用于视频编码和解码的方法和设备
US11683509B1 (en) 2021-10-28 2023-06-20 Meta Platforms, Inc. Prediction unit skip detection in encoder
CN120151513A (zh) * 2022-01-07 2025-06-13 杭州海康威视数字技术股份有限公司 图像编解码方法、装置及存储介质
US20240357162A1 (en) * 2023-04-24 2024-10-24 Qualcomm Incorporated Receiver selected decimation scheme for video coding

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5552832A (en) 1994-10-26 1996-09-03 Intel Corporation Run-length encoding sequence for video signals

Family Cites Families (201)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US546129A (en) * 1895-09-10 Stool
JPS56128070A (en) 1980-03-13 1981-10-07 Fuji Photo Film Co Ltd Band compressing equipment of variable density picture
JPH031688Y2 (ko) 1985-02-20 1991-01-18
JPS61205086A (ja) 1985-03-08 1986-09-11 Mitsubishi Electric Corp 画像符号化復号化装置
DE3684047D1 (de) 1985-07-02 1992-04-09 Matsushita Electric Industrial Co Ltd Vorrichtung zur blockkodierung.
US4760461A (en) * 1986-02-28 1988-07-26 Kabushiki Kaisha Toshiba Binary data compression and expansion processing apparatus
FR2599577B1 (fr) 1986-05-29 1988-08-05 Guichard Jacques Procede de codage par transformation pour la transmission de signaux d'image.
US4800432A (en) 1986-10-24 1989-01-24 The Grass Valley Group, Inc. Video Difference key generator
DE3704777C1 (de) 1987-02-16 1988-04-07 Ant Nachrichtentech Verfahren zum UEbertragen und zum Wiedergeben von Fernsehbildsequenzen
NL8700565A (nl) 1987-03-10 1988-10-03 Philips Nv Televisiesysteem waarin aan een transformatiekodering onderworpen gedigitaliseerde beeldsignalen worden overgebracht van een kodeerstation naar een dekodeerstation.
DE3855114D1 (de) 1987-05-06 1996-04-25 Philips Patentverwaltung System zur Übertragung von Videobildern
DE3717057A1 (de) 1987-05-21 1988-12-01 Bayer Ag Verfahren zur herstellung von isocyanaten
US5033105A (en) * 1987-08-11 1991-07-16 Apple Computer Video compression algorithm
JP2524044Y2 (ja) 1988-05-16 1997-01-29 ミノルタ株式会社 ギヤ装置の誤差吸収機構
FR2648254B2 (fr) 1988-09-23 1991-08-30 Thomson Csf Procede et dispositif d'estimation de mouvement dans une sequence d'images animees
US5379351A (en) 1992-02-19 1995-01-03 Integrated Information Technology, Inc. Video compression/decompression processing and processors
JPH07109990B2 (ja) 1989-04-27 1995-11-22 日本ビクター株式会社 適応型フレーム間予測符号化方法及び復号方法
JP2562499B2 (ja) 1989-05-29 1996-12-11 日本電信電話株式会社 高能率画像符号化装置およびその復号化装置
JPH0822064B2 (ja) 1990-02-15 1996-03-04 三菱電機株式会社 変換符号化方式
EP0713340B1 (en) 1989-10-14 2001-08-22 Sony Corporation Video signal coding/decoding method and apparatus
JPH082107B2 (ja) 1990-03-02 1996-01-10 国際電信電話株式会社 動画像のハイブリッド符号化方法及びその装置
JPH03265290A (ja) 1990-03-14 1991-11-26 Toshiba Corp テレビジョン信号走査線変換器
JP2510456Y2 (ja) 1990-03-30 1996-09-11 三菱農機株式会社 トラクタ3点リンクの傾斜制御装置
US5091782A (en) 1990-04-09 1992-02-25 General Instrument Corporation Apparatus and method for adaptively compressing successive blocks of digital video
US4999705A (en) 1990-05-03 1991-03-12 At&T Bell Laboratories Three dimensional motion compensated video coding
US5155594A (en) 1990-05-11 1992-10-13 Picturetel Corporation Hierarchical encoding method and apparatus employing background references for efficiently communicating image sequences
US5068724A (en) 1990-06-15 1991-11-26 General Instrument Corporation Adaptive motion compensation for digital television
JP3037383B2 (ja) 1990-09-03 2000-04-24 キヤノン株式会社 画像処理システム及びその方法
US5193004A (en) 1990-12-03 1993-03-09 The Trustees Of Columbia University In The City Of New York Systems and methods for coding even fields of interlaced video sequences
US5111292A (en) 1991-02-27 1992-05-05 General Electric Company Priority selection apparatus as for a video signal processor
JPH0630280A (ja) 1991-03-19 1994-02-04 Nec Eng Ltd 2値画像データのブロック別選択型符号化前処理方式
DE4113505A1 (de) 1991-04-25 1992-10-29 Thomson Brandt Gmbh Verfahren zur bildsignalcodierung
JPH04334188A (ja) 1991-05-08 1992-11-20 Nec Corp 動画像信号の符号化方式
US5317397A (en) 1991-05-31 1994-05-31 Kabushiki Kaisha Toshiba Predictive coding using spatial-temporal filtering and plural motion vectors
JP2977104B2 (ja) 1991-07-26 1999-11-10 ソニー株式会社 動画像データエンコード方法および装置、並びに動画像データデコード方法および装置
US5539466A (en) 1991-07-30 1996-07-23 Sony Corporation Efficient coding apparatus for picture signal and decoding apparatus therefor
JP3001688B2 (ja) 1991-08-05 2000-01-24 株式会社大一商会 パチンコ球の循環制御装置
JP2991833B2 (ja) 1991-10-11 1999-12-20 松下電器産業株式会社 インターレス走査ディジタルビデオ信号の符号化装置及びその方法
JP2962012B2 (ja) 1991-11-08 1999-10-12 日本ビクター株式会社 動画像符号化装置及びその復号装置
US5227878A (en) 1991-11-15 1993-07-13 At&T Bell Laboratories Adaptive coding and decoding of frames and fields of video
JP2562499Y2 (ja) 1991-12-24 1998-02-10 株式会社三陽電機製作所 運賃箱
US5510840A (en) 1991-12-27 1996-04-23 Sony Corporation Methods and devices for encoding and decoding frame signals and recording medium therefor
JPH05199422A (ja) * 1992-01-20 1993-08-06 Fujitsu General Ltd 画像伝送装置
JP2524044B2 (ja) 1992-01-22 1996-08-14 松下電器産業株式会社 画像符号化方法及び画像符号化装置
US5287420A (en) 1992-04-08 1994-02-15 Supermac Technology Method for image compression on a personal computer
KR0166716B1 (ko) 1992-06-18 1999-03-20 강진구 블럭 dpcm을 이용한 부호화/복호화방법 및 장치
US6226327B1 (en) 1992-06-29 2001-05-01 Sony Corporation Video coding method and apparatus which select between frame-based and field-based predictive modes
US6101313A (en) 1992-06-29 2000-08-08 Sony Corporation High efficiency encoding and decoding of picture signals and recording medium containing same
US5412435A (en) 1992-07-03 1995-05-02 Kokusai Denshin Denwa Kabushiki Kaisha Interlaced video signal motion compensation prediction system
JP2510456B2 (ja) 1992-08-27 1996-06-26 三菱電機株式会社 画像符号化装置
US5596659A (en) * 1992-09-01 1997-01-21 Apple Computer, Inc. Preprocessing and postprocessing for vector quantization
JPH06153180A (ja) 1992-09-16 1994-05-31 Fujitsu Ltd 画像データ符号化方法及び装置
JPH06113287A (ja) 1992-09-30 1994-04-22 Matsushita Electric Ind Co Ltd 画像符号化装置と画像復号化装置
US5982437A (en) 1992-10-26 1999-11-09 Sony Corporation Coding method and system, and decoding method and system
JPH06225279A (ja) 1992-10-26 1994-08-12 Sony Corp 符号化方法、復号化方法、符号化装置及び復号化装置
KR0166722B1 (ko) 1992-11-30 1999-03-20 윤종용 부호화 및 복호화방법 및 그 장치
US5400075A (en) 1993-01-13 1995-03-21 Thomson Consumer Electronics, Inc. Adaptive variable length encoder/decoder
US5491516A (en) 1993-01-14 1996-02-13 Rca Thomson Licensing Corporation Field elimination apparatus for a video compression/decompression system
US5544286A (en) 1993-01-29 1996-08-06 Microsoft Corporation Digital video data compression technique
US5592228A (en) 1993-03-04 1997-01-07 Kabushiki Kaisha Toshiba Video encoder using global motion estimation and polygonal patch motion estimation
US5376968A (en) 1993-03-11 1994-12-27 General Instrument Corporation Adaptive compression of digital video data using different modes such as PCM and DPCM
JP3312417B2 (ja) 1993-03-18 2002-08-05 ソニー株式会社 画像信号符号化装置及び画像信号復号化装置
JPH06276481A (ja) 1993-03-18 1994-09-30 Sony Corp 画像信号符号化及び復号化方法、並びに記録媒体
EP2375753B1 (en) 1993-03-24 2013-09-11 Sony Corporation Method of decoding picture signal and apparatus thereof
JPH06327001A (ja) * 1993-05-11 1994-11-25 Olympus Optical Co Ltd 画像処理装置
DE69416717T2 (de) 1993-05-21 1999-10-07 Nippon Telegraph And Telephone Corp., Tokio/Tokyo Bewegtbildkoder und -dekoder
US5448297A (en) 1993-06-16 1995-09-05 Intel Corporation Method and system for encoding images using skip blocks
US5517327A (en) 1993-06-30 1996-05-14 Minolta Camera Kabushiki Kaisha Data processor for image data using orthogonal transformation
US5477272A (en) 1993-07-22 1995-12-19 Gte Laboratories Incorporated Variable-block size multi-resolution motion estimation scheme for pyramid coding
US5453799A (en) 1993-11-05 1995-09-26 Comsat Corporation Unified motion estimation architecture
JPH07135660A (ja) 1993-11-12 1995-05-23 Matsushita Electric Ind Co Ltd 動きベクトル符号化装置
US5465118A (en) 1993-12-17 1995-11-07 International Business Machines Corporation Luminance transition coding method for software motion video compression/decompression
EP0675652B1 (fr) 1994-03-30 2009-05-13 Nxp B.V. Procédé et circuit d'estimation de mouvement entre images à deux trames entrelacées, et dispositif de codage de signaux numériques comprenant un tel circuit
US5550541A (en) 1994-04-01 1996-08-27 Dolby Laboratories Licensing Corporation Compact source coding tables for encoder/decoder system
US5767898A (en) 1994-06-23 1998-06-16 Sanyo Electric Co., Ltd. Three-dimensional image coding by merger of left and right images
US5796438A (en) * 1994-07-05 1998-08-18 Sony Corporation Methods and apparatus for interpolating picture information
US5594504A (en) 1994-07-06 1997-01-14 Lucent Technologies Inc. Predictive video coding using a motion vector updating routine
JP3474005B2 (ja) 1994-10-13 2003-12-08 沖電気工業株式会社 動画像符号化方法及び動画像復号方法
EP0710033A3 (en) 1994-10-28 1999-06-09 Matsushita Electric Industrial Co., Ltd. MPEG video decoder having a high bandwidth memory
JPH08129128A (ja) 1994-11-01 1996-05-21 Canon Inc 光電変換素子又はラインセンサを用いた蓄積制御装置、及び焦点検出装置、視線検出装置及びカメラ
JPH08140099A (ja) 1994-11-11 1996-05-31 Canon Inc 符号化装置及び方法
JP2951861B2 (ja) 1994-12-28 1999-09-20 シャープ株式会社 画像符号化装置及び画像復号装置
EP0720383B1 (en) 1994-12-30 2000-09-13 Daewoo Electronics Co., Ltd Method and apparatus for detecting motion vectors in a frame decimating video encoder
EP0721287A1 (en) 1995-01-09 1996-07-10 Daewoo Electronics Co., Ltd Method and apparatus for encoding a video signal
JP3732867B2 (ja) 1995-03-09 2006-01-11 株式会社ルネサステクノロジ 画像伸張装置
DE69619002T2 (de) 1995-03-10 2002-11-21 Kabushiki Kaisha Toshiba, Kawasaki Bildkodierungs-/-dekodierungsvorrichtung
KR0171118B1 (ko) 1995-03-20 1999-03-20 배순훈 비디오신호 부호화 장치
KR0181027B1 (ko) 1995-03-20 1999-05-01 배순훈 화소 단위 움직임 추정을 이용하는 영상처리 시스템
KR0181063B1 (ko) 1995-04-29 1999-05-01 배순훈 특징점을 이용한 움직임 보상에서의 그리드 형성방법 및 장치
JP3903496B2 (ja) 1995-06-05 2007-04-11 ソニー株式会社 画像符号化方法、符号化装置、復号方法および復号装置
US5835149A (en) 1995-06-06 1998-11-10 Intel Corporation Bit allocation in a coded video sequence
US5864711A (en) 1995-07-05 1999-01-26 Microsoft Corporation System for determining more accurate translation between first and second translator, and providing translated data to second computer if first translator is more accurate
US6208761B1 (en) 1995-07-11 2001-03-27 Telefonaktiebolaget Lm Ericsson (Publ) Video coding
US5687097A (en) 1995-07-13 1997-11-11 Zapex Technologies, Inc. Method and apparatus for efficiently determining a frame motion vector in a video encoder
US5668608A (en) 1995-07-26 1997-09-16 Daewoo Electronics Co., Ltd. Motion vector estimation method and apparatus for use in an image signal encoding system
US5764807A (en) * 1995-09-14 1998-06-09 Primacomp, Inc. Data compression using set partitioning in hierarchical trees
US5623313A (en) 1995-09-22 1997-04-22 Tektronix, Inc. Fractional pixel motion estimation of video signals
US6307967B1 (en) 1995-09-29 2001-10-23 Kabushiki Kaisha Toshiba Video coding and video decoding apparatus
US5883678A (en) 1995-09-29 1999-03-16 Kabushiki Kaisha Toshiba Video coding and video decoding apparatus for reducing an alpha-map signal at a controlled reduction ratio
US5995670A (en) 1995-10-05 1999-11-30 Microsoft Corporation Simplified chain encoding
US6192081B1 (en) 1995-10-26 2001-02-20 Sarnoff Corporation Apparatus and method for selecting a coding mode in a block-based coding system
KR100211917B1 (ko) 1995-10-26 1999-08-02 김영환 물체 모양정보 부호화 방법
SE507410C2 (sv) 1995-11-08 1998-05-25 Ericsson Telefon Ab L M Förfarande och anordning för rörelseestimering
US5692063A (en) 1996-01-19 1997-11-25 Microsoft Corporation Method and system for unrestricted motion estimation for video
US5764814A (en) 1996-03-22 1998-06-09 Microsoft Corporation Representation and encoding of general arbitrary shapes
JP3371191B2 (ja) 1996-03-22 2003-01-27 ソニー株式会社 画像信号の符号化方法及び復号方法、並びに、符号化装置及び復号装置
US5982438A (en) 1996-03-22 1999-11-09 Microsoft Corporation Overlapped motion compensation for object coding
US6215910B1 (en) 1996-03-28 2001-04-10 Microsoft Corporation Table-based compression with embedded coding
CN100361536C (zh) 1996-05-28 2008-01-09 松下电器产业株式会社 图像预测编码/解码装置和方法以及记录媒体
JP3628810B2 (ja) * 1996-06-28 2005-03-16 三菱電機株式会社 画像符号化装置
WO1998003018A2 (en) 1996-07-11 1998-01-22 Philips Electronics N.V. Transmission and reception of encoded video pictures
JPH1042295A (ja) * 1996-07-19 1998-02-13 Sony Corp 映像信号符号化方法および映像信号符号化装置
DE19637522A1 (de) 1996-09-13 1998-03-19 Bosch Gmbh Robert Verfahren zur Reduzierung von Daten in Videosignalen
KR100488422B1 (ko) 1996-09-24 2005-09-02 주식회사 팬택앤큐리텔 그레이스케일모양정보부호화/복호화장치및그방법
KR100303685B1 (ko) 1996-09-30 2001-09-24 송문섭 영상 예측부호화 장치 및 그 방법
US5748789A (en) 1996-10-31 1998-05-05 Microsoft Corporation Transparent block skipping in object-based video coding systems
JP4034380B2 (ja) * 1996-10-31 2008-01-16 株式会社東芝 画像符号化/復号化方法及び装置
JPH10145779A (ja) 1996-11-06 1998-05-29 Sony Corp フィールド検出装置およびフィールド検出方法、画像符号化装置および画像符号化方法、並びに記録媒体および記録方法
JP3208101B2 (ja) * 1996-11-07 2001-09-10 松下電器産業株式会社 画像符号化方法および画像符号化装置並びに画像符号化プログラムを記録した記録媒体
EP0786907A3 (en) 1997-01-24 2001-06-13 Texas Instruments Incorporated Video encoder
AU5577398A (en) * 1997-02-14 1998-09-08 Nippon Telegraph & Telephone Corporation Predictive coding method and decoding method for dynamic image
US5974184A (en) 1997-03-07 1999-10-26 General Instrument Corporation Intra-macroblock DC and AC coefficient prediction for interlaced digital video
US5991447A (en) 1997-03-07 1999-11-23 General Instrument Corporation Prediction and coding of bi-directionally predicted video object planes for interlaced digital video
US6005980A (en) 1997-03-07 1999-12-21 General Instrument Corporation Motion estimation and compensation of video object planes for interlaced digital video
US6404813B1 (en) 1997-03-27 2002-06-11 At&T Corp. Bidirectionally predicted pictures or video object planes for efficient and flexible video coding
JP4001969B2 (ja) 1997-03-31 2007-10-31 ソニー株式会社 符号化装置および方法、並びに復号装置および方法
US6259810B1 (en) 1997-04-15 2001-07-10 Microsoft Corporation Method and system of decoding compressed image data
US6064771A (en) 1997-06-23 2000-05-16 Real-Time Geometry Corp. System and method for asynchronous, adaptive moving picture compression, and decompression
US6351563B1 (en) * 1997-07-09 2002-02-26 Hyundai Electronics Ind. Co., Ltd. Apparatus and method for coding/decoding scalable shape binary image using mode of lower and current layers
JP3662129B2 (ja) * 1997-11-11 2005-06-22 松下電器産業株式会社 マルチメディア情報編集装置
US6148033A (en) 1997-11-20 2000-11-14 Hitachi America, Ltd. Methods and apparatus for improving picture quality in reduced resolution video decoders
US6111914A (en) 1997-12-01 2000-08-29 Conexant Systems, Inc. Adaptive entropy coding in adaptive quantization framework for video signal coding systems and processes
US6094225A (en) 1997-12-02 2000-07-25 Daewoo Electronics, Co., Ltd. Method and apparatus for encoding mode signals for use in a binary shape coder
US5973743A (en) 1997-12-02 1999-10-26 Daewoo Electronics Co., Ltd. Mode coding method and apparatus for use in an interlaced shape coder
JP3740813B2 (ja) 1997-12-12 2006-02-01 ソニー株式会社 画像符号化方法および画像符号化装置
KR100252108B1 (ko) * 1997-12-20 2000-04-15 윤종용 Mpeg 압축부호화 및 복호화기를 채용한 디지털 기록 재생장치 및 그 방법
US5946043A (en) 1997-12-31 1999-08-31 Microsoft Corporation Video coding using adaptive coding of block parameters for coded/uncoded blocks
KR100281329B1 (ko) * 1998-01-31 2001-02-01 전주범 이진 형상 신호의 모드 신호 부호화 방법 및 그 복원 방법
KR100281462B1 (ko) 1998-03-30 2001-02-01 전주범 격행 부호화에서 이진 형상 신호의 움직임 벡터 부호화 방법
US6385345B1 (en) * 1998-03-31 2002-05-07 Sharp Laboratories Of America, Inc. Method and apparatus for selecting image data to skip when encoding digital video
US7263127B1 (en) 1998-04-02 2007-08-28 Intel Corporation Method and apparatus for simplifying frame-based motion estimation
JP3888597B2 (ja) 1998-06-24 2007-03-07 日本ビクター株式会社 動き補償符号化装置、及び動き補償符号化復号化方法
DE69934939T2 (de) * 1998-06-29 2007-10-18 Xerox Corp. Kompression von Grenzen zwischen Bildern
US6275531B1 (en) 1998-07-23 2001-08-14 Optivision, Inc. Scalable video coding method and apparatus
TW444507B (en) 1998-10-22 2001-07-01 Sony Corp Detecting method and device for motion vector
US6573905B1 (en) 1999-11-09 2003-06-03 Broadcom Corporation Video and graphics system with parallel processing of graphics windows
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
US6671323B1 (en) 1999-02-05 2003-12-30 Sony Corporation Encoding device, encoding method, decoding device, decoding method, coding system and coding method
JP3778721B2 (ja) 1999-03-18 2006-05-24 富士通株式会社 動画像符号化方法および装置
JP2000278692A (ja) * 1999-03-25 2000-10-06 Victor Co Of Japan Ltd 圧縮データ処理方法及び処理装置並びに記録再生システム
CN1107381C (zh) 1999-06-03 2003-04-30 鸿友科技股份有限公司 扫描图像实时压缩/解压缩方法
JP2001036908A (ja) * 1999-07-15 2001-02-09 Oki Electric Ind Co Ltd 動画像圧縮装置
WO2001033864A1 (en) 1999-10-29 2001-05-10 Koninklijke Philips Electronics N.V. Video encoding-method
FR2802048B1 (fr) * 1999-12-01 2002-01-18 France Telecom Procede de diffusion de television numerique, signal numerique et equipement associes
US6483876B1 (en) 1999-12-28 2002-11-19 Sony Corporation Methods and apparatus for reduction of prediction modes in motion estimation
KR100739281B1 (ko) * 2000-02-21 2007-07-12 주식회사 팬택앤큐리텔 움직임 추정 방법 및 장치
KR100796085B1 (ko) * 2000-04-14 2008-01-21 소니 가부시끼 가이샤 복호 장치, 복호 방법, 및 기록 매체
TW527832B (en) * 2000-04-20 2003-04-11 Matsushita Electric Industrial Co Ltd Video encoding apparatus that adjusts code amount by skipping encoding of image data
CN1322759C (zh) 2000-04-27 2007-06-20 三菱电机株式会社 编码装置和编码方法
JP3669281B2 (ja) 2000-04-27 2005-07-06 三菱電機株式会社 符号化装置および符号化方法
US6501397B1 (en) 2000-05-25 2002-12-31 Koninklijke Philips Electronics N.V. Bit-plane dependent signal compression
US6614442B1 (en) * 2000-06-26 2003-09-02 S3 Graphics Co., Ltd. Macroblock tiling format for motion compensation
KR100341063B1 (ko) * 2000-06-28 2002-06-20 송문섭 실시간 영상 통신을 위한 율제어 장치 및 그 방법
KR100353851B1 (ko) 2000-07-07 2002-09-28 한국전자통신연구원 파문 스캔 장치 및 그 방법과 그를 이용한 영상코딩/디코딩 장치 및 그 방법
US20020168066A1 (en) 2001-01-22 2002-11-14 Weiping Li Video encoding and decoding techniques and apparatus
US6970506B2 (en) 2001-03-05 2005-11-29 Intervideo, Inc. Systems and methods for reducing frame rates in a video data stream
US6677868B2 (en) * 2001-03-16 2004-01-13 Sharp Laboratories Of America, Inc. Entropy coding with adaptive syntax to replace high probability symbols with lower probabilities symbols
US20030012286A1 (en) 2001-07-10 2003-01-16 Motorola, Inc. Method and device for suspecting errors and recovering macroblock data in video coding
US6975680B2 (en) 2001-07-12 2005-12-13 Dolby Laboratories, Inc. Macroblock mode decision biasing for video compression systems
CN102025991B (zh) 2001-09-14 2017-12-29 株式会社Ntt都科摩 编码方法、译码方法、编码装置、译码装置和图像处理系统
EP1445956A4 (en) 2001-11-16 2009-09-02 Ntt Docomo Inc IMAGE ENCODING METHOD, IMAGE DECODING METHOD, ENCODER AND IMAGE DECODER, PROGRAM, COMPUTER DATA SIGNAL, AND IMAGE TRANSMISSION SYSTEM
US6980596B2 (en) 2001-11-27 2005-12-27 General Instrument Corporation Macroblock level adaptive frame/field coding for digital video content
ES2548384T3 (es) 2001-11-21 2015-10-16 Google Technology Holdings LLC Codificación de cuadro/campo adaptativa de nivel de macrobloques para contenido de vídeo digital
CN101448162B (zh) 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
ES2610430T3 (es) 2001-12-17 2017-04-27 Microsoft Technology Licensing, Llc Codificación por omisión de macrobloques
US6870578B2 (en) 2001-12-19 2005-03-22 Thomson Licensing Sa. Apparatus and method for sharing signal control lines
US7003035B2 (en) 2002-01-25 2006-02-21 Microsoft Corporation Video coding methods and apparatuses
US6798364B2 (en) * 2002-02-05 2004-09-28 Intel Corporation Method and apparatus for variable length coding
KR100846769B1 (ko) 2002-02-19 2008-07-16 삼성전자주식회사 고정 연산량을 갖는 동영상 부호화 방법 및 그 장치
EP1347649A1 (en) 2002-03-18 2003-09-24 Lg Electronics Inc. B picture mode determining method and apparatus in video coding system
US7099387B2 (en) 2002-03-22 2006-08-29 Realnetorks, Inc. Context-adaptive VLC video transform coefficients encoding/decoding methods and apparatuses
JP4151374B2 (ja) 2002-03-29 2008-09-17 セイコーエプソン株式会社 動画像符号化装置および動画像符号化方法
WO2004004357A1 (ja) * 2002-06-28 2004-01-08 Matsushita Electric Industrial Co., Ltd. 動画像の符号化方法、復号化方法、データストリーム、データ記録媒体およびプログラム
US7970058B2 (en) * 2002-07-15 2011-06-28 Hitachi Consumer Electronics Co., Ltd. Moving picture encoding method and decoding method
AU2003241696A1 (en) 2002-07-26 2004-02-16 Matsushita Electric Industrial Co., Ltd. Moving picture encoding method, moving picture decoding method, and recording medium
US7072394B2 (en) 2002-08-27 2006-07-04 National Chiao Tung University Architecture and method for fine granularity scalable video coding
US6795584B2 (en) 2002-10-03 2004-09-21 Nokia Corporation Context-based adaptive variable length coding for adaptive block transforms
AU2003290536A1 (en) 2002-10-23 2004-05-13 Divxnetworks, Inc. Method and system for supercompression of compressed digital video
JP4093405B2 (ja) 2002-10-25 2008-06-04 株式会社リコー 画像処理装置、プログラム及び記憶媒体
US20060257000A1 (en) 2003-06-25 2006-11-16 Boyce Jill M Decoding method an apparatus for detection of watermarks in a compressed video bitsream
EP1639827B1 (en) 2003-06-25 2010-04-14 Thomson Licensing Fast mode-decision encoding for interframes
US7620106B2 (en) 2003-09-07 2009-11-17 Microsoft Corporation Joint coding and decoding of a reference field selection and differential motion vector information
US7724827B2 (en) 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US7092576B2 (en) 2003-09-07 2006-08-15 Microsoft Corporation Bitplane coding for macroblock field/frame coding type information
US8107531B2 (en) 2003-09-07 2012-01-31 Microsoft Corporation Signaling and repeat padding for skip frames
US7853980B2 (en) * 2003-10-31 2010-12-14 Sony Corporation Bi-directional indices for trick mode video-on-demand
KR20050061762A (ko) 2003-12-18 2005-06-23 학교법인 대양학원 부호화 모드 결정방법, 움직임 추정방법 및 부호화 장치
EP1558039A1 (en) * 2004-01-21 2005-07-27 Deutsche Thomson-Brandt Gmbh Method and apparatus for generating/evaluating prediction information in picture signal encoding/decoding
US7599435B2 (en) * 2004-01-30 2009-10-06 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Video frame encoding and decoding
CN1293868C (zh) 2004-12-29 2007-01-10 朱旭祥 α-环丙氨酸在制备治疗心脑血管疾病药物中的应用
US7957610B2 (en) 2006-04-11 2011-06-07 Panasonic Corporation Image processing method and image processing device for enhancing the resolution of a picture by using multiple input low-resolution pictures

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5552832A (en) 1994-10-26 1996-09-03 Intel Corporation Run-length encoding sequence for video signals

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL. 11, NO. 1, JANUARY 2001

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200096862A (ko) * 2019-02-06 2020-08-14 소니 주식회사 잔차 레벨 데이터의 위치 의존적 엔트로피 코딩을 위한 임베디드 코덱(ebc) 회로
KR102267215B1 (ko) * 2019-02-06 2021-06-22 소니그룹주식회사 잔차 레벨 데이터의 위치 의존적 엔트로피 코딩을 위한 임베디드 코덱(ebc) 회로

Also Published As

Publication number Publication date
US8781240B2 (en) 2014-07-15
US10567753B2 (en) 2020-02-18
US20170078658A1 (en) 2017-03-16
JP2010283893A (ja) 2010-12-16
US9774852B2 (en) 2017-09-26
EP2262269B1 (en) 2018-01-24
JP2013192255A (ja) 2013-09-26
EP2262269A3 (en) 2011-06-22
US20170374362A1 (en) 2017-12-28
CN102316320B (zh) 2014-07-09
EP1457056A1 (en) 2004-09-15
US20060262979A1 (en) 2006-11-23
KR20040068257A (ko) 2004-07-30
AU2002351389A1 (en) 2003-06-30
US7200275B2 (en) 2007-04-03
HK1164594A1 (zh) 2012-09-21
US20130235932A1 (en) 2013-09-12
JP4610195B2 (ja) 2011-01-12
CN102316320A (zh) 2012-01-11
EP1457056B1 (en) 2016-08-10
JP2005513883A (ja) 2005-05-12
US20150288962A1 (en) 2015-10-08
US7379607B2 (en) 2008-05-27
US20070110326A1 (en) 2007-05-17
CN1605213A (zh) 2005-04-06
US9538189B2 (en) 2017-01-03
WO2003053066A1 (en) 2003-06-26
EP2262269A2 (en) 2010-12-15
US20090262835A1 (en) 2009-10-22
JP5819347B2 (ja) 2015-11-24
HK1133140A1 (en) 2010-03-12
US8428374B2 (en) 2013-04-23
JP5442568B2 (ja) 2014-03-12
ES2664270T3 (es) 2018-04-18
US20030113026A1 (en) 2003-06-19
ES2610430T3 (es) 2017-04-27
US9088785B2 (en) 2015-07-21
US20190327464A1 (en) 2019-10-24
CN100452883C (zh) 2009-01-14
US20140286420A1 (en) 2014-09-25
US10368065B2 (en) 2019-07-30
US7555167B2 (en) 2009-06-30

Similar Documents

Publication Publication Date Title
US10567753B2 (en) Skip macroblock coding
JP5048146B2 (ja) Ac予測状態情報のためのビットプレーンコーディングおよびデコーディング
US7099515B2 (en) Bitplane coding and decoding for AC prediction status information
US20050025246A1 (en) Decoding jointly coded transform type and subblock pattern information
HK1164594B (zh) 處理視頻圖像的方法
HK1133140B (en) Method of processing video picture
HK1119336B (en) Bitplane coding and decoding method

Legal Events

Date Code Title Description
PA0105 International application

St.27 status event code: A-0-1-A10-A15-nap-PA0105

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

A201 Request for examination
E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U12-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

R17-X000 Change to representative recorded

St.27 status event code: A-5-5-R10-R17-oth-X000

FPAY Annual fee payment

Payment date: 20121019

Year of fee payment: 4

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

FPAY Annual fee payment

Payment date: 20131016

Year of fee payment: 5

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 5

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301

FPAY Annual fee payment

Payment date: 20141017

Year of fee payment: 6

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 6

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R11-asn-PN2301

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R14-asn-PN2301

FPAY Annual fee payment

Payment date: 20151016

Year of fee payment: 7

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 7

FPAY Annual fee payment

Payment date: 20161019

Year of fee payment: 8

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 8

FPAY Annual fee payment

Payment date: 20171018

Year of fee payment: 9

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 9

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

FPAY Annual fee payment

Payment date: 20181018

Year of fee payment: 10

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 10

R17-X000 Change to representative recorded

St.27 status event code: A-5-5-R10-R17-oth-X000

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 11

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 12

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 13

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 14

PC1801 Expiration of term

St.27 status event code: N-4-6-H10-H14-oth-PC1801

Not in force date: 20221217

Ip right cessation event data comment text: Termination Category : EXPIRATION_OF_DURATION