KR20050010814A - 압축된 비디오 비트스트림들을 트랜스코딩하는 방법 및 장치 - Google Patents

압축된 비디오 비트스트림들을 트랜스코딩하는 방법 및 장치 Download PDF

Info

Publication number
KR20050010814A
KR20050010814A KR10-2004-7018586A KR20047018586A KR20050010814A KR 20050010814 A KR20050010814 A KR 20050010814A KR 20047018586 A KR20047018586 A KR 20047018586A KR 20050010814 A KR20050010814 A KR 20050010814A
Authority
KR
South Korea
Prior art keywords
data
bitstream
compressed video
video bitstream
bit rate
Prior art date
Application number
KR10-2004-7018586A
Other languages
English (en)
Other versions
KR100620270B1 (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 KR20050010814A publication Critical patent/KR20050010814A/ko
Application granted granted Critical
Publication of KR100620270B1 publication Critical patent/KR100620270B1/ko

Links

Classifications

    • 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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • 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/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/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/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

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

Abstract

서로 다른 비트 레이트(bit rate)로 입력 압축된 비디오 비트스트림을 출력 압축된 비디오 비트스트림(bitstream)으로 트랜스코드(transcode)하는 기술은: 제 1 비트 레이트로 입력 압축된 비디오 비트스트림을 수신하는 단계; 출력 압축된 비디오 비트스트림을 위한 새로운 타겟 비트 레이트를 규정하는 단계; 역양자화된 데이터(dequantized data)를 발생시키기 위하여 입력 비트스트림을 부분적으로 디코딩하는 단계; 재양자화된 데이터를 발생시키기 위하여 서로 다른 양자화 레벨(QP)를 사용하여 상기 역양자화된 데이터를 재양자화하는 단계; 및, 상기 출력 압축된 비디오 비트스트림을 발생시키기 위하여 상기 재양자화된 데이터를 재엔코딩하는 단계를 포함한다. 적절한 초기 양자화 레벨(QP)은 재양자화를 위하여 결정되며, 상기 출력 비디오 비트스트림의 비트 레이트는 감시되고, 양자화 레벨은 상기 출력 압축된 비디오 비트스트림의 비트 레이트가 타겟 비트 레이트에 거의 정합하도록 조정된다. 불변 헤더 데이터(invariant header data)는 직접적으로 출력 압축된 비디오 스트림에 복제된다. 재양자화 에러들은 재양자화된 데이터를 역양자화하고 상기 역양자화된 데이터를 감산함으로써 결정되며, 상기 양자화 에러들은 IDCT 처리되어 등가의 에러 화상을 발생시키며, 모션 보상은 입력 압축된 비디오 비트스트림으로부터의 모션 보상 파라미터들에 따라서 상기 에러 화상에 적용되며, 상기 모션 보상된 에러 화상은 DCT 처리되고, 상기 DCT-처리된 에러 화상은 재양자화로 인한 에러들에 대한 모션 보상된 교정들로서 역양자화된 데이터에 인가된다.

Description

압축된 비디오 비트스트림들을 트랜스코딩하는 방법 및 장치{Method and apparatus for transcoding compressed video bitstreams}
비디오 압축은 비디오 "스트림(stream)" 또는 "비트스트림(bitstream)"을 원래 표현과 다른 엔코딩된 형태(통상, 보다 콤팩트한 형태)로 엔코딩하는 기술이다. 비디오 "스트림" 은 동영상 화상의 전자적 표현이다.
최근에, 저가의 개인용 컴퓨터들의 확산, 보통의 컴퓨터 사용자에게 이용될 수 있는 디스크 공간 및 메모리 량의 급격한 증가, 인터넷으로의 액세스의 광범위한 이용도 및 꾸준히 증가하고 있는 통신 대역폭(communications bandwidth)으로 인해, 인터넷을 통한 스트리밍 비디오(streaming video)의 이용은 통상적인 것이 되었다. 스트리밍 비디오를 엔코딩하기 위한 더욱 유효하고 최적이라고 공지된 비디오 압축 표준들 중 한 표준은 MPEG-4 표준인데, 이 표준은 동영상들, 오디오 및 이들의 조합을 압축(compression), 압축해제(decompression), 처리 및 코딩된 표현에 대한 국제 표준들의 개발을 담당하고 있는 ISO/IEC(국제 표준화 기구/국제 전기표준 회의)의 작업 그룹으로 구성된 동영상 전문가 그룹(MPEG)에 의해 제공된다. ISO는 "1 rue de Varembe, Case postale 56, CH-1211 Geneva 20, Switzerland"에 소재한다. IEC는 "549 West Randolph Street, Suite 600, Chicago, IL 60661-2208 USA"에 소재한다. (6개 파트에서)ISO/IEC 14496으로서 공식적으로 지정된 MPEG-4 압축 표준이 널리 공지되어 있고 모션 비디오 애플리케이션들(motion video applications)에 포함된 애플리케이션들에 의해 사용된다.
인터넷 접속 대역폭의 급격한 성장 및 고성능 개인용 컴퓨터들의 확산에도 불구하고, 개개 사용자들의 인터넷 접속 속도 및 계산력 간에는 상당한 불일치가 존재한다. 이 불일치는, 인터넷 콘텐트 제공자들이 스트리밍 비디오 및 다른 형태들의 다매체 내용을 다양한 최종-사용자 환경들의 세트로 공급하도록 요구한다. 예를 들어, 뉴스 내용 제공자는 비디오 뉴스 클립들(clips)을 최종 사용자들에게 공급하길 원할 수 있지만, 다양한 사용자들의 세트의 요구들에 부합하여야만 하는데, 이들 사용자의 인터넷과의 접속들은 저급의 33.6Kbs 모뎀에서 DSL, 케이블 모뎀 또는 고급의 고속 광대역 접속 범위에 걸쳐 있다. 최종 사용자의 이용가능한 계산력은 마찬가지로 다양하다. 또 다른 복잡한 문제는 네트워크 혼잡도인데, 이는 인터넷 트래픽이 높을 때 스트리밍 데이터(예를 들어, 비디오)를 전송할 수 있는 속도를 제한하도록 작용한다. 이는 뉴스 내용 제공자가 최종 사용자의 광범위한 접속/계산 환경들 및 가변 네트워크 조건들에 부합하도록 맞춰진 광범위한 비트 레이트에서 스트리밍 비디오를 이용할 수 있어야만 한다는 것을 의미한다.
각종 다양한 비트 레이트에서 동일한 비디오 프로그램 재료를 제공하는 한가지 특정 유효한 수단은 비디오 트랜스코딩이다. 비디오 트랜스코딩은, 사전압축된 비트스트림을 상이한 비트 레이트, 프레임 크기, 비디오 코딩 표준등을 지닌 새로운 압축된 비트스트림으로 변환시키는 공정이다. 비디오 트랜스코딩은 특히, 네트워크 혼잡도(network congestion), 디코더 성능 또는 최종 사용자들로부터의 요청들(requests)과 같은 팩터들에 따라서 상이한 비트 레이트들, 분해능들(resolutions) 또는 포맷들로 압축된 비디오 비트스트림을 전송하여만 하는 어떠한 애플리케이션(application)에 유용하다.
전형적으로, 압축된 비디오 트랜스코더는 압축된 비디오 비트 스트림을 디코드하고 나서, 이 디코딩된 비트 스트림을 통상 저 비트 레이트(lower bit rate)로 재엔코딩한다. 비록 비-트랜스코더 기술(non-transcoder technique)들이 유사한 성능을 제공할 수 있지만, 이들 기술들은 상당한 비용이 들고 저장에 있어 단점들을 갖고 있다. 예를 들어, 다수의 비트 레이트, 포맷들 및 분해능들에 대한 비디오 내용은 각기 엔코딩되어 비디오 서버상에 저장된다. 그러나, 이 방식은 예측되고 사전 엔코딩되는 만큼 많은 이산적인 선택들(discrete selections)만을 제공하고, 많은 양의 디스크 저장 공간을 필요로 한다. 또한, 비디오 시퀀스(video sequence)는 압축된 "스케일러블(scalable)" 형태로 엔코딩될 수 있다. 그러나, 이 기술은 제한된 수의 선택들을 제공하기 위해선 실제 비디오 엔코딩 자원들(하드웨어 및/또는 소프트웨어)를 필요로 한다.
트랜스코딩 기술들은 광범위한 스펙트럼의 비트 레이트, 분해능 및 포맷 선택들을 제공시 매우 큰 유연성으로 인해, 이들 및 이와 다른 비트랜스코더 기술들에 비해 상당한 장점들을 제공한다. 동시에 수용될 수 있는 상이한 선택들의 수는 독립적으로 트랜스코딩될 수 있는 독립적인 비디오 스트림들의 수에만 좌우된다.
많은 수의 상이한 선택들을 동시에 수용하기 위하여, 많은 수의 트랜스코더들이 제공되어야만 된다. 이와 같은 애플리케이션들에서 트랜스코더들의 비용 및 유연성 장점들에도 불구하고, 많은 수의 트랜스코더들은 종래의 비디오 트랜스코딩 기술들에 전용되어야만 하는 주로 상당한 하드웨어 및 소프트웨어 자원들로 인해, 여전히 많은 비용이 들 수 있다.
상술된 바로부터 명백한 바와 같이, 수행 비용 및 복잡성을 최소화한 비디오 트랜스코더가 필요로 된다.
본 발명은 비디오 압축 기술들(video compression techniques)에 관한 것이며, 특히, 압축된 비디오 스트림들을 위한 엔코딩(encoding), 디코딩(decoding) 및 트랜스코딩(transcoding)에 관한 것이다.
도 1은 본 발명을 따른 완전한 비디오 트랜스코더의 블록도.
도 2A는 본 발명을 따른 전형적인 MPEG-4 비디오 스트림의 구조도.
도 2B는 본 발명을 따른 전형적인 MPEG-4 매크로블록(MB)의 구조도.
도 3은 본 발명을 따른 코딩된 MB로부터 데이터를 추출하는 기술의 블록도.
도 4A 내지 도4G는 본 발명을 따른 각종 상이한 엔코딩 포맷들에 적용되는 바와 같은 완전한 비디오 트랜스코더의 트랜스코드 부분의 블록도.
도 5는 본 발명을 따른 I-VOPs를 위한 재엔코딩 모드를 결정하는 기술의 순서도.
도 6은 본 발명을 따른 P-VOPs를 위한 재엔코딩 모드를 결정하는 기술의 순서도.
도 7a 및 도 7b는 본 발명을 따른 S-VOPs를 위한 재엔코딩 모드를 결정하는 기술의 순서도.
도 8a 및 도 8b는 본 발명을 따른 B-VOPs를 위한 재엔코딩 모드를 결정하는 기술의 순서도.
도 9는 본 발명을 따른 완전한 비디오 트랜스코더가 재엔코딩 부분의 블록도.
도 10은 본 발명을 따른 다이렉트 MPEG-4 엔코딩, 캐스케이드된 코딩 및 트랜스코딩간의 특정 비디오 소스들의 세트를 위한 신호 대 잡음 비들을 비교하는 테이블.
도 11은 본 발명을 따른 다이렉트 MPEG-4 엔코딩 및 트랜스코딩간의 신호 대 잡음 비를 비교하는 그래프.
본 발명에 따라, 상이한 비트 레이트로 입력 압축된 비디오 비트스트림을 출력 압축된 비디오 비트스트림으로 트랜스코딩하는 방법은 제 1 비트 레이트로 입력 압축된 비디오 비트스트림을 수신하는 단계를 포함한다. 출력 압축된 비디오 비트스트림을 위하여 새로운 타겟 비트 레이트가 규정된다. 입력 비트스트림은 부분적으로 디코딩되어 역양자화된 데이터(dequantized data)를 발생시킨다. 이 역양자화된 데이터는 상이한 양자화 레벨(QP)를 사용하여 재양자화되어 재양자화된 데이터를 발생시키고, 이 재양자화된 데이터는 재엔코딩되어 출력 압축된 비디오 비트스트림을 발생시킨다.
본 발명의 관점에 따라, 이 방법은 재양자화를 위하여 적절한 초기 양자화 레벨(QP)를 결정하는 단계를 더 포함한다. 출력 압축된 비디오 비트스트림의 비트레이트는 감시되고, 양자화 레벨은 출력 비디오 비트스트림의 비트 레이트를 타겟 비트 레이트와 거의 정합되도록 조정된다.
본 발명의 또 다른 관점에 따라, 이 방법은 불변 헤더 데이터(invariant header data)를 직접적으로 출력 압축된 비디오 비트스트림에 복제하는 단계를 더 포함한다.
본 발명의 또 다른 관점에 따라, 이 방법은 재양자화된 데이터를 역양자화하고 상기 역양자화된 데이터로부터 감산함으로써 재양자화 에러들을 결정하는 단계를 더 포함한다. 재양자화 에러들은 역 이산 코사인 변환(IDCT)을 사용하여 처리되어, 등가의 에러 화상을 발생시킨다. 모션 보상은 입력 압축된 비디오 비트스트림으로부터의 모션 보상 파라미터들에 따라서 에러 화상에 적용된다. 이 모션 보상된 에러 화상은 DCT 처리되고 DCT 처리된 에러 화상은 재양자화로 인한 에러들에 대한 모션 보상된 정정들(corrections)로서 역양자화된 데이터에 인가된다.
본 발명의 또 다른 관점에 따라, 재양자화 에러들은 8비트 부호의(signed) 수들로 표현되고 8비트 비부호 저장 버퍼(8 bit unsigned storage buffer)에 저장하기 앞서 자신들의 스팬(span)(즉, +128)의 1/2과 동일한 량만큼 옵셋된다. 검색 후, 이 옵셋은 감산됨으로써, 원래 부호의 재양자화 에러 값들을 복구한다.
본 발명의 또 다른 관점에 따라, 모든-제로 CBP(코딩된 블록 패턴)는 "스킵(skipped)" 로서 코딩된 매크로블록들(macroblocks) 대신에 트랜스코더에 제공된다. 게다가, 모션 보상을 사용하는 예측 코딩 모드들(predictive coding modes)에 대해서, 모든 제로 모션 벡터들(MVs)은 "스킵된(skipped)" 매크로블록들을 위하여트랜스코더에 제공된다.
본 발명의 또 다른 관점에 따라, 트랜스코딩이 모든 제로 코딩된 블록 패턴(CBP)에서 발생되면, "스킵된(skipped)" 코딩 모드가 선택된다. 이 방식은 주로, 보상 데이터(예를 들어, 모션 보상)를 사용하지 않는 모드들을 엔코딩하는데 사용된다. 모션 보상 데이터를 사용하는 예측 모드들(predictive modes)에 대해서, 트랜스코딩된 CBP가 모두-제로(all-zero)이고 모션 벡터들이 모두-제로일 때, "스킵된(skipped)" 모드가 선택된다.
이 방법들을 수행하는 장치가 또한 서술된다.
용어사전
달리 언급되지 않거나, 이들 용어의 사용 문맥으로부터 명백한 바와 같이, 본원에 사용된 어떠한 용어들, 약어들(abbreviations), 두문자어들(acronyms) 또는 과학적인 심볼들 및 표시법들은 당업자가 익히 알고 있는 통상적인 의미로 제공된다. 용어들에 대한 이하의 용어 사전은 본원 뿐만 아니라 종래 기술 문헌들에 포함된 각종 설명들에 대해 간결성(clarity) 및 일치성(consistency)을 제공한다.
AC 계수(AC coefficient): 1차원 또는 2차원에서 주파수가 비-제로(non-zero)인 임의의 DCT 계수.
MPEG: 동영상 전문가 그룹.
MPEG-4 : 광범위의 비트 레이트들을 타겟으로 하면서, 멀티미디어 애플리케이션들 및 스트리밍 비디오에 대한 MPEG 동영상 엔코딩 표준의 변형. 6개의 파트들에서 IS0/IEC 14496으로서 공식적으로 지정된다.
B-VOP;
양방향적으로 예측-코딩된 VOP(bidirectionally predictive-coded VOP): 과거 및/또는 장래 기준 VOPs로부터 모션 보상된 예측을 사용하여 코딩되는 VOP.
역방향 호환성(backward compatibility) : 보다 오래된 코딩 표준으로 동작하도록 설계된 디코더들이 보다 새로운 코딩 표준에 따라서 발생된 비트스트림 전체 또는 일부분을 디코딩함으로써 계속 동작할 수 있는 경우, 이보다 새로운 코딩 표준은 보다 오래된 코딩 표준과 역방향 호환될 수 있다.
역방향 모션 벡터(backward motion vector) : 디스플레이 순서에서 나중에 기준 VOP로부터 모션 보상을 위하여 사용되는 모션 벡터.
역방향 예측(backward prediction) : 장래 기준 VOP로부터의 예측,
베이스 레이어(base layer) : 스케일러블 계층의 독립적으로 디코딩가능한 레이어.
2진 알파 블록(binary alpha block) : 2진 알파 맵(binary alpha map)의 형상 정보(shape information)를 표시하면서 매크로블록과 공동위치되는 크기 16 ×16 펠들(pels)의 블록: 이를 또한 bab이라 칭한다.
2진 알파 맵(binary alpha map) : 불투명한 픽셀들이 물체의 부분으로 간주되도록 하는 반면, 투명한 픽셀들은 물체의 부분으로 간주되지 않도록 하는 비디오 물체의 형상을 표시하는데 사용되는 2D 2진 마스크.
비트스트림(bitstream); 스트림(stream): 데이터의 코딩된 표현을 형성하는 순서화된 일련의 비트들.
비트 레이트(bit rate): 코딩된 비트스트림을 저장 매체 또는 네트워크로부터 디코더의 입력으로 전송하는 레이트.
블록(block): 8-행(row)×8-열(column) 매트릭스의 샘플들(픽셀들), 또는 64 DCT 계수들(양자화된 또는 역양자화된 소스).
바이트 정렬(byte aligned): 코딩된 비트스트림에서의 비트는 위치가 상기 스트림에서 제 1 비트로부터 다수의 8-비트들인 경우 바이트-정렬된다.
바이트(byte) : 8-비트들의 시퀀스.
컨텍스트 기반으로 한 동작 엔코딩(context based arithmetic encoding) : 2진 형상의 코딩에 사용되는 방법: 이 방법을 또한 cae라 칭한다.
채널(channel) : MPEG-4(ISO/IEC 14496) 명세에 따라서 구성된 비트스트림을 저장 또는 운반하는 디지털 매체 또는 네트워크.
크로미넌스 포맷(chrominance format) : 매크로블록에서 크로미넌스 블록들의 수를 규정.
크로미넌스 성분(chrominance component) : 비트스트림에 규정된 방식으로 원색들에 관계한 두 개의 색차 신호들 중 한 신호를 표시하는 매트릭스(matrix), 블록 또는 단일 샘플. 크로미넌스 신호들을 위하여 사용되는 심볼들은 Cr 및 Cb이다.
CBP : 코딩된 블록 패턴.
CBPY: 이 가변 길이 코드는 매크로블록에서 하나 이상의 비인트라 DC 변환 계수(non intra DC transform coefficient)로 비투과성 루미넌스 블록들의 패턴을표시한다.
코드된 B-VOP(coded B-VOP): 코딩된 B-VOP.
코드된 VOP(coded VOP): 코딩된 VOP는 코딩된 I-VOP, 코딩된 P-VOP 또는 코딩된 B-VOP이다.
코드된 I-VOP(coded I-VOP) : 코딩된 I-VOP.
코드된 P-VOP(coded P-VOP) : 코딩된 P-VOP.
코드된 비디오 비트스트림(coded video bitstream) : MPEG-4(ISO/IEC 14496) 명세에서 규정된 바와 같은 일련의 하나 이상의 VOPs의 코딩된 표현.
코드된 순서(coded order) : VOPs가 전송되고 디코딩된 순서. 이 순서는 디스플레이 순서와 반드시 동일하지 않다.
코드된 표현(coded representation) : 엔코딩된 형태로 표시된 바와 같은 데이터 요소.
코딩 파라미터들(coding parameters) : 코딩된 비디오 비트스트림을 특징화 하는 사용자-규정가능한 파라미터들의 세트. 비트스트림들은 코딩 파라미터들에 의해 특징지워 진다. 디코더들은 디코딩될 수 있는 비트스트림들에 의해 특징지워 진다.
성분(component) : 영상을 구성하는 3개의 매트릭스들(루미너스 및 2개의 크로미넌스)중 한 매트릭스로부터의 매트릭스, 블록 또는 단일 샘플.
컴포지션 공정(composition process): 재구성된 VOPs를 화면으로 구성하여 디스플레이하는 (비-표준적(non-normative)) 공정.
압축(compression) : 데이터의 아이템을 표시하는데 사용되는 비트들의 수의 감소.
일정 비트레이트 코딩된 비디오(constant bitrate coded video): 일정한 비트레이트로 코딩된 비디오 비트스트림.
일정 비트레이트(constant bitrate);CBR: 비트레이트가 코딩된 비트스트림의 시작부터 끝까지 일정하게 되는 동작.
변환비(conversion ratio) : 형상의 레이트 제어를 위한 크기 변환비.
데이터 요소(data element) : 엔코딩 전 및 디코딩 후 표시되는 바와 같은 데이터의 아이템.
DCT 계수(DCT coefficient) : 2차원들에서 주파수가 제로로 되게 하는 DCT 계수.
디코더 입력 버퍼(DCT coefficient) : 비디오 버퍼링 검증기(video buffering verifier)에서 규정된 선입 선출(FIFO) 버퍼.
디코더(decoder): 디코딩 공정의 실시예.
디코딩(공정(process)): 입력 코딩된 비트스트림을 판독하여 디코딩된 VOPs 또는 오디오 샘플들을 발생시키는 이 명세에서 규정된 공정.
역양자화(dequantization): 비트스트림에서 양자화된 DCT 계수들의 표현이 디코딩된 후 그리고 이들 계수들이 역 DCT에 제공되기 전, 상기 양자화된 DCT 계수들을 재스케일링하는 공정.
디지털 저장 매체(digital storage media);DSM: 디지털 저장 또는 전송 장치또는 시스템.
이산 코사인 변환 DCT (discrete cosine transform DCT): 순방향 이산 코사인 변환 또는 역방향 이산 코사인 변환중 한 변환. DCT는 반전가능한 이산 직교 변환이다.
디스플레이 순서(display order): 디코딩된 영상들을 디스플레이하는 순서. 통상적으로, 이는 영상들이 엔코더의 입력에 제공되는 순서와 같다.
DQUANT: 양자화기에서 I-, P- 및 S(GMC)-VOPs를 위한 양의 변화를 규정하는 2-비트 코드.
편집(editing): 하나 이상의 코딩된 비트스트림들을 조정하여 새롭게 코딩된 비트스트림을 발생시키는 공정. 적합한 편집 비트스트림들(conforming edited bitstreams)은 MPEG-4(ISO/IEC 14496) 명세에 규정된 요구조건들에 부합하여만 한다.
엔코더(encoder) : 엔코딩 공정의 실시예.
엔코딩(encoding)(공정): 오디오 샘플들 또는 입력 영상들의 스트림을 판독하고 MPEG-4(ISO/IEC 14496) 명세에 규정된 바와 같은 유효 코딩된 비트스트림을 발생시키는 명세에 규정되지 않은 공정.
확장 레이어(enhancement layer): 스케일러블 계층에서 (베이스 레이어 위) 레이어에 대한 상대 기준. 모든 형태들의 스케일러빌러티에 대해서, 디코딩 공정은 확장 레이어 자체를 위한 적절한 부가적인 디코딩 공정 및 하위 레이어 디코딩 공정과 관련하여 서술될 수 있다.
얼굴 애니메이션 파라미터 단위들(face animation parameter units);FAPU: 표정들 및 음성 발음에서 합당한 결과들을 발생시키도록 일관성 있는 방식으로 어떤 얼굴 모델로 FAPs를 해석하기 위하여 규정된 특수한 표준 단위들(예를 들어, 이동(translational), 각도, 논리).
얼굴 애니메이션 파라미터들(face animation parameters); FAP: 얼굴 특징의 변위들 및 각도들을 조정하고 대화 동안 비세미들(visemes) 및 얼굴 표정들의 혼합을 관리하는 코딩된 스트리밍 애니메이션 파라미터들.
얼굴 애니메이션 테이블(face animation table);FAT: 얼굴 운동들을 제어하기 위하여 FAPs의 구분적인 선형 가중치들(piecewise linear weightings)을 제공하는 얼굴 메시(face mesh)에서 제어 포인트들을 특징화하기 위하여 인입하는 FAPs로부터 다운로딩가능한 기능 매핑.
얼굴 캘리브레이션 메시(face calibration mesh): 베이스라인 얼굴 모델의 형상 및 구조의 캘리브레이션을 위한 3D 메시의 정의.
얼굴 정의 파라미터들(face definition parameters);FDP: 디코더에서 베이스라인 얼굴 모델을 특정 얼굴로 맞추거나 이를 어떻게 움직일 수 있게 할지에 관한 정보와 함께 얼굴 모델을 다운로드하기 위한 다운로드가능한 데이터. FDPs는 통상적으로, 압축된 FAPs의 스트림 보다 앞서 세션 당 1회 전송된다. FDPs는 베이스라인 얼굴, 얼굴 텍스쳐, 및 좌표들을 캘리브레이트하는 특징 포인트들을 포함하여, 이를 얼굴, 애니메이션 테이블들 등에 매핑한다.
얼굴 특징 제어 포인트(face feature control point): FAPs에 의한 제어를위하여 얼굴 특징들 내에서 중요한 위치들을 규정하고 베이스라인 얼굴의 형상의 캘리브레이션을 고려하는 이와 같은 포인트들의 세트에서 표준 꼭지점.
얼굴 보간 변환(face interpolation transform);FIT: 일반적 또는 전문적 얼굴 모델들(custom or proprietary face models)에 작용하는 링크와 표준 FAPs의 복잡한 교차-결합을 위하여, 가중된 유리 다항 함수들(rational polynomial functions)을 통해서 특징 포인트들에 인가하기 전 인입 FAPs를 FAPs로 선택적으로 매핑하는 ISO/IEC 14496-1에 규정된 다운로딩가능한 노드 유형.
얼굴 모델 메시(face model mesh): 광도계 속성들(예를 들어, 텍스텨, 칼러, 노멀들)로 렌더링하는데 적합한 꼭지점 좌표들을 사용하는 꼭지점들 및 평면 다각형들에 의해 규정된 2D 또는 3D 연속 기하학적 메트릭.
페더링(feathering): 배경을 지닌 컴포지션을 위한 2진 알파 마스크의 에지들 주위의 값들을 테이퍼하는 도구.
플래그(flag): 단지 2개의 값들(0 및 1)중 한 값을 취할 수 있는 1비트 정수 변수
금지(forbidden): 절에서 사용될 때 코딩된 비트스트림을 규정하는 용어 "금지"는 값이 결코 사용되지 않는다는 것을 나타낸다. 이는 통상적으로 시작 코드들의 모방(emulations)을 피하게 한다.
강제 갱신(forced updating): 엔코더들 및 디코더들에서 역 DCT 공정들 간의 오정합 에러들이 지나치게 증가되지 않도록 매크로블록들을 전체 시간에 걸쳐서 인트라 코딩하는 공정.
순방향 호환성(forward compatibility): 보다 새로운 코딩 표준으로 동작하도록 설계된 디코더들이 보다 오래된 코딩 표준의 비트스트림들을 디코딩할 수 있다면, 보다 새로운 코딩 표준은 보다 오래된 코딩 표준과 순방향 호환된다.
순방향 모션 벡터(forward motion vector): 보다 이른 시간에 디스플레이 순서로 기준 프레임 VOP로부터의 모션 보상에 이용되는 모션 벡터.
순방향 예측(forward prediction): 과거 기준 VOP로부터의 예측.
프레임(frame): 프레임은 비디오 신호의 공간 정보 라인들을 포함한다. 프로그레시브 비디오에 대해서, 이들 라인들은 한 시간 순서로부터 시작하여 연속적인 라인들을 통해서 프레임의 최하부에 이르기 까지 계속되는 샘플들을 포함한다.
프레임 주기(frame period): 프레임 레이트의 역수.
프레임 레이트(frame rate): 프레임들이 컴포지션 공정으로부터 출력되는 레이트.
장래 기준 VOP(future reference VOP): 장래 기준 VOP는 디스플레이 순서로 현재 VOP 보다 나중에 발생되는 기준 VOP이다.
GMC: 글로벌 모션 보상
GOV: VOP의 그룹.
하이브리드 스케일러빌러티(hybrid scalability): 하이브리드 스케일러빌러티는 두 가지(또는 그 이상) 유형들의 조합이다.
인터레이스(interlace): 프레임의 교호 라인들이 적시에 서로 다른 인스턴스들을 표시하는 종래 텔레비젼 프레임들의 특성. 인터레이스된 프레임에서, 필드중한 필드가 맨 먼저 디스플레이된다는 것을 의미한다. 이 필드를 제 1 필드라 칭한다. 제 1 필드는 프레임의 최상부 필드 또는 최하부 필드일 수 있다.
I-VOP;인트라-코딩된 VOP: 그 자체로부터의 정보만을 사용하여 코딩된 VOP.
인트라 코딩(intra coding): 매크로블록 또는 VOP로부터의 정보만을 사용하는 매크로블록 또는 VOP의 코딩.
인트라 형상 코딩(intra shape coding): 어떤 일시적 예측을 사용하지 않는 형상 코딩.
인트라 형상 코딩 레벨(intra shape coding level): 일시적 예측을 사용하는 형상 코딩. 특정 프로필 내에서 MPEG-4(ISO/IEC 14496-2)의 파라미터들에 의해 취해질 수 있는 값들에 대한 규정된 제약들. 프로필은 하나 이상의 레벨들을 포함할 수 있다. 상이한 컨텍스트에서, 레벨은 비제로 계수의 절대값이다("실행" 참조).
레이어(layer) : 스케일러블 계층에서 순서화된 비트스트림들의 세트 및 이와 관계된 디코딩 공정(의 결과)중에 있는 것을 나타냄.
계층화된 비트스트림(layered bitstream): 특정 레이어(항상 레이어 수식어들(layer qualifiers), 예를 들어, "확장 레이어 비트스트림(enhancement layer bitstream)" 관련하여 사용됨)과 관계된 단일 비트스트림.
하부 레이어(lower layer): 소정 확장 레이어 바로 아래의 레이어에 대한 상대 기준(이 확장 레이어 아래의 모든 레이어들의 디코딩을 암시적으로 포함).
루미넌스 성분(luminance component): 신호의 모노크롬 표현을 표시하고 비트스트림에 규정된 방식으로 원색들과 관계되는 매트릭스, 블록 또는 단일 샘플.루미넌스를 위하여 사용되는 심볼은 Y이다.
Mbit: 1,000,000 비트들
MB: 매크로블록(macroblock): 영상의 루미넌스 성분의 16 ×16 섹션으로부터 나오는 네 개의 8 ×8 루미넌스 데이터 블록들 및 두 개의(4:2:0 크로미넌스 포맷에 대해) 상응하는 8 ×8 크로미넌스 데이터 블록들. 매크로블록은 때때로, 샘플 데이터와 관련하여 사용되고, 때때로 MPEG-4(ISO/IEC 14496-2) 명세에 규정된 신택스의 매크로블록 헤더에 규정된 샘플 값들 및 이외 다른 데이터 요소들의 코딩된 표현과 관련하여 사용된다. 이 용도는 이 컨텍스트로부터 명백하게 된다.
MCBPC: 매크로 패턴 코딩(Macroblock Pattern Coding). 이는 크로미넌스를 위한 코딩된 블록 패턴 및 매크로블록 유형을 도출하는데 사용되는 가변 길이 코드이다. 이는 항상 코딩된 매크로블록들을 위하여 포함된다.
메시(mesh): 2D 삼각형 메시는 비디오 객체 평면을 삼각형 패치들로 만드는 평면 그래프와 관계한다. 삼각형 메시 요소들의 꼭지점들을 노드 포인트들이라 칭한다. 노드 포인트들간의 직선 세그먼트들을 에지들이라 칭한다. 두 개의 삼각형들은 공통 에지를 공유하면 인접하게 된다.
메시 기하학(mesh geometry): 메시의 삼각형 구조 및 노드 포인트들의 공간 위치들.
메시 모션(mesh motion): 한 시간 인스턴스로부터 다음 인스턴스 까지의 메시의 노드 포인트들의 일시적 변위들.
MC;모션 보상(motion compensation): 샘플 값들의 예측의 효율성을 개선하기위한 모션 벡터들의 사용. 이 예측은 모션 벡터들을 사용하여 예측 에러를 형성하도록 사용되는 사전 디코딩된 샘플 값들을 포함하는 과거 및/또는 장래 기준 VOPs로 옵셋을 제공한다.
모션 추정(motion estimation): 엔코딩 공정 동안 모션 벡터들을 추정하는 공정.
모션 벡터(motion vector): 현재 화면 또는 필드의 좌표 위치로부터 옵셋을 기준 VOP 내의 좌표들에 제공하는 모션 보상에 사용되는 2차원 벡터.
형상을 위한 모션 벡터(motion vector for shape): 형상의 모션 보상을 위하여 사용되는 모션 벡터.
비-인트라 코딩(non-intra coding): 그 자체로부터 그리고 다른 시간에서 발생되는 매크로블럭들 및 VOPs로부터의 정보를 사용하는 매크로블록 또는 VOP의 코딩.
불투명한 매크로블록(opaque macroblock): 모두 255개의 형상 마스크를 지닌 매크로블록.
P-VOP; 예측-코딩된 VOP: 과거 VOP로부터 모션 보상된 예측을 사용하여 코딩된 영상.
파라미터(parameter): 값들의 범위중 한 값을 취할 수 있는 이 명세의 신택스 내의 변수. 단지 2개의 값들중 한 값을 취할 수 있는 변수를 플래그라 칭한다.
과거 기준 영상(past reference picture): 과거 기준 VOP는 컴포지션 순서에서 현재 VOP 보다 이른 시간에서 발생하는 기준 VOP이다.
영상(picture): 소스, 코딩된 또는 재구성된 화상 데이터. 소스 또는 재구성된 영상은 루미넌스 및 2개의 크로미넌스 신호들을 표시하는 8비트 수들의 3개의 직사각형 매트릭스들로 이루어진다. "코딩된 VOP"가 보다 일찍 규정된다. 프로그레시브 비디오에 대해서, 영상은 프레임과 동일하게 된다.
예측(prediction): 현재 디코딩되는 샘플 값 또는 데이터 요소의 추정을 제공하기 위한 예측기의 사용.
예측 에러(prediction error): 샘플 또는 데이터 요소의 실제값 및 이의 예측기간의 차.
예측기(predictor): 사전 디코딩된 샘플 값들 또는 데이터 요소들의 선형 조합.
프로필(profile): 이 명세의 신택스의 규정된 서브셋.
프로그레시브(progressive): 프레임의 모든 샘플들이 적시에 동일한 인스턴스들을 표시하는 필름의 특성.
양자화 매트릭스(quantization matrix): 역양자화기에 의해 사용되는 64개의 8비트 값들의 세트.
양자화된 DCT 계수들(quantization DCT coefficients): 역양자화전의 DCT 계수들. 양자화된 DCT 계수들의 가변 길이 코딩된 표현은 코딩된 비디오 비트스트림의 부분으로서 전송된다.
양자화기 스케일(quantizer scale): 비트스트림에서 코딩되고 역양자화를 스케일하기 위한 디코딩 공정에 의해 사용되는 스케일 팩터.
QP: 양자화 파라미터들.
랜덤 액세스(random access): 임의의 포인트에서 코딩된 비트스트림을 판독 및 디코딩하기 시작하는 공정.
재구성된 VOP(reconstructed VOP): 재구성된 VOP는 루미넌스 및 2개의 크로미넌스 신호들을 표시하는 8-비트 수들의 3개의 매트릭스들로 이루어진다. 이는 코딩된 VOP를 디코딩함으로써 얻어진다.
기준 VOP(reference VOP): 기준 프레임은 코딩된 I-VOP 또는 코딩된 P-VOP의 형태로 코딩되는 재구성된 VOP이다. 기준 VOPs는 P-VOPs 및 B-VOPs가 디코딩될 때 순방향 및 역방향 예측을 위하여 사용된다.
재순서화 지연(reordering delay): VOP 재순서화에 의해 야기되는 디코딩 공정에서의 지연.
예약된(reserved): 용어 "예약된"은 이 절에서 사용될 때 이 값은 ISO/IEC 규정된 확장들을 위하여 장래 사용될 수 있는 것을 표시하는 코딩된 비트스트림을 규정한다.
스케일러블 계층(scalable hierarchy): 하나 이상의 비디오 비트스림의 순서화된 세트로 이루어진 코딩된 비디오 데이터.
스케일러빌러티(scalability): 스케일러빌러티는 재구성된 시퀀스를 발생시키기 위하여 순서화된 비트스트림들의 세트를 디코딩하는 디코더의 성능이다. 게다가, 유용한 비디오는 서브셋들이 디코딩될 때의 출력이다. 이에 따라서, 디코딩될 수 있는 최소 서브셋은 베이스 레이어이라 칭하는 세트에서 제 1 비트스트림이다. 이 세트에서 다른 비트스트림들 각각은 확장 레이어이라 칭한다. 특정 확장 레이어을 어드레스할 때, "하부 레이어"은 확장 레이어에 앞서 있는 비트스트림이라 한다.
사이드 정보(side information): 디코더를 제어하는데 필요한 비트스트림에서의 정보.
런(run): 스캔 순서에서 비제로 계수에 앞서 있는 제로 계수들의 수. 비제로 계수의 절대값을 "레벨"이라 칭한다.
포화(saturation): 값을 범위의 최대 또는 최소로 적절하게 설정함으로써 규정된 범위를 초과하는 값을 제한.
소스(source);입력: 엔코딩 전 속성들의 일부 또는 비디오 재료를 설명하는데 사용되는 용어.
공간 예측(spatial prediction): 공간 스케일러빌러티에 사용되는 하부 레이어 디코더의 디코딩된 프레임으로부터 도출된 예측.
공간 스케일러빌러티(spatial scalability): 확장 레이어이 또한 모션 벡터들을 사용함이 없이 하부 레이어으로부터 도출되는 샘플 데이터로부터의 예측들을 사용하는 스케일러빌러티 유형. 이 레이어들은 서로 다른 VOP 크기들 또는 VOP 레이트들을 가질 수 있다.
정적 스프라이트(static sprite): 적시에 변화되지 않는 객체를 위한 루미넌스, 크로미넌스 및 2진 알파 평면.
스프라이트-VOP(sprite-VOP);S-VOP: 정적 스프라이트의 전체 또는 부분을 랩핑(wraping)함으로써 얻어지는 정보를 사용하여 코딩되는 영상.
시작 코드들(start codes): 특정하게 되는 코딩된 비트스트림에 임베드되는 32-비트 코드들. 이들은 코딩 신택스내의 구조들 중 일부 구조를 식별하는 것을 포함하여 여러 목적들을 위하여 사용된다.
스터핑(stuffing)(비트들(bits)); 스터핑(바이트들): 디코딩 공정에서 폐기되는 코딩된 비트스트림에 삽입될 수 있는 코드-워드들. 이들의 목적은 스트림의 비트 레이트를 증가시키는 것인데, 그렇지 않다면, 이 비트 레이트는 소망 비트 레이트 보다 낮게된다.
일시적 예측(temporal prediction): 공간 예측으로서 규정된 VOPs와 다른 기준 VOPs으로부터 도출된 예측.
일시적 스케일러빌러티(temporal scalability): 확장레이어이 또한 모션 벡터들을 사용하여 하부 레이어으로부터 도출되는 샘플 데이터로부터의 예측들을 사용하는 스케일러빌러티 유형. 이 레이어들은 동일한 프레임 크기를 갖지만, 서로 다른 VOP 레이트들을 가질 수 있다.
최상부 레이어(top layer): 스케일러블 계층의 최상부레이어(최고 레이어_id를 가짐).
투명한 매크로블록(transparent macroblock): 모두 제로들의 형상 마스크를 지닌 매크로블록.
가변 비트 레이트(variable bitrate);VBR: 코딩된 비트스트림의 디코딩 동안 비트 레이트를 시간에 따라서 변화시키는 동작.
가변 길이 코딩(variable length coding); VLC: 보다 짧은 코드-워드들을 빈번한 이벤트들에 할당하고 보다 긴 코드-워드들을 보다 덜 빈번한 이벤트들에 할당하는 코딩을 위한 가역 절차.
비디오 버퍼링 검증기(video buffering verifier);VBV: 엔코더의 출력에 개념적으로 접속되는 가설의 디코더(hypothetical decoder). 이의 목적은 엔코더 또는 편집 공정이 발생될 수 있는 데이터 전송 속도의 가변도를 제한하고자 하는 것이다.
비디오 객체(Video Object); VO: 프레임 내의 모든 VOP의 컴포지션.
비디오 객체 레이어(Video Object Layer);VOL: VOP의 일시적인 순서.
비디오 객체 평면(Video Object Plane); VOP: 모두 속하는 프레임 내에서 임의 형상을 지닌 영역.
VOP 재순서화(VOP reordering): 코더 순서가 디스플레이를 위한 컴포지션 순서와 상이할 때 재구성된 VOPs를 재순서화하는 공정. VOP 재순서화는 B-VOPs가 비트스트림에 제공될 때 발생된다. 저 지연 비트스트림들을 디코딩할 때 VOP를 재순서화는 존재하지 않는다.
비디오 세션(video session): 코딩된 비디오 비트스트림들의 최고 신태틱 구조. 이는 일련의 하나 이상의 코딩된 비디오 객체들을 포함한다.
비세미(viseme): 음소에 대응하는 대화음과 가시적으로 상관되는 입, 혀 및 턱 물리적인(가시적인) 구성.
와핑(warping): 정적 스프라이트로부터 스트라이트 VOP를 추출하도록 적용되는 공정. 이는 몇개의 모션 파라미터들(0,2,4,8)에 의해 구동되는 글로벌 공간 변환을 포함하여, 루미넌스, 크로미넌스 및 형상 정보를 복구한다.
지그재그 스캔닝 순서(zigzag scanning order): (대략) 최저 공간 주파수로부터 최고 주파수까지 DCT 계수들의 특정 순차적인 순서화.
본 발명은 비디오 압축 기술들에 관한 것이며, 특히 압축된 비디오 비트스트림들을 엔코딩, 디코딩 및 트랜스코딩하는 기술들에 관한 것이다.
본 발명을 따르면, 매크로블록 레벨에 이르기까지 입력 스크림을 디코딩하며, 헤더 정보를 분석하며, 매크로블록들을 역양자화하고 부분적으로 디코딩하며, 소망의 출력 스트림 특성들에 정합하도록 양자화 파라미터들을 조정하고 나서, 매크로블록들을 재양자화 및 재엔코딩하고, 입력 스트림으로부터 출력 스트림으로 헤더 정보의 변경되지 않는 즉 불변의 부분들을 복제함으로써, 비용-효율적인 트랜스코더가 제공된다.
비디오 트랜스코더
도 1은 본 발명을 따른 완전한 비디오 트랜스코더(100)의 블록도이다. 트랜스코딩될 입력 비트스트림("구 비트스트림(Old Bitstream)")(102)은 VOL(비디오 객체 레이어) 헤더 처리 블록(110)에서 트랜스코더(100)에 입력되고 3개의 헤더 처리 블록들(VOL 헤더 처리 블록(110), GOV 헤더 처리 블록(120) 및 VOP 헤더 처리 블록(130)), 부분 디코드 블록(140), 트랜스코드 블록(150) 및 재엔코딩 블록(160)을 연속적으로 통과하여 처리된다.
VOL 헤더 처리 블록(110)은 입력 비트스트림(102)로부터 VOL 헤더 비트들(112)을 디코딩하여 추출한다. 다음에, GOV(VOP의 그룹) 헤더 처리 블록(120)은 GOV 헤더 비트들(122)을 디코딩하여 추출한다. 다음에, VOP(비디오 객체 평면) 헤더 처리 블록(130)은 입력 VOP 헤더 비트들(132)을 디코딩하고 추출한다. 입력 VOP 헤더 비트들(132)은 양자화 파라미터 정보를 포함하여, 비트스트림(102)내의 관련된 매크로블록들이 원래 어떻게 압축되고 엔코딩되는지에 관한 정보를 포함한다.
VOL, GOV 및 VOP 헤더 비트들(112, 122, 및 132 각각)이 추출된 후, 비트스트림의 나머지(주로, 후술되는 매크로블록으로 이루어짐)는 부분적인 디코드 블록(140)에서 부분적으로 디코딩된다. 부분적인 디코드 블록(140)은 매크로블록 헤더 정보로부터 매크로블록 데이터를 분리하여 필요에 따라서(헤더 비트들에 저장된 엔코딩 정보에 따라서) 사용가능한 형태로 이를 역양자화하는 것을 포함한다.
레이트 제어 블록(180)은 입력 비트스트림(102)을 다시 압축하는 새로운 양자화 파라미터들(182 및 184)을 결정함으로써 소망의 새로운 비트 레이트 입력 신호(104)에 응답한다. 이는 부분적으로, 새로운 비트스트림(162)을 감시(후술됨)하고 양자화 파라미터들(182 및 184)을 조정하여, 새로운 비트스트림(162)을 소망의 비트 레이트로 유지함으로써 성취된다. 그 후, 이들 새롭게 결정된 양자화 파라미터들(184)은 조정 블록(170)에서 입력 VOP 헤더 비트들(132)에 병합되어, 출력 VOP헤더 비트들(172)을 발생시킨다. 레이트 제어 블록(180)은 양자화 파라미터 정보(182)를 트랜스코드 블록(150)에 제공하여, 입력 비트스트림(102)으로부터 디코딩된 비디오 데이터의 재양자화(압축)를 제어한다.
트랜스코드 블록(150)은 부분 디코드 블록(140)으로부터 역양자화된 매크로블록 데이터에 대해 동작하여 이를 레이트 제어 블록(180)으로부터의 새로운 양자화 파라미터들(182)에 따라서 재양자화한다. 트랜스코드 블록(150)은 또한, 매크로블록들로 엔코딩된 모션 보상 및 보간 데이터를 처리하여, 양자화 에러들(양자화로 인한 원래 비트스트림 및 재양자화된 비트스트림간의 차들)을 추적하여 보상하고 재양자화된 비트스트림에서 각 매크로블록에 대한 엔코딩 코드를 결정한다. 그 후, 재엔코드 블록(160)은 트랜스코더에 의해 결정된 엔코딩 모드에 따라서 트랜스코딩된 비트스트림을 재엔코딩하여, 새로운 비트스트림(새로운 비트스트림)(162)을 발생시킨다. 재엔코드 블록은 또한, VOL, GOV(필요한 경우), 및 VOP 헤더 비트들(112, 122 및 132 각각)을 적절한 장소의 새로운 비트스트림(162)에 재삽입한다. (헤더 정보는 도2A와 관련하여 보다 상세하게 후술된다).
입력 비트스트림(102)은 엔코딩되는 VBR(가변 비트 레이트) 또는 CBR(일정한 비트 레이트)중 하나일 수 있다. 유사하게, 출력 비트스트림은 엔코딩된 VBR 또는 CBR일 수 있다.
MPEG-4 비트스트림 구조
도 2A는 MPEG-4 명세에 규정된 바와 같은 계층화된 구조를 도시한 MPEG-4 비트스트림(200)의 구조를 도시한 도면. VOL 헤더(210)는 다음 정보를 포함한다.
-객체 레이어 ID
-VOP 시간 증분 분해능
-고정된 VOP 레이트
-객체 크기
-인터레이스/비인터레이스 표시자
-스프라이트/GMC
-양자화 유형
-어쨌든, 양자화 매트릭스
VOL 헤더(210)에 포함된 정보는 이 다음의 모든 정보를 해석하고 처리하는 방법에 영향을 미친다.
VOL 헤더 다음에 GOV 헤더(220)가 존재하는데, 이는 다음 정보를 포함한다.
-시간 코드,
-폐쇄/개방
-끊어진 링크(broken link)
GOV(VOP의 그룹) 헤더(220)는 후속되는 하나 이상의 VOPs의 보간 및 처리를 제어한다.
각 VOP는 VOP 헤더(230) 및 하나 이상의 매크로블록들(MBs)(240a, b, c...)을 포함한다. VOP 헤더(230)는 다음 정보를 포함한다.
-VOP 코딩 유형(P, B, S 또는 I)
-VOP 시간 증분
-코딩된/다이렉트(코딩되지 않음)
-라운딩 유형
-초기 양자화 파라미터들(QP)
-모션 벡터들(MV)을 위한 fcode
VOP 헤더(230)는 후속되는 MBs(240)의 디코딩 및 보간에 영향을 미친다.
도 2B는 매크로블록(MB)(240)의 일반적인 포맷을 도시한 것이다. 매크로블록 또는 MB(240)는 MB 헤더(242) 및 블록 데이터(244)를 포함한다. MB 헤더(242)로 엔코딩되는 정보의 포맷은 이를 규정하는 VOP 헤더(230)에 좌우된다. 일반적으로 말하면, MB 헤더(242)는 다음 정보를 포함한다.
-코드 모드(intra, inter 등)
-코딩된 또는 다이렉트(코딩되지 않음)
-코딩된 블록 패턴(CBP)
-AC 예측 플래그(AC-pred)
-양자화 파라미터들(QP)
-인터레이스/비인터레이스
-모션 벡터들(MVs)
각 MB 헤더와 관계된 블록 데이터(244)는 MB로 표시되는 6개의 8×8 픽셀 블록들을 위한 가변 길이 코딩된(VLD) DCT 계수들을 포함한다.
헤더 처리
도 1을 다시 참조하면, 비트스트림으로 제공될 때, VOL 헤더 처리 블록(110)은 식별가능한 VOL 헤더용 입력 비트스트림(102)을 검사한다. VOL 헤더 검출시, 입력 비트스트림(102)의 처리는 입력 비트스트림의 각종 엔코딩된 레이어들(VOL, GOV, VOP 등)과 관계되는 헤더들을 식별하여 디코딩함으로써 시작된다. VOL, GOV, 및 VOP 헤더들은 다음과 같이 처리된다.
1. VOL 헤더 처리:
VOL 헤더 처리 블록(110)은 (MPEG-4 명세에 규정된 바와 같이) 입력 비트스트림(102)에서 VOL 헤더를 검출하여 식별하고 나서, VOL 헤더에 저장된 정보를 디코딩한다. 그 후, 이 정보는 비트스트림과 함께 GOV 헤더 처리 블록(120)으로 통과되어 추가 분석 및 처리된다. VOL 헤더 비트들(112)은 출력 비트스트림("새로운 비트ㅡ트림")(162)으로 재삽입하기 위하여 분리되어 출력된다. 레이트-감소 트랜스코딩하기 위하여, 입력 비트스트림(102) 및 출력 비트스트림(162)간의 VOL 헤더에서 어떤 정보를 변경할 필요가 없다. 따라서, VOL 헤더 비트들(112)은 출력 비트스트림(162)에서 적절한 위치로 간단히 복제된다.
2. GOV 헤더 처리:
VOL 헤더 처리 블록(110)에 의해 통과되는 정보를 토대로, GOV 헤더 처리 블록(120)은 (MPEG-4 명세에 의해 규정된 바와 같이) 입력 비트트스트림(102)에서 GOV 헤더를 탐색한다. VOPs(및 VOP 헤더들)가 GOV 헤더하에서 엔코딩되거나 될 수 없기 때문에, VOP 헤더는 GOV 헤더와 관계없이 발생될 수 있다. GOV 헤더가 입력 비트스트림(102)에서 발생되면, 이는 GOV 헤더 처리 블록(120)에 의해 식별되고 디코딩되고, GOV 헤더 비트들(122)은 출력 비트스트림(162) 내로 재삽입하기 위하여분리출력된다. 어떤 디코딩된 GOV 헤더 정보는 입력 비트스트림과 함께 VOP 헤더 처리 블록(130)으로 통과되어 추가 분석 및 처리된다. VOL 헤더에 따라서, 입력 비트스트림(102) 및 출력 비트스트림(162) 간에 GOV 헤더의 어떠한 정보도 변경할 필요가 없게되어, GOV 헤더 비트들(122)은 출력 비트스트림(162)내의 적절한 위치로 간단히 복제된다.
3. VOP 헤더 처리
VOP 헤더 처리 블록(130)은 (MPEG-4 명세에 규정된 바와 같이) 입력 비트스트림(102) 에서 어떤 VOP 헤더를 식별하여 디코딩한다. 검출된 VOP 헤더 비트들(132)은 분리 출력되어 QP 조정 블록(170)으로 통과된다. 디코딩된 VOP 헤더 정보는 또한, 입력 비트스트림(102)과 함께 부분적인 디코드 블록(140)으로 통과되어 추가 분석 및 처리된다. 디코딩된 VOP 헤더 정보는 부분 디코드 블록(140) 및 트랜스코드 블록(150)에 의해 사용되어 MB(매크로블록) 디코딩 및 처리된다. MPEG-4 명세가 MB 전체에 걸쳐서 QP의 변화를 최대 ±2까지 제한하기 때문에, 각 VOP를 위한 적절한 초기 QPs를 특정하는 것이 필수적이다. 이들 초기 QPs는 VOP 헤더의 일부분을 형성한다. 레이트 제어 블록(180)에 제공되는 새로운 비트 레이트(104)를 따르고 출력 비트스트림(162)에서 관찰되는 비트 레이트의 컨텍스트에서, 레이트 제어 블록(180)은 적절한 양자화 파라미터들(QP)(182)을 결정하여 이들을 트랜스코드 블록(180)에 제공하여 MB를 재양자화한다. 적절한 초기 양자화 파라미터들(184 )은 QP 조정 블록(170)에 제공되어, 검출된 VOP 헤더 비트들(132)을 변경시키고, 새로운 VOP 헤더 비트들(172)은 초기 QPs를 검출된 VOP 헤더 비트들(132)과 병합시킴으로써 생성된다. 그 후, 새로운 VOP 헤더 비트들(172)은 출력 비트스트림(162)내의 적절한 위치에 삽입된다.
4. MB 헤더 처리:
MPEG-4는 각 프레임을 MBs(매크로블록)로 분할되는 블록-기반으로 한 엔코딩 방식이다. 각 MB는 하나의 16 ×16 루미넌스 블록(즉, 4개의 8×8 블록들) 및 2개의 8 ×8 크로미넌스 블록들을 포함한다. VOP내의 MBs는 좌로부터 우로 그리고 최상부로부터 최하부로 하나씩 엔코딩된다. MPEG-4 명세에 규정된 바와 같이, VOP는 VOP 헤더 및 많은 MBs들로 표시된다(도 2A 참조). 효율성 및 간결성의 관점에서, 본 발명의 MPEG-4 트랜스코더(100)는 단지 부분적으로, MBs를 디코딩한다. 즉, MBs는 단지 VLD 처리되어(가변-길이 코드 또는 VLC-코딩된 데이터의 디코딩) 양자화 된다.
도 3은 부분 디코드 블록(300)(도 1의 (130)과 비교)의 블록도이다. MB 블록 데이터는 VLC-엔코딩되어 양자화된 DCT 계수들을 포함한다. 이들은 엔코딩되지 않고, 역양자화된 계수들로 변한되어 분석 및 처리된다. 가변 길이 코딩된(VLC) MB 블록 데이터 비트들(302)은 VLD 블록(310)에 의해 VLD 처리되어, 이들을 엔코딩되지 않고 양자화된 DCT 계수들로 확장하고 나서, 역양자화 블록(Q-1)(320)에서 역양자화되어 엔코딩되지 않고, 역양자화된 DCT 계수들(322)의 형태로 역양자화된 MB 데이터(322)를 발생시킨다.
MB 헤더(242) 및 MB 블록 데이터(244)의 엔코딩 및 보간은 이들이 속하는VOP의 유형에 좌우된다. MPEG-4 명세는 4가지 유형들의 VOP, 즉 I-VOP 또는 "인트라-코딩된" VOP, P-VOP 또는 "예측-코딩된" VOP, S-VOP 또는 "스프라이트" VOP 및 B-VOP 또는 "양방향적으로" 예측-코딩된 VOP를 규정한다. MB 헤더(242)에 포함된 정보 및 각 유형의 VOP를 위한 MB 블록 데이터의 포맷 및 보간은 다음과 같다.
I-VOP에서 MB 레이어
MPEG-4 명세에 의해 규정된 바와 같이, I-VOPs내의 MB 헤더들은 다음 코딩 파라미터들을 포함한다:
-MCBPC
-AC 예측 플래그(AC_pred_flag)
-CBPY
-DQUNT 및,
-Interlace_inform
I-VOPs에 대해서 규정된 MB 블록 데이터를 위한 단지 2개의 코딩 모드들, 즉 intra 및 intra_q가 존재한다.
MCBPC는 두 개의 8 ×8 크로미넌스 블록들의 코딩된 패턴 및 MB의 유형을 표시한다. AC_pred_flag는 AC 예측이 사용되는 경우를 표시한다. CBPY는 네 개의 8 ×8 루미넌스 블록들의 코딩된 패턴이다. DQUNAT는 미분 양자화(differential quantization)를 표시한다. 인터레이스가 VOL 레이어에서 설정되면, interlace_ inform은 MB 블록 데이터에서 DCT 계수들을 변환시키는데 사용될 DCT(이산 코사인변환) 유형을 포함한다.
P-VOP에서 MB 레이어
MPEG-4 명세에 규정된 바와 같이, P-VOPs내의 MB 헤더들은 다음 코딩 파라미터들을 포함할 수 있다.
-COD
-MCBPC
-AC 예측 플래그(AC_pred_flag)
-CBPY
-DQUNAT
-Interlace-inform
-MVD
-MVD2
-MVD3 및,
-MCD4
MB의 모션 벡터들(MVs)은 미분적으로 엔코딩된다. 즉, MVs가 아니라 모션 벡터 차(MVDs)가 엔코딩된다. MVD=MV-PMV인데, 여기서 PMV는 예측된 MV이다.
I-VOPs에서 MB 블록 데이터에 대해 규정된 여섯 개의 코딩 모드들, 즉 not_coded, inter, inter_q, inter_4MV, intra 및 intra_q가 존재한다.
COD는 MB가 코딩되는지 여부에 대한 표시자이다. MCBPC는 두 개의 8 ×8 크로미넌스 블록들의 코딩된 패턴 및 MB 유형을 표시한다. MCBPC가 intra 또는intra_q 코딩을 표시할 때 AC_pred_flag만이 제공되는데, 이 경우에, 이는 AC 예측이 사용되어야 한다는 것을 표시한다. CBPY는 네 개의 8 ×8 루미넌스 블록들의 코딩된 패턴이다. DQUANT는 미분 양자화를 표시한다. 인터레이스가 VOL 헤더에서 특정되면, interlace_inform은 DCT(이산 코사인 변환) 유형, 필드 예측 및 순방향 최상부 또는 최하부 예측을 특정한다. MVD, MVD2, MVD3 및 MVD4는 MCBPC에 의해 특정된 코딩에 적절할 때에만 제공된다. 블록 데이터는 MCBPC 및 CBPY에 의해 특정된 코딩에 적절할 때에만 제공된다.
S-VOP에서 MB 레이어
MPEG-4 명세에 의해 규정된 바와 같이, P-VOPs에서 MB 헤더들은 다음 코딩 파라미터들을 포함할 수 있다.
-COD
-MCBPC
-MCSEL
-AC_pred_flag
-CBPY
-DQUNAT
-Interlace-inform
-MVD
-MVD2
-MVD3 및,
-MCD4
P-VOP에서 규정된 6개의 코드 모드들 이외에도, MPEG-4 명세는 S-VOPs를 위한 두 개의 부가 코딩 모드들, 즉 inter_gme 및 inter_gmc_q를 규정한다. MCSEL은 MCBPC에 의해 규정된 코딩 유형이 inter 또는 inter_q일 때에만 MCBPC 이후에 발생된다. MCSEL이 설정될 때, MB는 inter_gmc 또는 inter_gmc_q에서 코딩되고 MVDs( MVD, MVD2, MVD3, MVD4)는 후속되지 않는다.
inter_gmc는 MB가 글로벌 모션 보상으로 inter 모드에서 코딩되는 코딩 모드이다.
B-VOP에서 MB 레이어
MPEG-4 명세에 의해 규정된 바와 같이, P-VOPs에서 MB 헤더들은 다음 코딩 파라미터들을 포함할 수 있다.
-MODB
-MBTYPE
-CBPB
-DQUANT
-Interlace_inform
-MVDf
-MVDb 및,
-MVDB
CBPB는 MODB로 표시된 경우 B-VOPs를 위한 코딩된 블록 패턴을 표시하는 3내지 6 비트 코드이다. MODB는 B-VOPs의 코딩된 매크로블록들에서만 제공되는 가변 길이 코드이다. 이는 MBTYPE 및/또는 CBPB 정보가 매크로블록을 위하여 제공되는지 여부를 나타낸다.
MPEG-4 명세는 B-VOPs에서 MBs를 위한 다섯 개의 코딩 모드들, 즉 not-coded, direct, interpolate_MC_Q, backward_MC_Q 및 forward_MC_Q를 규정한다. 가장 최근의 I- 또는 P-VOP의 MB가 스킵되면, B-VOP에서 대응하는 MB는 또한 스킵된다. 그렇지 않다면, MB는 스킵되지 않는다. MODB는 B-VOP에서 매 스킵되지 않는 MB마다 제공된다. MODB는 MBTYPE 및 CBPB가 후속되는지를 표시한다. MBTYPE은 모션 벡터 모드(제공된 MVDf, MVDb 및 MVDB) 및 양자화(DQUNAT)를 표시한다.
트랜스코딩
도 1을 다시 참조하면, 부분 디코드 블록(140)에서 VLD 디코딩 및 역양자화 후, 디코딩되고 역양자화된 MB 블록 데이터(도 3에서 322라 칭함)는 트랜스코딩 엔진(150)(사전 처리 블록들에서 결정된 정보와 함께)로 통과된다. 트랜스코드 블록(150)은 레이트 제어 블록(이하에 보다 상세하게 서술됨)으로부터 새로운 양자화 파라미터들(QP)을 사용하여 역양자화된 MB 블록 데이터를 재양자화하고 재코딩된(트랜스코딩된) MB를 구성하며, 새로운 MB를 위한 적절한 새로운 코딩 모드를 결정한다. (MB 헤더에서 규정된 바와 같이)VOP 유형 및 MB 엔코딩은 부분 디코드 블록(140)으로부터 트랜스코드 블록(150)이 디코딩되고 양자화된 블록 데이터를 처리하는 방식에 영향을 미친다. (VOP 유형/MB 헤더에 규정된 바와 같이)각 MB 유형은 특정 전략(이하에 상세하게 후술됨)을 가져 새로운 MB를 위한 엔코딩 유형을 결정한다.
도 4A 내지 도 4G는 디코딩되고 역양자화된 블록 데이터를 처리하는데 사용되는 각종 트랜스코딩 기술들의 블록도이고 각종 VOP 유형들/MB 코딩 유형들의 설명과 관련하여 후술된다.
I-VOPs에서 MBs의 트랜스코딩
I-VOPs의 MBs는 intra 또는 intra_q중 어느 하나로 코딩되는데, 즉 이들은 , 이전 또는 이후중 어느 하나인 다른 VOPs와 관계함이 없이 코딩된다. 도 4A는 intra/intra_q 코딩된 MBs를 처리하도록 구성된 트랜스코드 블록(400a)의 블록도이다. 역양자화된 MB 데이터(402)(도 3의 (322)와 비교)는 트랜스코드 블록(400a)에 입력되고 양자화기 블록(410)에 제공된다. 양자화기 블록은 레이트 제어 블록(도1에서(180))으로부터 새로운 QP(412)에 따라서 역양자화된 MB 데이터(402)를 재양자화하여 그 결과의 재양자화된 MB 데이터를 모드 판정 블록(480)에 제공되는데, 적절한 모드 선택은 재양자화된 MB 데이터를 재엔코딩하기 위하여 행해진다. 재양자화된 MB 데이터 및 모드 선택(482)은 재엔코더(도1의 (160) 참조)로 통과된다. 코딩 모드 결정을 행하는 기술이 이하에 보다 상세하게 설명된다. intra/intra_q 코딩 모드에서 역양자화된 MB 데이터는 모션 보상(MC) 없이 직접적으로 양자화된다. 재양자화된 MB는 또한, 양자화 공정을 행하지 않는 역양자화기 블록(420)(Q-1)으로 통과되어, DCT 계수들을 발생시킨다. 당업자에게 명백한 바와 같이, 트랜스코드 블록(400a)에 제공되는 역양자화된 MB 데이터(402) 및 역양자화 블록(420)에 의해발생된 DCT 계수들 둘 다는 트랜스코딩되는 MB로 표시되는 비디오 화상 데이터의 주파수-도메인 표현들이다. 그러나, 양자화 블록(410)에 의해 행해지는 양자화가 역양자화된 MB 데이터(402)를 도출하는 원래의 MB 데이터에 사용되는 것과 (거의 아마도)상이한 QP에 따라서 수행되기 때문에, 역양자화 블록(420)으로부터 나오는 DCT 계수들 및 트랜스코드 블록(400a)에 제공되는 역양자화된 MB 데이터(402)간의 차들이 존재할 것이다. 이들 차이들은 차 블록(425)에서 계산되고 IDCT 블록(430)에서 IDCT 처리되어(역 이산 코사인 변환), 이들 차들로부터 발생되는 최종 출력 비디오 비트스트림에서 양자화 에러들을 나타내는 "에러-화상" 을 발생시킨다. 양자화 에러들의 에러 화상 표현은 프레임 버퍼(440)(FB2)에 저장된다. 양자화 에러들이 + 또는 -중 어느 하나이지만 픽셀 데이터에는 부호가 없기 때문에, 에러 화상 표현은 FB2의 동적 범위의 1/2만큼 옵셋된다. 예를 들어, 8비트 픽셀을 추정하면, FB2에서 어떤 엔트리는 0 내지 255 범위일 수 있다. 그 후, 이 화상 데이터는 +128로 상향으로 바이어스되어, -128로부터 +127까지의 에러 화상 값들이 0 내지 255의 FB2 엔트리 값들에 대응하도록 한다. FB2의 내용은 다른 VOP-유형들/코딩 유형들과 관계된 MBs와 조합하여 모션 보상(MC)을 위하여 저장된다.
당업자는 수치 변환들(예를 들어, 부호가 있고 부호가 없는 서로 다른 유형들의 수들이 혼합되어 있다)을 처리하는 여러가지 다양한 방식들이 존재하고 상술된 바이어싱 기술은 이들 기술들 중 단지 대표적인 한 가지 기술이고 이에 제한되지 않는다.
I-VOP에서 MBs중 어느것도 스킵될 수 없다는 점에 유의하여야 한다.
P-VOPs에서 MBs의 트랜스코딩
P-VOP에서 MBs는 intra/intra_q, inter/inter_q/inter_4MV에서 코딩되거나 스킵될 수 있다. 여러 유형들의 MBs(inter, inter_q, inter_4MV)는 서로 다르게 트랜스코딩된다. intra/intra_q, 및 inter_4MV 코딩된 MBs는 도 4B에 도시된 바와 같이 트랜스코딩된다. 스킵된 MBs는 도 4C에 도시된 바와 같이 처리된다.
도 4B는 VOP 및 MB 헤더들로 표시된 바와 같이, 원래 inter, inter_q, 또는 inter_4MV 코딩되는 MB 데이터의 트랜스코딩에 적응되는 트랜스코드 블록(400b)의 블록도이다. 이들 코딩 모드들은 모션 보상을 사용한다. P-VOPs를 트랜스코딩하기 전에, 프레임 버퍼 FB2 (440)의 내용은 프레임 버퍼 FB1 (450)로 전송된다. FB1의 내용은 모션 보상 블록(460)에 제공된다. FB2(440) 내에 저장하기 전 에러 화상 데이터에 인가되는 바이어스는 FB1(450)로 부터 검색시 예약된다. 모션 보상 블록(460)(MC)은 또한, (도 3을 참조하면 MB 헤더 부분 디코드로부터)코드 모드 및 모션 벡터 정보를 수신하고 MPEG-4 명세에 규정된 바와 같이 동작하여 모션 보상 "화상" 을 발생시키는데, 그 후, 이 화상은 DCT 블록(470)에서 DCT 처리되어 모션 보상 DCT 계수들을 발생시킨다. 그 후, 이들 모션 보상 DCT 계수들은 결합 블록(405)에서 인입하는 역양자화된 MB 데이터와 결합되어 모션 보상된 MB 데이터를 발생시킨다. 실제로, 이로 인한 결합은 단지 트랜스코딩된 MB 에러들에만(상이한 QP를 사용하여 재양자화에 따라서 원래 MB 데이터 및 트랜스코딩된 MB 데이터(482)간의 차들) 모션 보상을 적용한다.
모션 보상된 MB 데이터는 양자화기 블록(410)에 제공된다. 도 4A와 관련하여 도시되고 상술된 바와 유사한 방식으로, 양자화기 블록은 레이트 제어 블록(도1의 (180) 참조)으로부터 새로운 QP(412)에 따라서 모션 보상된 MB 데이터를 재양자화하여 이로 인한 재양자화된 MB 데이터를 모드 판정 블록(480)에 제공하는데, 여기서 적절한 모드 선택은 재양자화된 MB 데이터를 재엔코딩하도록 행해진다. 재양자화된 MB 데이터 및 모드 선택(485)은 재엔코더(도 1의 (160) 참조)로 통과된다. 코딩 모드 판정을 행하는 기술이 이하에서 보다 상세하게 서술된다. 재양자화된 MB는 또한, 양자화 공정을 행하지 않는 역양자화기 블록(420)(Q-1)으로 통과되어 DCT 계수들을 발생시킨다. 상술된 바와 같이, 양자화 블록(410)에 의해 행해진 양자화가 양자화된 MB 데이터(402)를 도출하는 원래 MB 데이터에 대해 사용되는 것과 상이한 QP에 따라서 수행되기 때문에, 역양자화 블록(420)으로부터 발생되는 DCT 계수들 및 모션 보상된 MB 데이터간의 차들은 차 블록(425)에서 계산되고 IDCT 블록(430)에서 IDCT-처리되어(역 이산 코사인 변환), 이들 차들로부터 발생되는 최종 출력 비디오 비트스트림에서 양자화 에러들을 나타내는 "에러-화상"을 발생시킨다. 양자화 에러들의 이 에러-화상 표현은 전과 같이 프레임 버퍼 FB2 (440)에 저장된다. 양자화 에러들이 + 또는 -중 어느 하나이지만 픽셀 데이터에는 부호가 없기 때문에, 에러-화상 표현은 FB2의 동적 범위의 1/2 만큼 옵셋된다.
도 4C는 VOP 및 MB 헤더들로 표시된 바와 같이 "스킵된(skipped)" 바와 같이 원래 코딩된 MBs에 적응되는 트랜스코드 블록(400c)의 블록도이다. 이 경우에, MB 및 MB 데이터는 코딩 모드가 "inter" 인 것처럼 그리고 모든 계수들(MB 데이터) 및 모든 모션 보상 벡터들(MV)이 제로인 것처럼 처리된다. 이는 모든 역양자화된 MB 데이터(402) 및 모든 모션 벡터들(462)(MV)가 제로로 되게 하고 도 4B와 관련하여 도시되고 상술된 바와 같이 트랜스코딩함으로써 성취된다. 이전 프레임들로부터 잔여 에러 정보로 인해, 결합기 블록(405)에 의해 발생된 모션 보상된 MB 데이터가 비제로 요소들을 포함하여, 엔코딩될 화상 정보를 표시할 수 있다. 따라서, 스킵된 MB가 트랜스코딩 후 스킵되지 않은 MB를 발생시킬 수 있다. 이는 레이트 제어 블록(도 1의 (180) 참조)에 의해 할당된 새로운 QP(412)가 MB로부터 MB로 변경될 수 있기 때문이다. 원래 스킵되지 않은 MB는 재양자화 후 비제로 DCT 계수들을 갖지 않을 수 있다. 다른 한편으로, 원래 스킵된 MB는 MC 및 재양자화 후 어떤 비제로 DCT 계수들을 가질 수 있다.
S-VOPs에서 MBs의 트랜스코딩
S-VOPs 또는 "스프라이트-VOPs"는 P-VOPs와 유사하지만, 두 개의 부가적인 MB 코딩 모드들, 즉 inter_gmc 및 inter_gmc_q을 허용한다. intra, intraq_q, inter, inter_q1 및 inter_4MV에서 원래 코딩된 S-VOP MBs는 유사하게 엔코딩된 P-VOP MBs를 위하여 상술된 바와 같이 처리된다. inter_gmc, inter_gmc_q 및 스킵되는 원래 코딩된 S-VOP MBs는 도 4D에 도시된 바와 같이 처리된다.
도 4D는 VOP 및 MB 헤더들로 표시된 바와 같이 원래 inter_gmc, inter_gmc_q인 MB 데이터의 트랜스코딩에 적응되는 트랜스코드 블록(400d)의 블록도이다. 이들 코딩 모드들은 GMC(글로벌 모션 보상)을 사용한다. P-VOPs에 따라서, S-VOP를 트랜스코딩하기 전, 프레임 버퍼 FB2 (440)의 내용은 프레임 버퍼 FB1(450)에 전송된다. FB1의 내용은 GMC를 위하여 구성되는, 모션 보상 블록(460)에 제공된다. FB2(440)에 저장하기 전 에러 화상 데이터에 인가되는 바이어스는 FB1(450)로부터의 검색시에 반전된다. 모션 보상 블록(460)(MC)은 또한, (도 3에 참조된 MB 헤더 부분 디코드로부터) GMC 파라미터 정보(462)를 수신하여 MPEG-4 명세에 규정된 바와 같이 동작하여 GMC "화상" 을 발생시키는데, 그 후, 이 화상은 DCT 블록(470)에서 DCT 처리되어 모션 보상 DCT 계수들을 발생시킨다. 그 후, 이들 모션 보상 DCT 계수들은 결합 블록(405)에서 인입하는 역양자화된 MB 데이터와 결합되어, GMC MB 데이터를 발생시킨다. 실제로, 이로 인한 결합은 단지 트랜스코딩된 MB 에러들에만(상이한 QP를 사용하여 재양자화에 따라서 원래 MB 데이터 및 트랜스코딩된 MB 데이터(482)간의 차들) 모션 보상을 적용한다.
GMC MB 데이터는 양자화기 블록(410)에 제공된다. 도 4A 내지 도 4C와 관련하여 도시되고 상술된 바와 유사한 방식으로, 양자화기 블록은 레이트 제어 블록(도 1의 (180) 참조)으로부터 새로운 QP(412)에 따라서 GMC MB 데이터를 재양자화하여 이로 인한 재양자화된 MB 데이터를 모드 판정 블록(480)에 제공하는데, 여기서 적절한 모드 선택은 재양자화된 MB 데이터를 재엔코딩하도록 행해진다. 재양자화된 MB 데이터 및 모드 선택(485)(도1에서 (485)을 찾아볼 수 없다)은 재엔코더(도1의 (160) 참조)로 통과된다. 코딩 모드 판정을 행하는 기술이 이하에서 보다 상세하게 서술된다. 재양자화된 MB는 또한, 양자화 공정을 행하지 않는 역양자화기 블록(420)(Q-1)으로 통과되어 DCT 계수들을 발생시킨다. 상술된 바와 같이, 양자화블록(410)에 의해 행해진 양자화가 양자화된 MB 데이터(402)를 도출하는 원래 MB 데이터에 대해 사용되는 것과 상이한 QP에 따라서 수행되기 때문에, 역양자화 블록(420)으로부터 발생되는 DCT 계수들 및 GMC MB 데이터간의 차들은 차 블록(425)에서 계산되고 IDCT 블록(430)에서 IDCT-처리되어(역 이산 코사인 변환), 이들 차들로부터 발생되는 최종 출력 비디오 비트스트림에서 양자화 에러들을 나타내는 "에러-화상" 을 발생시킨다. 양자화 에러들의 이 에러-화상 표현은 전과 같이 프레임 버퍼 FB2 (440)에 저장된다. 양자화 에러들이 + 또는 -중 어느 하나이지만 픽셀 데이터에는 부호가 없기 때문에, 에러-화상 표현은 FB2의 동적 범위의 1/2 만큼 옵셋된다.
도 4E는 VOP 및 MB 헤더들로 표시된 바와 같이 "스킵된(skipped)" 것으로서 원래 코딩된 MBs에 적응되는 트랜스코드 블록(400e)의 블록도이다. 이 경우에, MB 및 MB 데이터는 코딩 모드가 "inter_gmc" 인 것처럼 그리고 모든 계수들(MB 데이터)이 제로인 것처럼 처리된다. 이는 모드 선택하게 하고, GMC 모션 보상(462)을 설정하고 모든 역양자화된 MB 데이터(402)를 제로로 되게하고 나서, 도4D와 관련하여 도시되고 상술된 바와 같이 트랜스코딩함으로써 성취된다. 이전 프레임들로부터 잔여 에러 정보로 인해, 결합기 블록(405)에 의해 발생된 GMC MB 데이터가 비제로 요소들을 포함하여, 엔코딩될 화상 정보를 표시할 수 있다. 따라서, 스킵된 MB가 트랜스코딩 후 스킵되지 않은 MB를 발생시킬 수 있다. 이는 레이트 제어 블록(도 1의 (180) 참조)에 의해 할당된 새로운 QP(412)가 MB로부터 MB로 변경될 수 있기 때문이다. 원래 스킵되지 않은 MB는 재양자화 후 비제로 DCT 계수들을 갖지 않을 수 있다. 다른 한편으로, 원래 스킵된 MB는 GMC 및 재양자화 후 어떤 비제로 DCT 계수들을 가질 수 있다.
B-VOPs에서 MBs의 트랜스코딩
B-VOPs 또는 "양방향적으로 예측-코딩된 VOPs" 는 새로운 화상 데이터를 엔코딩하는 것이 아니라 오히려 과거 I-VOPs 또는 P-VOPs, 장래 I-VOPs 또는 P-VOPs 또는 이들 둘다 간을 보간하는 것이다("장래의" VOP 정보는 프레임-순차 순서를 벗어나서, 즉 화상 정보를 도출하는 "장래의" VOPs 다음에 B-VOPs를 처리함으로써 획득된다). 네 개의 코딩 모드들, 다이렉트, 보간, 역방향 및 순방향이 B-VOPs를 위하여 규정된다. 이들 모드들에서 B-VOP MBs의 트랜스코딩이 도 4F에 도시되어 있다. "스킵된(skipped)" 것으로서 원래 코딩된 B-VOP MBs의 트랜스코딩이 도 4C에 도시되어 있다.
도 4F는 VOP 및 MB 헤더들로 표시된 바와 같이 원래 다이렉트, 순방향, 역방향 또는 보간 코딩되는 MB 데이터의 트랜스코딩에 적응되는 트랜스코드 블록(400d)의 블록도이다. 이들 코딩 모드들은 모션 보상을 사용한다. 트랜스코딩에 앞서, 이전(및/또는 장래) VOPs로부터 에러-화상 정보는 프레임 버퍼 FB1(450)에 배치된다. FB1의 내용은 모션 보상 블록(460)에 제공된다. 프레임 버퍼 블록 FB1(450)에 저장하기 전 에러 화상 데이터에 인가되는 임의의 바이어스는 FB1(450)으로부터의 검색시에 반전된다. 모션 보상 블록(460)(MC)은 (도3에 참조된 MB 헤더 부분 디코드로부터) 모션 벡터들(MV) 및 코딩 모드 정보(462)를 수신하고 MPEG-4 명세에 규정된 바와 같이 동작하여 모션 보상된 MC "화상"을 발생시키는데, 그 후, 이 화상은 DCT 블록(470)에서 DCT 처리되어 MC DCT 계수들을 발생시킨다. 그 후, 이들 MC DCT 계수들은 결합 블록(405)에서 인입하는 역양자화된 MB 데이터와 결합되어, MC MB 데이터를 발생시킨다. 실제로, 이로 인한 결합은 다른 VOPs, 즉 코딩 모드를 따른 이전, 장래 또는 이들 둘 다로부터 단지 트랜스코딩된 MB 에러들에만(상이한 QP를 사용하여 재양자화에 따라서 원래 MB 데이터 및 트랜스코딩된 MB 데이터(482)간의 차들) 모션 보상을 적용한다.
MC MB 데이터는 양자화기 블록(410)에 제공된다. 양자화기 블록은 레이트 제어 블록(도 1의 (180) 참조)으로부터 새로운 QP(412)에 따라서 MC MB 데이터를 재양자화하여 이로 인한 재양자화된 MB 데이터를 모드 판정 블록(480)에 제공하는데, 여기서 적절한 모드 선택은 재양자화된 MB 데이터를 재엔코딩하도록 행해진다. 재양자화된 MB 데이터 및 모드 선택(485)은 재엔코더(도 1의 (160) 참조)로 통과된다. 코딩 모드 판정을 행하는 기술이 이하에서 보다 상세하게 서술된다. B-VOPs가 결코 장래의 모션 보상에 사용되지 않기 때문에, 양자화 에러들 및 이들의 최종 에러 화상은 계산되지 않고 B-VOPs를 위하여 저장된다.
도 4G는 VOP 및 MB 헤더들로 표시된 바와 같이 "스킵된(skipped)" 것으로서 원래 코딩된 B-VOP MBs에 적응되는 트랜스코드 블록(400g)의 블록도이다. 이 경우에, MB 및 MB 데이터는 코딩 모드가 "다이렉트(direct)" 인 것처럼 그리고 모든 계수들(MB 데이터) 및 모션 벡터들이 제로인 것처럼 처리된다. 이는 모드 선택 및 모드 벡터들(462)을 "순방향(forward)" 및 제로 각각으로 되도록 하고 모든 역양자화된 MB 데이터(402)가 제로가 되도록 하고 나서, 도 4F와 관련하여 도시되고 상술된 바와 같이 트랜스코딩함으로써 성취된다. 이전 프레임들로부터 잔여 에러 정보로 인해, 결합기 블록(405)에 의해 발생된 MC MB 데이터가 비제로 요소들을 포함하여, 엔코딩될 화상 정보를 표시할 수 있다. 따라서, 스킵된 MB가 트랜스코딩 후 스킵되지 않은 MB를 발생시킬 수 있다. 이는 레이트 제어 블록(도 1의 (180) 참조)에 의해 할당된 새로운 QP(412)가 MB로부터 MB로 변경될 수 있기 때문이다. 원래 스킵되지 않은 MB는 재양자화 후 비제로 DCT 계수들을 갖지 않을 수 있다. 다른 한편으로, 원래 스킵된 MB는 GMC 및 재양자화 후 어떤 비제로 DCT 계수들을 가질 수 있다.
도 4A 내지 도 4G에 도시되고 상술된 블록도들 간에 상당한 공통성이 있다는 것이 당업자에게는 명백할 것이다. 각종 코딩 모드들을 트랜스코딩하기 위한 분리된 엔터티들 처럼 상술되었지만, 단일 트랜스코드 블록은 상술된 모든 코딩 모드들에 대한 모든 트랜스코드 동작들을 수용하기 위하여 간편하게 제공될 수 있다. MC 블록이 또한 GMC를 수용할 수 있는 예를 들어, 도 4B에 도시된 바와 같은 트랜스코드 블록은 상술된 모든 트랜스코드 동작들을 성취할 수 있다. 이는 매우 유효하고, 바람직한 구현 모드이다. 도 1의 트랜스코드 블록(150)은 분리된 특정한 트랜스코드 블록들의 그룹 또는 단일의 유니버셜 트랜스코드 블록으로서 구현되든지 간에 완전한 트랜스코더(100)의 집합 트랜스코드 기능들에 관한 것인다.
모드 판정
트랜스코딩과 관련한 상기 설명에서, 각 트랜스코드 시나리오는 코딩 모드의 적절한 선택에 따라서 새로운 MB 데이터를 재엔코딩하는 단계를 포함한다. 코딩모드들을 결정하는 방법들은 도 5, 도 6, 도 7a, 도 7b, 도 8a, 및 도 8b에 도시되어 있다. 이들 도면들과 관련한 이하의 설명을 통해서, 이 설명에서 작용들 및 판정들에 대응하는 도면들로부터의 참조 번호들은 괄호들에 포함되어 있다.
I-VOPs를 위한 코딩 모드 결정
도 5는 I-VOP MBs를 위하여 재엔코딩 모드를 결정하는 방법을 도시하는 순서도(500)이다. 판정 단계 505에서, 새로운 QP(qi)가 이전 QP(qi-1)과 동일한지가 결정된다. 이들이 동일하다면, 새로운 코딩 모드(재코딩 모드)는 단계 510에서 intra로 설정된다. 그렇지 않다면, 새로운 코딩 모드는 단계 515에서 intra_q로 설정된다.
P-VOPs를 위한 코딩 모드 결정
도 6은 P-VOP MBs를 위하여 재엔코딩 모드를 결정하는 방법을 도시하는 순서도(600)이다. 제 1 판정 단계 605에서, 원래 P-VOP MB 코딩 모드가 intra 또는 intra_q중 어느 하나라면, 모드 결정 공정은 판정 단계 610로 진행한다. 그렇지 않다면, 모드 결정은 판정 단계 625로 진행한다.
판정 단계 610에서, 새로운 QP(qi)가 이전의 QP(qi-1)와 동일하다면, 새로운 코딩 모드는 단계 615에서 intra로 설정된다. 그렇지 않다면, 새로운 코딩 모드는 단계 620에서 intra_q로 설정된다.
판정 단계 625에서, 원래의 P-VOP MB 코딩 모드가 inter 또는 inter_q중 어느 하나라면, 모드 결정은 판정 단계 630로 진행한다. 그렇지 않다면, 모드 결정은 판정 단계 655로 진행한다.
판정 단계 630에서, 새로운 QP(qi)가 이전의 QP(qi-1)와 동일하지 않다면, 새로운 코딩 모드는 inter_q로 설정된다(635). 이들이 동일하다면, 모드 결정은 코딩된 블록 패턴(CBP)이 모두 제로들인지 그리고 모션 벡터들(MV)이 제로인지를 결정하는 판정 단계 640로 진행한다. 이들이 그렇다면, 새로운 코딩 모드는 단계 645에서 "스킵된(skipped)" 것으로 설정된다. 그렇지 않다면, 새로운 코딩 모드는 단계 650에서 inter로 설정된다.
판정 단계 655에서, 원래 코딩 모드가 inter, inter_q, intra 또는 intra_q가 되지 않는다라고 사전에 결정되기 때문에, 이는 유일한 다른 가능성인 inter_4MV라고 추정된다. 코딩된 블록 패턴(CBP)이 모두 제로들이고 모션 벡터들(MV)이 제로이면, 새로운 코딩 모드는 단계 660에서 "스킵된(skipped)" 것으로서 설정된다. 그렇지 않다면, 새로운 코딩 모드는 단계 665에서 inter_4MV로 설정된다.
S-VOPs를 위한 코딩 모드 결정
도 7a 및 도 7b는 S-VOP MBs를 위하여 재엔코딩 모드를 결정하는 방법을 도시하는 조합되어 하나의 순서도(700)를 형성하는 순서도 부분들(700a 및 700b)이다. 커넥터들 "A" 및 "B" 는 순서도 부분들(700a 및 700b)간의 연결점들을 표시한다. 도 7a 및 도 7b는 조합하여 서술된다.
판정 단계 705에서, 원래 S-VOP MB 코딩 모드가 intra 또는 intra_q중 어느하나 라면, 모드 결정 공정은 판정 단계 710로 진행한다. 그렇지 않다면, 모드 결정은 판정 단계 725로 진행한다.
판정 단계 710에서, 새로운 QP(qi)가 이전의 QP(qi-1)와 동일하다면, 새로운 코딩 모드는 단계 715에서 intra로 설정된다. 그렇지 않다면, 새로운 코딩 모드는 단계 720에서 intra_q로 설정된다.
판정 단계 725에서, 원래의 S-VOP MB 코딩 모드가 inter 또는 inter_q중 어느 하나라면, 모드 결정은 판정 단계 730로 진행한다. 그렇지 않다면, 모드 결정은 판정 단계 755로 진행한다.
판정 단계 730에서, 새로운 QP(qi)가 이전의 QP(qi-1)와 동일하지 않다면, 새로운 코딩 모드는 단계 735에서 inter_q로 설정된다. 이들이 동일하다면, 모드 결정은 코딩된 블록 패턴(CBP)이 모두 제로들인지 그리고 모션 벡터들(MV)이 제로인지를 결정하는 판정 단계 640로 진행한다. 이들이 그렇다면, 새로운 코딩 모드는 단계 745에서 "스킵된(skipped)" 것으로 설정된다. 그렇지 않다면, 새로운 코딩 모드는 단계 750에서 inter로 설정된다.
판정 단계 755에서, 원래 S-VOP MB 코딩 모드가 inter_gmc 또는 inter_gmc_q이라면, 모드 결정은 판정 단계 760로 진행한다. 그렇지 않다면, 모드 결정은 (커넥터 "A"를 통해서) 판정 단계 785로 진행한다.
판정 단계 760에서, 새로운 QP(qi)가 이전의 QP(qi-1)와 동일하지 않다면,새로운 코딩 모드는 단계 765에서 inter_gmc_q로 설정된다. 이들이 동일하다면, 모드 결정은 코딩된 블록 패턴(CBP)이 모두 제로들인지를 결정하는 판정 단계 770로 진행한다. 그렇다면, 새로운 코딩 모드는 단계 775에서 "스킵된(skipped)" 것으로 설정된다. 그렇지 않다면, 새로운 코딩 모드는 단계 780에서 inter로 설정된다.
판정 단계 785에서, 원래 코딩 모드가 inter, inter_q, inter_gmc, inter_gmc_q, intra 또는 intra_q가 되지 않는다라고 사전에 결정되기 때문에, 이는 유일한 다른 가능성인 inter_4MV라고 추정된다. 코딩된 블록 패턴(CBP)이 모두 제로들이고 모션 벡터들(MV)이 제로이면, 새로운 코딩 모드는 단계 790에서 "스킵된(skipped)" 것으로 설정된다. 그렇지 않다면, 새로운 코딩 모드는 단계 795에서 inter_4MV로 설정된다.
B-VOPs를 위한 코딩 모드 결정
도 8a 및 도 8b는 B-VOP MBs를 위하여 재엔코딩 모드를 결정하는 방법을 도시하는 조합되어 하나의 순서도(700)를 형성하는 순서도 부분들(700a 및 700b)이다. 커넥터들 "C" 및 "D" 는 순서도 부분들(800a 및 800b)간의 연결점들을 표시한다. 도 8a 및 도 8b는 조합하여 서술된다.
제 1 판정 단계 805에서, 이전 P-VOP에 공통 위치되는 MB(MV는 엔코딩된 비디오 화상내의 동일한 위치에 대응)가 스킵되는 것으로서 코딩되면, 새로운 코딩 모드는 단계 810에서 스킵되는 것으로 설정된다. 그렇지 않다면, 모드 결정은 판정 단계 815로 진행하는데, 이 단계에서, 원래 B-VOP MB 코딩 모드가 "보간"되었는지(interp_MC 또는 interp_MC_q)를 결정한다. 만일 그렇다면, 모드 결정 공정은 판정 단계 820로 진행한다. 그렇지 않다면, 결정은 판정 단계 835로 진행한다.
판정 단계 820에서, 새로운 QP(qi)가 이전의 QP(qi-1)와 동일하다면, 새로운 코딩 모드는 단계 825에서 interp_MC로 설정된다. 그렇지 않다면, 새로운 코딩 모드는 단계 830에서 inter_MC_q로 설정된다.
판정 단계 835에서, 원래의 B-VOP MB 코딩 모드가 "역방향" (backwd 또는 backwd_q)이라면, 모드 결정 공정은 판정 단계 840로 진행한다. 그렇지 않다면, 모드 결정은 판정 단계 855로 진행한다.
판정 단계 840에서, 새로운 QP(qi)가 이전의 QP(qi-1)와 동일하다면, 새로운 코딩 모드는 단계 845에서 backward_MC로 설정된다. 그렇지 않다면, 새로운 코딩 모드는 단계 850에서 backward_MC_q로 설정된다.
판정 단계 855에서, 원래 B-VOP MB 코딩 모드가 "순방향" (forward_MC 또는 forward_MC_q)이라면, 모드 결정은 판정 단계 860로 진행한다. 그렇지 않다면, 모드 결정은 (커넥터 "C" 를 통해서) 판정 단계 875로 진행한다.
판정 단계 860에서, 새로운 QP(qi)가 이전의 QP(qi-1)와 동일하다면, 새로운 코딩 모드는 단계 865에서 forward_MC로 설정된다. 그렇지 않다면, 코딩 모드는 단계 870에서 forward_MC_q로 설정된다.
판정 단계 875에서, 원래 코딩 모드가 interp_MC, interp_MC, backwd_MC_q , forward 또는 forward_MC_q가 되지 않는다라고 사전에 결정되기 때문에, 이는 유일한 다른 가능성인 다이렉트라고 추정된다. 코딩된 블록 패턴(CBP)이 모두 제로들이고 모션 벡터들(MV)이 제로이면, 새로운 코딩 모드는 단계 880에서 "스킵된(skipped)" 것으로 설정된다. 그렇지 않다면, 새로운 코딩 모드는 단계 885에서 다이렉트로 설정된다.
재엔코딩
도 9는 재엔코딩 블록(900)(도1의 (160)과 비교)의 블록도인데, 여기서 네 개의 엔코딩 모듈들(910, 920, 930, 940)은 각종 재엔코딩 작업들을 처리하는데 사용된다. 재엔코딩 블록(900)은 재엔코딩 및 재엔코딩 모드를 위하여 재양자화된 MB 데이터를 포함하는 트랜스코드 블록(도 1 및 도 4A-4G의 (150) 참조)으로부터 데이터(905)를 수신한다. 재엔코딩 모드는 재엔코딩 모듈들 중 어느 모듈이 재양자화된 MB 데이터를 재엔코딩하도록 사용되는지를 결정한다. 재엔코딩된 MB 데이터는 새로운 비트스트림(945)을 제공하도록 사용된다.
intra_MB 재엔코딩 모듈(910)은 I-VOPs, P-VOPs 또는 S-VOPs의 MBs를 위한 intra 및 intra_q에서 재엔코딩하도록 사용된다. inter_MB 재엔코딩 모듈(920)은 P-VOPs 또는 S-VOPs의 MBs를 위한 inter, inter_q, 및 inter_4MV 모드들에서 재엔코딩하는데 사용된다. GMC_MB 재엔코딩 모듈(930)은 S-VOPs의 MBs를 위한 inter_gmc 및 inter_gmc_q 모드들에서 재엔코딩하도록 사용된다. B_MB 재엔코딩 모듈은 B-VOP MB 엔코딩 모드들(interp_MC, interp_MC_q, forward, forward_MC_q, backwd, backwd_MC_q 및 direct) 모두를 처리한다.
새로운 비트스트림(945)에서, 각종 VOPs에서 MB 레이어의 구조는 동일하게 유지되지만, 각 필드의 내용은 상이하게 된다. 특히:
VOP 헤더 생성
I-VOP 헤더들
MB 레이어내의 모든 필드들은 구 비트스트림과 상이하게 코딩될 수 있다. 이는 부분적으로, 레이트 제어 엔진이 어떤 MB를 위한 새로운 QP를 할당할 수 있기 때문이다. 만일 그렇다면, 이는 MB를 위한 상이한 CBP로 된다. AC 계수들이 새로운 QP에 의해 재양자화되지만, 인트라 모드에서 모든 DC 계수들은 항상 8로 양자화된다. 그러므로, 재양자화된 DC 계수들은 원래 엔코딩된 DC 계수들과 동일하다. 인트라 모드에서 양자화된 DC 계수들은 공간 예측 코딩된다. 예측 방향들은 현재 블록 및 인접 블록들(즉, 매크로블록들)의 양자화된 DC 계수들간의 차들에 따라서 결정된다. 양자화된 DC 계수들이 변화되지 않기 때문에, DC 계수들을 위한 예측 방향들은 변화되지 않을 것이다. AC 예측 방향들은 DC 예측 방향들을 다르다. 그러나, MB를 위하여 할당된 새로운 QP가 원래 코딩된 QP와 상이할 수 있기 때문에, 스케일링된 AC 예측은 상이할 수 있다. 이는 상이한 AC 예측 플래그(ACpred_flag)의 설정이 될 수 있으며, 이는 AC 예측이 인에이블되는지 또는 디스에이블되는지를 나타낸다. 새로운 QP가 상이하게 엔코딩된다. 게다가, MB로부터 MB로의 QP의 변화가 레이트 제어 블록(도 1의 (180) 참조)에 의해 결정되기 때문에, DQUANT 파라미터는 또한 변화될 수 있다.
P-VOP 헤더들
MVDs를 제외한 MB 레이어의 모든 필드들은 구 비트스트림과 상이하게 될 수 있다. intra 및 intra_q 코딩된 MBs는 I-VOPs를 위하여 재엔코딩된다. inter 및 inter_q MBs는 새로운 비트 스트림의 특성들에 의해 필요로 되는 바와 같이 코딩되거나 되지않을 수 있다. MVs는 상이하게 엔코딩된다. MB를 위한 PMVs는 인접 MVs의 중간이다. MVs가 변화되지 않기 때문에, PMVs 또한 변화되지 않는다. 그러므로, 동일한 MVDs는 새로운 비트스트림으로 재엔코딩된다.
S-VOP 헤더들
MB 레이어의 모든 필드들은 구 비트스트림과 상이하게 될 수 있다(도 6). intra, intra_q, inter 및 inter_q MBs는 I- 및 P-VOP에서 처럼 재엔코딩된다. GMC MBs를 위하여, 파라미터들은 변화되지 않는다.
B-VOP 헤더들
MVDs를 제외한 MB 레이어에서의 모든 필드들은 구 비트스트림과 상이하게 될 수 있다. MVs는 MPEG-4에서 PMV 및 DMV로부터 계산된다. B-VOP 코딩 모드에서 PMV는 트랜스코딩 공정에 의해 변경될 수 있다. MV 재동기화 공정은 DMV 값들을 수정하여, 트랜스코딩된 비트스트림이 입력 비트스트림에서 원래 MV와 동일한 MV를 발생시킬 수 있다. 디코더는 역방향 및 순방향을 위한 PMVs를 저장한다. 다이렉트 모드를 위한 PMVs는 항상 제로이고 역방향 및 순방향 PMVs와 독립적으로 처리된다. PMV는 MB가 MC 코딩될 때(순방향, 역방향 또는 이들 둘 다) MB(순방향, 역방향 또는 이들 둘 다)의 값 또는 각 MB 로우의 시작에서 제로로 대체될 수 있다. PMVs는 MB가 스킵되는 것으로서 코딩될 때 변화되지 않는다. 그러므로, 트랜스코딩된 비트스트림에 의해 발생되는 PMVs는 MB가 스킵된 모드로부터 MC 코딩된 모드로 또는 그 반대로 변경되면 입력 비트스트림에서의 PMVs와 상이할 수 있다. 디코딩 및 재엔코딩 공정에서 PMVs는 독립적으로 저장된 2개의 분리된 변수들인 것이바람직하다. 재엔코딩 공정은 MB가 MC 코딩되면 언제든지 각 로우의 시작에서 PMVs를 리셋하고 PMVs를 갱신한다. 게다가, 재엔코딩 공정은 MV, PMV의 나머지를 찾고 이의 VLC(가변 길이 코드)를 결정하여 트랜스코딩된 비스트림에 포함된다. MB가 스킵된 것으로서 코딩되지 않으면 언제든지, PMV는 갱신되고 MV의 나머지 및 이에 상응하는 VLC는 재계산된다.
레이트 제어
도 1을 다시 참조하면, 레이트 제어 블록(180)은 타겟 비트 레이트(104)를 토대로 트랜스코딩하기 위한 새로운 양자화 파라미터들(QP)을 결정한다. 레이트 제어 블록은 VOP 유형을 토대로 한 타겟 비트들의 수, VOP 유형의 복잡도, 시간 윈도우 내의 VOPs의 수, 시간 윈도우에 할당되는 비트들의 수, 화면 변화등을 각 VOP에 할당한다. MPEG-4가 QP의 변화를 MB로부터 MB로 ±2로 제한하기 때문에, VOP당 적절한 초기 QP는 타겟 레이트에 부합하도록 계산된다. 이는 다음식에 따라서 성취된다.
qnew= Rold/Tnewㆍqold
여기서
Rold는 VOP당 비트들의 수
Tnew는 타겟 비트들의 수
qold는 구 QP이고
qnew는 새로운 QP이다.
QP는 VOP당 타겟 비트들의 수에 부합하도록 MB를 토대로 조정된다. 출력 비트스트림(새로운 비트스트림, 162)은 타겟 VOP 비트 할당이 부합되는지를 알기 위하여 검사된다. 너무 많은 비트들이 사용되면, QP는 증가된다. 너무 적은 비트들이 사용되면, QP는 감소된다.
MPEG-4 트랜스코더의 수행성능을 평가시, 시뮬레이션들이 다수의 테스트 비디오 시퀀스들을 위하여 수행된다. 모든 시퀀스들은 CIF 포맷, 352×288 및 4:2:0이다. 이 테스트 시퀀스들은 우선, 1Mbtis/sec에서 MPEG-4 엔코더를 사용하여 엔코딩된다. 그 후, 압축된 비트스트림들은 500Kbits/sec에서 새로운 비트스트림들로 트랜스코딩된다. 비교를 위하여, 동일한 시퀀스들이 또한 500kbits/sec에서 직접적으로 엔코딩된 MPEG-4를 사용하여 엔코딩된다. 이 결과들이 500Kbits/sec에서 다이렉트 MPGE-4트랜스코더를 사용하여 CIF 분해능에서 시퀀스들을 위한 PSNR을 도시하는 도 10의 표에 제공된다. 도시된 바와 같이, 다이렉트 MPEG-4 및 트랜스코더에 의한 PSNR의 차는 약 1/2 dB인데, 버스에 대해선 0.28dB, 플라워에 대해선 0.49dB, 모바일에 대해선 0.58dB 및 템피트(Tempete)에 대해선 0.31이다. 트랜스코더가 비디오 신호들을 2회 양자화하여 부가적인 양자화 잡음을 초래함으로써 품질이 손실된다.
일 예로서, 도 11은 평균 비트 레이트에 대한 PSNR과 관련하여 VBR 또는 고정된 QP로 버스 시퀀스를 위한 트랜스코더의 수행성능을 도시한다. 다이아몬드 라인은 고정된 QP=4,6,8,10,12,14,16,18,20 및 22에서 다이렉트 MPEG-4이다. 그 후, QP=4인 압축된 비트스트림은 QP=6,8,10,12,14,16,18,20 및 22에서 트랜스코딩된다. 보다 낮은 레이트들에서, 트랜스코딩된 수행성능은 MPEG-4와 매우 근사한 반면에, 보다 높은 레이트들에선, 약 1dB 차가 존재한다. 트랜스코더 및 케스케이드된 코딩의 수행성능은 거의 동일하다. 그러나, 트랜스코더의 구현은 캐스케이드된 코딩 보다 훨씬 간단하다.
본 발명이 각종 특정 실시예들과 관련하여 서술되었지만, 당업자는 청구범위에 규정된 바와 같은 본 발명의 원리 및 영역을 벗어남이 없이 수많은 변형 및 변경을 행할 수 있다는 것을 인지할 것이다.

Claims (23)

  1. 상이한 비트 레이트에서 입력 압축된 비디오 비트스트림을 출력 압축된 비디오 비트스트림으로 트랜스코딩하는 방법에 있어서,
    제 1 비트 레이트로 입력 압축된 비디오 비트스트림을 수신하는 단계;
    출력 압축된 비디오 비트스트림을 위하여 새로운 타겟 비트 레이트를 규정하는 단계;
    역양자화된 데이터를 발생시키기 위하여 상기 입력 비트스트림을 부분적으로 디코딩하는 단계;
    재양자화된 데이터를 발생시키기 위하여 상이한 양자화 레벨(QP)를 사용하여 상기 역양자화된 데이터를 재양자화하는 단계; 및,
    상기 출력 압축된 비디오 비트스트림을 발생시키기 위하여 상기 재양자화된 데이터를 재엔코딩하는 단계를 포함하는, 트랜스코딩 방법.
  2. 제 1 항에 있어서,
    재양자화를 위하여 적절한 초기 양자화 레벨(QP)를 결정하는 단계;
    상기 출력 압축된 비디오 비트스트림의 비트 레이트를 감시하는 단계;및,
    상기 출력 압축된 비디오 비트스트림의 비트 레이트를 상기 타겟 비트 레이트와 거의 정합시키기 위하여 상기 양자화 레벨을 조정하는 단계를 더 포함하는, 트랜스코딩 방법.
  3. 제 1 항에 있어서,
    불변 헤더 데이터(invariant header data)를 상기 출력 압축된 비디오 비트스트림에 직접적으로 복제하는 단계를 더 포함하는, 트랜스코딩 방법.
  4. 제 1 항에 있어서,
    상기 재양자화된 데이터를 역양자화하고 상기 역양자화된 데이터로부터 감산함으로써 재양자화 에러들을 결정하는 단계;
    등가의 에러 화상을 발생시키기 위하여 상기 양자화 에러들을 IDCT 처리하는 단계;
    상기 입력 압축된 비디오 비트스트림으로부터 모션 보상 파라미터들에 따라서 상기 에러 화상에 모션 보상을 적용하는 단계; 및,
    상기 모션 보상된 에러 화상을 DCT 처리하여 재양자화로 인한 에러들에 대해 모션 보상된 정정들로서 상기 역양자화된 데이터에 상기 DCT 처리된 에러 화상을 인가하는 단계를 더 포함하는, 트랜스코딩 방법.
  5. 상이한 비트율로 입력 압축된 비디오 비트스트림을 출력 압축된 비디오 비트스트림으로 트랜스코딩하는 장치에 있어서,
    제 1 비트 레이트로 입력 압축된 비디오 비트스트림을 수신하는 수단;
    출력 압축된 비디오 비트스트림을 위하여 새로운 타겟 비트 레이트를 규정하는 수단;
    역양자화된 데이터를 발생시키기 위하여 상기 입력 비트스트림을 부분적으로 디코딩하는 수단;
    재양자화된 데이터를 발생시키기 위하여 상이한 양자화 레벨(QP)를 사용하여 상기 역양자화된 데이터를 재양자화하는 수단; 및,
    상기 출력 압축된 비디오 비트스트림을 발생시키기 위하여 상기 재양자화된 데이터를 재엔코딩하는 수단을 포함하는 트랜스코딩 장치.
  6. 제 5 항에 있어서,
    재양자화를 위하여 적절한 초기 양자화 레벨(QP)를 결정하는 수단;
    상기 출력 압축된 비디오 비트스트림의 비트 레이트를 감시하는 수단;및,
    상기 출력 압축된 비디오 비트스트림의 비트 레이트를 상기 타겟 비트 레이트와 거의 정합시키기 위하여 상기 양자화 레벨을 조정하는 수단을 더 포함하는, 트랜스코딩 장치.
  7. 제 5 항에 있어서,
    불변 헤더 데이터를 상기 출력 압축된 비디오 비트스트림에 직접적으로 복제하는 수단을 더 포함하는, 트랜스코딩 장치.
  8. 제 5 항에 있어서,
    상기 재양자화된 데이터를 역양자화하고 상기 역양자화된 데이터로부터 감산함으로써 재양자화 에러들을 결정하는 수단;
    등가의 에러 화상을 발생시키기 위하여 상기 양자화 에러들을 IDCT 처리하는 수단;
    상기 입력 압축된 비디오 비트스트림으로부터 모션 보상 파라미터들에 따라서 상기 에러 화상에 모션 보상을 적용하는 수단; 및,
    상기 모션 보상된 에러 화상을 DCT 처리하여 재양자화로 인한 에러들에 대해 모션 보상된 정정들로서 상기 역양자화된 데이터에 상기 DCT 처리된 에러 화상을 인가하는 수단을 더 포함하는, 트랜스코딩 장치.
  9. 상이한 비트 레이트로 입력 압축된 비디오 비트스트림을 출력 압축된 비디오 비트스트림으로 트랜스코딩하는 방법에 있어서,
    입력 비트스트림을 수신하는 단계;
    상기 입력 비트스트림으로부터 비디오 객체 레이어 헤더(video object layer header)를 추출하는 단계;
    상기 입력 비트스트림으로부터 매크로블록 데이터(macroblock data)를 역양자화하는 단계;
    상기 역양자화된 매크로블록 데이터를 재양자화하는 단계; 및,
    상기 재양자화된 매크로블록 데이터와 함께 상기 추출된 비디오 객체 레이어 헤더를 상기 출력 비트스트림에 삽입하는 단계를 포함하는, 트랜스코딩 방법.
  10. 제 9 항에 있어서,
    상기 입력 비트스트림으로부터 비디오 객체 평면 헤더(video object plane header)의 집단을 추출하는 단계;
    상기 추출된 비디오 객체 평면 헤더의 그룹을 상기 출력 비트스트림에 삽입하는 단계를 더 포함하는, 트랜스코딩 방법.
  11. 제 9 항에 있어서,
    상기 입력 비트스트림으로부터 비디오 객체 평면 헤더을 추출하는 단계; 및,
    상기 추출된 비디오 객체 평면 헤더를 상기 출력 비트스트림에 삽입하는 단계를 더 포함하는, 트랜스코딩 방법.
  12. 제 9 항에 있어서,
    재양자화를 위하여 적절한 초기 양자화 레벨(QP)을 결정하는 단계;
    상기 출력 압축된 비디오 비트스트림의 비트 레이트를 감시하는 단계; 및,
    상기 출력 압축된 비디오 비트스트림의 비트 레이트를 타겟 비트 레이트와 거의 정합시키기 위하여 상기 양자화 레벨을 조정하는 단계를 더 포함하는, 트랜스코딩 방법.
  13. 제 9 항에 있어서,
    불변 헤더 데이터를 상기 입력 비트스트림으로부터 상기 출력 비트스트림으로 직접적으로 복제하는 단계를 더 포함하는, 트랜스코딩 방법.
  14. 제 9 항에 있어서,
    상기 재양자화된 데이터를 역양자화하고 상기 역양자화된 데이터로부터 감산함으로써 재양자화 에러들을 결정하는 단계;
    등가의 에러 화상을 발생시키기 위하여 상기 양자화 에러들을 IDCT 처리하는 단계;
    상기 입력 압축된 비디오 비트스트림으로부터 모션 보상 파라미터들에 따라서 상기 에러 화상에 모션 보상을 적용하는 단계; 및,
    상기 모션 보상된 에러 화상을 DCT 처리하여 재양자화로 인한 에러들에 대해 모션 보상된 정정들로서 상기 역양자화된 데이터에 상기 DCT 처리된 에러 화상을 인가하는 단계를 더 포함하는, 트랜스코딩 방법.
  15. 제 9 항에 있어서,
    8비트 부호의 수들로서 상기 재양자화 에러들을 표시하는 단계;
    8비트 비부호 저장 버퍼(8 bit unsigned storage buffer)에 상기 재양자화 에러들을 저장하기 전 상기 재양자화 에러들의 스팬(span)의 1/2의 옵셋(offset)을 가산하는 단계;
    상기 8비트 비부호 저장 버퍼로부터 검색 후 상기 재양자화 에러들로부터 상기 옵셋을 감산하는 단계를 더 포함하는, 트랜스코딩 방법.
  16. 제 9 항에 있어서,
    "스킵된(skipped)" 것으로서 코딩되는 MBs에 대해, 모든 제로 MB(all-zero MB)를 상기 트랜스코더에 제공하는 단계를 더 포함하는, 트랜스코딩 방법.
  17. 제 16 항에 있어서,
    "스킵된(skipped)" 로서 코딩된 MBs를 지닌 예측 VOP 모드들에 대해서, 모든 제로 MV 값들을 트랜스코더에 제공하는 단계를 더 포함하는, 트랜스코딩 방법.
  18. 제 9 항에 있어서,
    트랜스코딩 및 모션 보상 후, 상기 코딩된 블록 패턴이 모두 제로들인지를 결정하고, 만일 그렇다면, "스킵된(skipped)" 코딩 모드를 선택하는 단계를 더 포함하는, 트랜스코딩 방법.
  19. 제 9 항에 있어서,
    예측 VOP 모드들에 대해서, 트랜스코딩 및 모션 보상 후, 코딩된 블록 패턴이 모두 제로들인지 및 MV 값들이 모두 제로들인지를 결정하고, 만일 그렇다면, "스킵된(skipped)" 코딩 모드를 선택하는 단계를 더 포함하는, 트랜스코딩 방법.
  20. 제 9 항에 있어서,
    원래 코딩 모드가 스킵되는 P-VOPs, S-VOPs 및 B-VOPs에 대해서, 트랜스코딩 후, 상기 코딩된 블록이 모두 제로들인지 및 상기 MVs가 모두 제로들인지를 결정하는 단계; 및,
    두 가지 조건들이 참인 경우에만 "스킵된(skipped)" 코딩 모드를 선택하는 단계를 더 포함하는 트랜스코딩 방법.
  21. 제 9 항에 있어서,
    상기 원래 코딩 모드는 "스킵(skipped)" 이었으며;
    상기 입력 MB가 모두 제로들이고;
    상기 모드가 "순방향(forward)" 이고;
    상기 MVs가 모두 제로들인, P-VOPs에 대해서,
    트랜스코딩 후, 상기 코딩된 블록 패턴이 모두 제로들이고 MVs가 모두 제로들인지를 결정하는 단계; 및,
    두 가지 조건들이 참인 경우에만 "스킵된(skipped)" 코딩 모드를 선택하는 단계를 더 포함하는, 트랜스코딩 방법.
  22. 제 9 항에 있어서,
    상기 입력 MB가 모두 제로들이며;
    상기 GMC 세팅이 제로인 S-VOPs에 대해서,
    트랜스코딩 후, 상기 코딩된 블록 패턴이 모두 제로들이고 상기 모션 보상이 모두 제로들인지를 결정하는 단계; 및,
    두 가지 조건들이 참인 경우에만 "스킵된(skipped)" 코딩 모드를 선택하는 단계를 더 포함하는, 트랜스코딩 방법.
  23. 제 9 항에 있어서,
    상기 입력 MB가 모두 제로들이며;
    상기 모드가 "다이렉트(direct)"이고;
    상기 MVs가 모두 제로들인 B-VOPs에 대해서,
    트랜스코딩 후, 상기 코딩된 블록 패턴이 모두 제로들이며, 상기 코딩 모드가 "다이렉트"이고 상기 MVs가 모두 제로들인지를 결정하는 단계; 및,
    세 가지 조건들 모두가 참인 경우에만 "스킵된(skipped)" 코딩 모드를 선택하는 단계를 더 포함하는, 트랜스코딩 방법.
KR1020047018586A 2002-05-17 2003-05-16 압축된 비디오 비트스트림들을 트랜스코딩하는 방법 및 장치 KR100620270B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/150,269 US20030215011A1 (en) 2002-05-17 2002-05-17 Method and apparatus for transcoding compressed video bitstreams
US10/150,269 2002-05-17
PCT/US2003/015297 WO2003098938A2 (en) 2002-05-17 2003-05-16 Video transcoder

Publications (2)

Publication Number Publication Date
KR20050010814A true KR20050010814A (ko) 2005-01-28
KR100620270B1 KR100620270B1 (ko) 2006-09-13

Family

ID=29419208

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047018586A KR100620270B1 (ko) 2002-05-17 2003-05-16 압축된 비디오 비트스트림들을 트랜스코딩하는 방법 및 장치

Country Status (10)

Country Link
US (1) US20030215011A1 (ko)
EP (1) EP1506677A2 (ko)
JP (1) JP2005526457A (ko)
KR (1) KR100620270B1 (ko)
CN (1) CN1653822A (ko)
AU (1) AU2003237860A1 (ko)
CA (1) CA2485181A1 (ko)
MX (1) MXPA04011439A (ko)
TW (1) TW200400767A (ko)
WO (1) WO2003098938A2 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100906957B1 (ko) * 2006-06-23 2009-07-10 브로드콤 코포레이션 서브-프레임 메타데이터를 이용한 적응 비디오 프로세싱
KR100970315B1 (ko) * 2006-08-04 2010-07-15 가부시끼가이샤 메가 칩스 트랜스코더 및 부호화 화상 변환 방법
KR101320260B1 (ko) * 2004-06-18 2013-10-23 톰슨 라이센싱 비디오 신호 데이터를 인코딩 및 디코딩하기 위한 방법 및 장치
KR101351461B1 (ko) * 2011-08-02 2014-01-14 주식회사 케이티 동영상 전송률 제어 시스템 및 방법, 그리고 동영상 변환 방법
US11089324B2 (en) 2013-04-05 2021-08-10 Canon Kabushiki Kaisha Method and apparatus for encoding and decoding an image with inter layer motion information prediction according to motion information compression scheme

Families Citing this family (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2491522C (en) * 2002-07-01 2014-12-09 E G Technology Inc. Efficient compression and transport of video over a network
SG140441A1 (en) * 2003-03-17 2008-03-28 St Microelectronics Asia Decoder and method of decoding using pseudo two pass decoding and one pass encoding
CN1771736A (zh) * 2003-04-04 2006-05-10 皇家飞利浦电子股份有限公司 视频编码、解码方法和相应设备
US20040210940A1 (en) * 2003-04-17 2004-10-21 Punit Shah Method for improving ranging frequency offset accuracy
US8126051B2 (en) * 2003-05-06 2012-02-28 Trident Microsystems (Far East) Ltd. Video encoding and decoding methods and corresponding encoding and decoding devices
US8218624B2 (en) 2003-07-18 2012-07-10 Microsoft Corporation Fractional quantization step sizes for high bit rates
US10554985B2 (en) 2003-07-18 2020-02-04 Microsoft Technology Licensing, Llc DC coefficient signaling at small quantization step sizes
US7738554B2 (en) 2003-07-18 2010-06-15 Microsoft Corporation DC coefficient signaling at small quantization step sizes
KR100556340B1 (ko) * 2004-01-13 2006-03-03 (주)씨앤에스 테크놀로지 영상 부호화 장치
US7839998B2 (en) * 2004-02-09 2010-11-23 Sony Corporation Transcoding CableCARD
US7397855B2 (en) * 2004-04-14 2008-07-08 Corel Tw Corp. Rate controlling method and apparatus for use in a transcoder
KR100955161B1 (ko) 2004-05-04 2010-04-28 콸콤 인코포레이티드 모션 보상된 프레임 레이트 상향 변환을 위한 방법 및 장치
US7801383B2 (en) 2004-05-15 2010-09-21 Microsoft Corporation Embedded scalar quantizers with arbitrary dead-zone ratios
WO2006007527A2 (en) 2004-07-01 2006-01-19 Qualcomm Incorporated Method and apparatus for using frame rate up conversion techniques in scalable video coding
EP2194720A1 (en) 2004-07-20 2010-06-09 Qualcom Incorporated Method and apparatus for encoder assisted-frame rate up conversion (EA-FRUC) for video compression
US8553776B2 (en) 2004-07-21 2013-10-08 QUALCOMM Inorporated Method and apparatus for motion vector assignment
KR100679022B1 (ko) 2004-10-18 2007-02-05 삼성전자주식회사 계층간 필터링을 이용한 비디오 코딩 및 디코딩방법과,비디오 인코더 및 디코더
EP1803302A4 (en) * 2004-10-18 2007-11-07 Samsung Electronics Co Ltd DEVICE AND METHOD FOR ADJUSTING THE BIT RATE OF A BINARY TRAIN EVOLUTIVE CODE BY MULTILAYER
US8434116B2 (en) 2004-12-01 2013-04-30 At&T Intellectual Property I, L.P. Device, system, and method for managing television tuners
US8031774B2 (en) * 2005-01-31 2011-10-04 Mediatek Incoropration Video encoding methods and systems with frame-layer rate control
US8422546B2 (en) 2005-05-25 2013-04-16 Microsoft Corporation Adaptive video encoding using a perceptual model
US7908627B2 (en) 2005-06-22 2011-03-15 At&T Intellectual Property I, L.P. System and method to provide a unified video signal for diverse receiving platforms
JP4788250B2 (ja) * 2005-09-08 2011-10-05 ソニー株式会社 動画像信号の符号化装置、動画像信号の符号化方法およびコンピュータ読み取り可能な記録媒体
US20070147496A1 (en) * 2005-12-23 2007-06-28 Bhaskar Sherigar Hardware implementation of programmable controls for inverse quantizing with a plurality of standards
NL1030976C2 (nl) * 2006-01-23 2007-07-24 Ventury Tower Mall Iii Inc Werkwijze en inrichting voor het aanpassen van de grootte van een informatiebestand.
KR100772878B1 (ko) * 2006-03-27 2007-11-02 삼성전자주식회사 비트스트림의 비트율 조절을 위한 우선권 할당 방법,비트스트림의 비트율 조절 방법, 비디오 디코딩 방법 및 그방법을 이용한 장치
US8750387B2 (en) * 2006-04-04 2014-06-10 Qualcomm Incorporated Adaptive encoder-assisted frame rate up conversion
US8634463B2 (en) 2006-04-04 2014-01-21 Qualcomm Incorporated Apparatus and method of enhanced frame interpolation in video compression
US8130828B2 (en) 2006-04-07 2012-03-06 Microsoft Corporation Adjusting quantization to preserve non-zero AC coefficients
US7974340B2 (en) 2006-04-07 2011-07-05 Microsoft Corporation Adaptive B-picture quantization control
US8059721B2 (en) 2006-04-07 2011-11-15 Microsoft Corporation Estimating sample-domain distortion in the transform domain with rounding compensation
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
US8711925B2 (en) 2006-05-05 2014-04-29 Microsoft Corporation Flexible quantization
US8077775B2 (en) * 2006-05-12 2011-12-13 Freescale Semiconductor, Inc. System and method of adaptive rate control for a video encoder
US7773672B2 (en) * 2006-05-30 2010-08-10 Freescale Semiconductor, Inc. Scalable rate control system for a video encoder
JP4584871B2 (ja) * 2006-06-09 2010-11-24 パナソニック株式会社 画像符号化記録装置および画像符号化記録方法
US8385424B2 (en) 2006-06-26 2013-02-26 Qualcomm Incorporated Reduction of errors during computation of inverse discrete cosine transform
US8571340B2 (en) 2006-06-26 2013-10-29 Qualcomm Incorporated Efficient fixed-point approximations of forward and inverse discrete cosine transforms
KR101352979B1 (ko) 2006-07-04 2014-01-23 경희대학교 산학협력단 스케일러블 비디오 인코딩/디코딩 방법 및 그 장치
WO2008004816A1 (en) * 2006-07-04 2008-01-10 Electronics And Telecommunications Research Institute Scalable video encoding/decoding method and apparatus thereof
KR20080004340A (ko) * 2006-07-04 2008-01-09 한국전자통신연구원 영상 데이터의 스케일러블 코딩 방법 및 그 장치
US20080043832A1 (en) * 2006-08-16 2008-02-21 Microsoft Corporation Techniques for variable resolution encoding and decoding of digital video
US8773494B2 (en) 2006-08-29 2014-07-08 Microsoft Corporation Techniques for managing visual compositions for a multimedia conference call
US8300698B2 (en) 2006-10-23 2012-10-30 Qualcomm Incorporated Signalling of maximum dynamic range of inverse discrete cosine transform
EP2080377A2 (en) * 2006-10-31 2009-07-22 THOMSON Licensing Method and apparatus for transrating bit streams
US8437397B2 (en) * 2007-01-04 2013-05-07 Qualcomm Incorporated Block information adjustment techniques to reduce artifacts in interpolated video frames
US8238424B2 (en) 2007-02-09 2012-08-07 Microsoft Corporation Complexity-based adaptive preprocessing for multiple-pass video compression
TW200836130A (en) * 2007-02-16 2008-09-01 Thomson Licensing Bitrate reduction method by requantization
US8594187B2 (en) * 2007-03-02 2013-11-26 Qualcomm Incorporated Efficient video block mode changes in second pass video coding
US20080240257A1 (en) * 2007-03-26 2008-10-02 Microsoft Corporation Using quantization bias that accounts for relations between transform bins and quantization bins
US8498335B2 (en) 2007-03-26 2013-07-30 Microsoft Corporation Adaptive deadzone size adjustment in quantization
US8243797B2 (en) 2007-03-30 2012-08-14 Microsoft Corporation Regions of interest for quality adjustments
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
US8189933B2 (en) 2008-03-31 2012-05-29 Microsoft Corporation Classifying and controlling encoding quality for textured, dark smooth and smooth video content
US8897359B2 (en) 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
WO2010041856A2 (en) * 2008-10-06 2010-04-15 Lg Electronics Inc. A method and an apparatus for processing a video signal
KR20100071865A (ko) * 2008-12-19 2010-06-29 삼성전자주식회사 멀티 코어 프로세스 방식의 영상 신호 처리장치에서 영상 프레임 구성 및 복호화 방법과 그 영상 신호 처리장치
US8275057B2 (en) * 2008-12-19 2012-09-25 Intel Corporation Methods and systems to estimate channel frequency response in multi-carrier signals
US20110080944A1 (en) * 2009-10-07 2011-04-07 Vixs Systems, Inc. Real-time video transcoder and methods for use therewith
US8731152B2 (en) 2010-06-18 2014-05-20 Microsoft Corporation Reducing use of periodic key frames in video conferencing
WO2012050832A1 (en) * 2010-09-28 2012-04-19 Google Inc. Systems and methods utilizing efficient video compression techniques for providing static image data
US8990435B2 (en) * 2011-01-17 2015-03-24 Mediatek Inc. Method and apparatus for accessing data of multi-tile encoded picture stored in buffering apparatus
WO2012142506A1 (en) 2011-04-14 2012-10-18 Dolby Laboratories Licensing Corporation Image prediction based on primary color grading model
US20130195198A1 (en) * 2012-01-23 2013-08-01 Splashtop Inc. Remote protocol
US9491459B2 (en) * 2012-09-27 2016-11-08 Qualcomm Incorporated Base layer merge and AMVP modes for video coding
US9936196B2 (en) * 2012-10-30 2018-04-03 Qualcomm Incorporated Target output layers in video coding
US10097825B2 (en) 2012-11-21 2018-10-09 Qualcomm Incorporated Restricting inter-layer prediction based on a maximum number of motion-compensated layers in high efficiency video coding (HEVC) extensions
JP5412588B2 (ja) * 2013-01-30 2014-02-12 株式会社メガチップス トランスコーダ
US10178398B2 (en) * 2013-10-11 2019-01-08 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement for video transcoding using mode or motion or in-loop filter information
FR3016764B1 (fr) * 2014-01-17 2016-02-26 Sagemcom Broadband Sas Procede et dispositif de transcodage de donnees video de h.264 vers h.265
US9953660B2 (en) * 2014-08-19 2018-04-24 Nuance Communications, Inc. System and method for reducing tandeming effects in a communication system
CN107038736B (zh) * 2017-03-17 2021-07-06 腾讯科技(深圳)有限公司 一种基于帧率的动画展示方法及终端设备
US10229537B2 (en) * 2017-08-02 2019-03-12 Omnivor, Inc. System and method for compressing and decompressing time-varying surface data of a 3-dimensional object using a video codec
US10692247B2 (en) * 2017-08-02 2020-06-23 Omnivor, Inc. System and method for compressing and decompressing surface data of a 3-dimensional object using an image codec
CN109660825B (zh) * 2017-10-10 2021-02-09 腾讯科技(深圳)有限公司 视频转码方法、装置、计算机设备及存储介质
CN110490810B (zh) * 2019-01-20 2020-06-30 浙江精弘益联科技有限公司 现场大数据动态调整装置
CN110880009B (zh) * 2019-01-20 2020-07-17 浩德科技股份有限公司 现场大数据动态调整方法
US11044477B2 (en) * 2019-12-16 2021-06-22 Intel Corporation Motion adaptive encoding of video
US11582442B1 (en) * 2020-12-03 2023-02-14 Amazon Technologies, Inc. Video encoding mode selection by a hierarchy of machine learning models
CN112866716A (zh) * 2021-01-15 2021-05-28 北京睿芯高通量科技有限公司 一种对视频文件进行同步解封装的方法及其系统
US11587208B2 (en) * 2021-05-26 2023-02-21 Qualcomm Incorporated High quality UI elements with frame extrapolation

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000508855A (ja) 1996-04-12 2000-07-11 イメディア コーポレイション ビデオ・トランスコーダ
US6570922B1 (en) * 1998-11-24 2003-05-27 General Instrument Corporation Rate control for an MPEG transcoder without a priori knowledge of picture type
KR100433516B1 (ko) * 2000-12-08 2004-05-31 삼성전자주식회사 트랜스코딩 방법
US6671322B2 (en) * 2001-05-11 2003-12-30 Mitsubishi Electric Research Laboratories, Inc. Video transcoder with spatial resolution reduction

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101320260B1 (ko) * 2004-06-18 2013-10-23 톰슨 라이센싱 비디오 신호 데이터를 인코딩 및 디코딩하기 위한 방법 및 장치
KR100906957B1 (ko) * 2006-06-23 2009-07-10 브로드콤 코포레이션 서브-프레임 메타데이터를 이용한 적응 비디오 프로세싱
KR100970315B1 (ko) * 2006-08-04 2010-07-15 가부시끼가이샤 메가 칩스 트랜스코더 및 부호화 화상 변환 방법
US8204105B2 (en) 2006-08-04 2012-06-19 Megachips Corporation Transcoder and coded image conversion method
KR101351461B1 (ko) * 2011-08-02 2014-01-14 주식회사 케이티 동영상 전송률 제어 시스템 및 방법, 그리고 동영상 변환 방법
US11089324B2 (en) 2013-04-05 2021-08-10 Canon Kabushiki Kaisha Method and apparatus for encoding and decoding an image with inter layer motion information prediction according to motion information compression scheme

Also Published As

Publication number Publication date
US20030215011A1 (en) 2003-11-20
TW200400767A (en) 2004-01-01
MXPA04011439A (es) 2005-02-17
EP1506677A2 (en) 2005-02-16
WO2003098938A2 (en) 2003-11-27
AU2003237860A8 (en) 2003-12-02
CN1653822A (zh) 2005-08-10
WO2003098938A3 (en) 2004-06-10
CA2485181A1 (en) 2003-11-27
KR100620270B1 (ko) 2006-09-13
JP2005526457A (ja) 2005-09-02
AU2003237860A1 (en) 2003-12-02

Similar Documents

Publication Publication Date Title
KR100620270B1 (ko) 압축된 비디오 비트스트림들을 트랜스코딩하는 방법 및 장치
US6081295A (en) Method and apparatus for transcoding bit streams with video data
KR100433516B1 (ko) 트랜스코딩 방법
KR100253931B1 (ko) 디지탈 영상 시퀀스의 디코딩 방법 및 장치
JP4571489B2 (ja) ビデオ符号化システムにおける量子化器パラメータを表示するための方法および装置
KR100934290B1 (ko) 엠피이지-2 4:2:2-프로파일 비트스트림을 메인-프로파일비트스트림으로 컨버팅 하기 위한 방법 및 아키텍처
US8170097B2 (en) Extension to the AVC standard to support the encoding and storage of high resolution digital still pictures in series with video
US6031575A (en) Method and apparatus for encoding an image signal, method and apparatus for decoding an image signal, and recording medium
US20090141809A1 (en) Extension to the AVC standard to support the encoding and storage of high resolution digital still pictures in parallel with video
JP3413721B2 (ja) 画像符号化方法及び装置、並びに画像復号方法及び装置
KR20060045719A (ko) 고충실도 트랜스코딩
KR20030014697A (ko) 엠펙-2로부터 엠펙-4로의 비디오 사이즈 변환 및트랜스코딩 방법 및 그 장치
KR100238622B1 (ko) 새로운 적응형 양자화기를 이용한 동영상 압축 시스템 및 방법
JP2007266749A (ja) 符号化方法
Haskell et al. Mpeg video compression basics
EP1442600B1 (en) Video coding method and corresponding transmittable video signal
US20030138052A1 (en) Video coding and decoding method, and corresponding signal
JP2000312362A (ja) 画像符号化方式変換装置、画像符号化方式変換方法および記録媒体
Teixeira et al. Video compression: The mpeg standards
KR100327102B1 (ko) 영상시스템에서의압축동영상변환방법
SECTOR et al. Information technology–Generic coding of moving pictures and associated audio information: Video
Challapali et al. Video compression for digital television applications
KR20030006641A (ko) 트랜스코더 및 그의 트랜스 코딩 방법
Chebil et al. Compressed domain editing of H. 263 and MPEG-4 videos
Jafari et al. An Efficient Video Transcoding Algorithm Between H. 263 and MPEG-4 for Inter-Network Communications

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120727

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130729

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140730

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150807

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee