KR101279755B1 - 효율적인 통합 디지털 비디오 트랜스코딩 - Google Patents

효율적인 통합 디지털 비디오 트랜스코딩 Download PDF

Info

Publication number
KR101279755B1
KR101279755B1 KR1020087006056A KR20087006056A KR101279755B1 KR 101279755 B1 KR101279755 B1 KR 101279755B1 KR 1020087006056 A KR1020087006056 A KR 1020087006056A KR 20087006056 A KR20087006056 A KR 20087006056A KR 101279755 B1 KR101279755 B1 KR 101279755B1
Authority
KR
South Korea
Prior art keywords
downscaling
transcoding
bitstream
operations
transcoder
Prior art date
Application number
KR1020087006056A
Other languages
English (en)
Other versions
KR20080055820A (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 KR20080055820A publication Critical patent/KR20080055820A/ko
Application granted granted Critical
Publication of KR101279755B1 publication Critical patent/KR101279755B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23608Remultiplexing multiplex streams, e.g. involving modifying time stamps or remapping the packet identifiers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • 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
    • 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/127Prioritisation of hardware or computational resources
    • 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/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • 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
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/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/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/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • 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/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • 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/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/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
    • 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/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • 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
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4344Remultiplexing of multiplex streams, e.g. by modifying time stamps or remapping the packet identifiers

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

효율적인 통합 디지털 비디오 트랜스코딩이 설명되어 있다. 일 양태에서, 통합 트랜스코더(integrated transcoder)는 인코딩된 비트스트림을 수신한다. 상기 통합 트랜스코더는 제1 미디어 데이터 포맷과 관련된 제1 세트의 압축 기법들에 기초하여 상기 인코딩된 비트스트림을 부분적으로 디코딩함으로써 상기 인코딩된 비트스트림을 트랜스코딩한다. 상기 디코딩 동작들은 중간 데이터 스트림을 생성한다. 그 후 상기 통합 트랜스코더는 제2 미디어 데이터 포맷과 관련된 제2 세트의 압축 기법들을 이용하여 상기 중간 데이터 스트림을 인코딩한다. 상기 제1 및 제2 세트의 압축 기법들은 동일하지 않다.
트랜스코더, 비트스트림, 인코딩, 디코딩, 미디어 포맷

Description

효율적인 통합 디지털 비디오 트랜스코딩{EFFICIENT INTEGRATED DIGITAL VIDEO TRANSCODING}
디지털 비디오 콘텐트는 전형적으로 특정 데이터 포맷을 타겟으로 하여 생성된다. 비디오 데이터 포맷은 일반적으로, 특정 비트 레이트, 공간 해상도(spatial resolution), 프레임 레이트 등을 갖는, 특정 비디오 코딩 표준 또는 독점적 코딩 알고리즘(proprietary coding algorithm)에 따른다. 그러한 코딩 표준은 MPEG-2 및 WMV(WINDOWS Media Video)를 포함한다. 대다수의 현존하는 비디오 콘텐츠는 MPEG-2 데이터 포맷에 따라서 코딩된다. WMV는 스트리밍 영역에서 적격의 코덱으로서 널리 인정되고, 인터넷의 전반에 걸쳐서 널리 전개(deploy)되고, HD-DVD 컨소시엄에 의해 채택되고, 현재 SMPTE 표준으로서 간주되고 있다. 상이한 비디오 코딩 표준들은 가지각색의 압축 성능 및 시각적 품질(visual quality)을 제공한다.
트랜스코딩(transcoding)은 하나의 압축 비트스트림을 또 다른 압축 비트스트림으로 변환하는 일반적인 프로세스를 가리킨다. 장치의 성능 및 분배 네트워크에 부합(match)하기 위해, 종종 하나의 코딩 포맷의 비트스트림을 또 다른 코딩 포맷으로, 예컨대, MPEG-2로부터 WMV로, H.264로, 또는 심지어 스케일링 가능한 포맷(scalable format)으로 변환하는 것이 바람직하다. 트랜스코딩은 또한 VCR 부류의 기능, 로고 삽입, 또는 무선 채널을 통한 송신을 위한 비트스트림의 향상된 오 류 복원 성능(error resilience capability) 등의 어떤 특정 기능을 성취하기 위해 이용될 수도 있다.
도 1은 입력 비트스트림을 디코딩하는 프런트 엔드 디코더(front-end decoder)와, 상이한 코딩 매개 변수 세트를 갖거나 또는 새로운 포맷의 새로운 비트스트림을 생성하는 인코더를 캐스케이드 접속(cascade)하는, 종래의 CPDT(Cascaded Pixel-Domain Transcoder) 시스템을 도시한다. 이 종래의 트랜스코딩 아키텍처의 한 가지 단점은 그것의 복잡성이 통상적으로 실제 전개에 대한 장애를 제공한다는 점이다. 그 결과, 도 1의 CPDT 트랜스코딩 아키텍처는 통상적으로 개량된 스킴(improved schemes)을 위한 성능 벤치마크(performance benchmark)로서 이용된다.
도 2는 도 1의 CPDT 아키텍처를 단순화한, 종래의 CDDT(cascaded DCT-domain transcoder) 아키텍처를 도시한다. 도 2의 시스템은 기능을 공간/시간 해상도 다운스케일링 및 코딩 매개 변수 변경으로 제한한다. CDDT는 도 1의 CPDT 트랜스코더에 의해 구현되는 DCT/IDCT 프로세스들을 제거한다. 그러나, CDDT는 DCT 도메인에서 MC를 수행하는데, 이는 통상적으로 시간 소모적이고 계산상 고비용의 동작이다. 이는 DCT 블록들은 종종 MC 블록들과 겹치기 때문이다. 그 결과, CDDT 아키텍처는 통상적으로 DCT 도메인에서 MC를 수행하기 위하여 복잡하고 계산상 고비용의 부동 소수점 행렬 연산을 적용할 필요가 있다. 또한, 움직임 벡터(MV: motion vector) 세밀화(refinement)는 통상적으로 CDDT 아키텍처를 이용하여 실행할 수 없다.
<발명의 요약>
이 요약은 아래 상세한 설명에서 더 설명되는 개념들 중 선택된 것을 단순한 형태로 소개하기 위해 제공된다. 이 요약은 청구된 내용의 중요한 특징들 또는 필수적인 특징들을 식별하기 위해 의도된 것도 아니고, 청구된 내용의 범위를 판정하는 데 도움을 주기 위해 의도된 것도 아니다.
이상을 고려하여, 효율적인 통합 디지털 비디오 트랜스코딩이 설명된다. 일 양태에서, 통합 트랜스코더(integrated transcoder)는 인코딩된 비트스트림을 수신한다. 상기 통합 트랜스코더는 제1 미디어 데이터 포맷과 관련된 제1 세트의 압축 기법들에 기초하여 상기 인코딩된 비트스트림을 부분적으로 디코딩함으로써 상기 인코딩된 비트스트림을 트랜스코딩한다. 상기 디코딩 동작들은 중간 데이터 스트림을 생성한다. 그 후 상기 통합 트랜스코더는 제2 미디어 데이터 포맷과 관련된 제2 세트의 압축 기법들을 이용하여 상기 중간 데이터 스트림을 인코딩한다. 상기 제1 및 제2 세트의 압축 기법들은 동일하지 않다.
도면들에서, 구성 요소 참조 번호의 가장 왼쪽 숫자는 그 구성 요소가 처음 나오는 특정 도면을 식별한다.
도 1은 도 1은 입력 비트스트림을 디코딩하는 프런트 엔드 디코더(front-end decoder)와, 상이한 코딩 매개 변수 세트를 갖거나 또는 새로운 포맷의 새로운 비트스트림을 생성하는 인코더를 캐스케이드 접속(cascade)하는, 종래의 CPDT(Cascaded Pixel-Domain Transcoder) 시스템을 도시한다.
도 2는 도 1의 CPDT 아키텍처를 단순화한, 종래의 CDDT(cascaded DCT-domain transcoder) 아키텍처를 도시한다.
도 3은 일 실시예에 따른, MPEG-2를 WMV로 트랜스코딩하는 예시적인 비통합 픽셀 도메인 트랜스코딩 분할-아키텍처((non-integrated pixel-domain transcoding split-architecture)를 도시한다. 보다 구체적으로, 이 분할-아키텍처는 효율적인 통합 디지털 비디오 트랜스코딩을 위한 개념적 기초를 제공한다.
도 4는 일 실시예에 따른, 효율적인 통합 디지털 비디오 트랜스코딩을 위한 예시적인 시스템을 도시한다.
도 5는 일 실시예에 따른, 예시적인 단순화된 폐루프 캐스케이드 접속 픽셀 도메인 트랜스코더(closed-loop cascaded pixel-domain transcoder)를 도시한다.
도 6은 일 실시예에 따른, 예시적인 단순화된 폐루프 DCT-도메인 트랜스코더를 도시한다.
도 7은 일 실시예에 따른, 4개의 4×4 DCT 블록들을 하나의 8×8 DCT 블록으로 병합하는 동작의 예를 도시한다. 이 병합 동작은 효율적인 비디오 콘텐트 트랜스코딩 동안에 수행된다.
도 8은 일 실시예에 따른, 단순화된 DCT-도메인 수치 2:1 해상도 다운스케일링 트랜스코더(DCT-domain numeral 2:1 resolution downscaling transcoder)에 대한 예시적인 아키텍처를 도시한다.
도 9는 일 실시예에 따른, 2:1 공간 해상도 다운스케일링 트랜스코딩 동작을 위해 인터레이스 미디어(interlace media)에 대하여 4개의 4×4 DCT 블록들을 하나 의 8×8 DCT 블록으로 병합하는 동작의 예를 도시한다.
도 10은 일 실시예에 따른, 전체 편이 보상(full drift compensation)을 갖는 예시적인 단순화된 2:1 다운스케일링 트랜스코더 아키텍처를 도시한다.
도 11은 디코더에 대한 예시적인 표준 VBV(virtual buffer verifier) 버퍼 모델을 도시한다.
도 12는 일 실시예에 따른, 임의 공간 해상도 다운스케일링(arbitrarily spatial resolution downscaling)을 갖는 트랜스코더를 도시한다.
도 13은 일 실시예에 따른, 효율적인 통합 디지털 비디오 트랜스코딩 동작을 위한 예시적인 절차를 도시한다.
도 14는 일 실시예에 따른, 효율적인 통합 디지털 비디오 트랜스코딩이 부분적으로 또는 전적으로 구현되는 예시적인 환경을 도시한다.
설명과 예시를 위하여, 도면들에서는 다음의 규칙을 제공하기 위해 색이 사용된다. 청색 실선 화살은 실제 또는 나머지 화상 데이터에 관련하여 픽셀 도메인 신호를 나타낸다. 적색 실선 화살은 DCT 도메인의 신호를 나타낸다. 오렌지색 대시 화살(dashed arrow)은 움직임 정보를 나타낸다.
개관
아래에서는 도 4 내지 14를 참조하여 효율적인 디지털 비디오 트랜스코딩을 위한 시스템 및 방법들을 설명한다. 이들 시스템 및 방법은 입력 비트스트림 내의 정보를 이용하여 애플리케이션이 오차 전파를 동적으로 제어하고, 그에 의해, 비디오 비트스트림 트랜스코딩의 속도 및 품질을 선택적으로 제어하게 한다. 이 선택적 제어는 애플리케이션이 폐루프 트랜스코딩(고속 트랜스코딩 프로필)으로부터 개루프(open-loop)(고품질 트랜스코딩 프로필) 트랜스코딩 스킴으로 심리스하게(seamlessly) 스케일링하게 한다. 종래의 트랜스코딩 아키텍처(예컨대, 도 1의 CPDT 및 도 2의 CDDT)와 대조적으로, 효율적인 디지털 비디오 트랜스코딩을 위한 아키텍처들은 통합되고 그것들은 상이한 유형의 DCT들(Discrete Cosine Transforms) 또는 DCT 부류의 변환들을 하나의 트랜스코딩 모듈 내에 결합한다. 효율적인 비디오 트랜스코딩을 위한 시스템 및 방법들은 고속 조회 테이블(fast lookup table)에 의한 재양자화(requantization)를 구현하고, 3중 임계값 알고리즘(triple threshold algorithm)을 이용한 정교한 편이 제어 메커니즘(fine drifting control mechanisms)을 제공한다.
일 구현에서, 효율적인 디지털 비디오 트랜스코딩이 비트스트림 데이터 포맷(예컨대, MPEG 등)을 WMV로 트랜스코딩하는 경우, 고품질 프로필 트랜스코딩 동작들은 WMV의 고급 코딩 특징들(advanced coding features)을 지원한다. 일 구현에서, 고속 프로필 트랜스코딩 동작들은 임의 해상도 2단계 다운스케일링(arbitary resolution two-stage downscaling)을 구현한다(예컨대, 고선명도(HD: high-definition)로부터 표준 선명도(SD: standard definition)로 트랜스코딩하는 경우). 그러한 2단계 다운스케일링 동작들에서, 다운스케일링 비율의 일부는 DCT 도메인에서 효율적으로 달성되지만, 다운스케일링 비율 동작들은 상당히 감소된 해상도에서 공간 도메인에서 구현된다.
예시적인 개념적 기초
도 3은 MPEG-2를 WMV로 트랜스코딩하는 예시적인 비통합 캐스케이드 접속 픽셀 도메인 트랜스코딩 분할-아키텍처(non-integrated cascaded pixel-domain transcoding split-architecture)(300)를 도시한다. 이 분할-아키텍처가 통합되지 않는 이유는 개별 모듈들이 각각 디코딩 및 인코딩 동작들을 수행하기 때문이다. 도 3의 분할-아키텍처는 효율적인 통합 디지털 비디오 트랜스코딩을 위한 개념적인 기초를 제공한다. 표 1은 도 3의 설명을 위한 기호들 및 그들 각각의 의미를 보여준다.
Figure 112011068524236-pct00001
트랜스코더의 인코딩 부분에 의해 인코딩될 프레임 (i+1)의 오차
Figure 112011068524236-pct00002
최초 해상도에서 MPEG-2 디코더에 의한 재구성된 프레임 i
Figure 112011068524236-pct00003
최초 해상도에서 인코더에 의한 재구성된 프레임 i
Figure 112011068524236-pct00004
감소된 해상도에서 MPEG-2 디코더에 의한 재구성된 프레임 i
Figure 112011068524236-pct00005
감소된 해상도에서 인코더에 의한 재구성된 프레임 i
Figure 112011068524236-pct00006
MPEG-2 디코더에 의한 프레임 (i+1)의 재구성된 나머지들
Figure 112011068524236-pct00007
인코더에 의한 프레임 (i+1)의 재구성된 나머지들
Figure 112011068524236-pct00008
16x16 블록에 기초한, MPEG-2 디코더에 의한 참조 화상 B 및 움직임 벡터 mv를 갖는 움직임 보상 예측(motion compensated prediction)
Figure 112011068524236-pct00009
16x16 또는 8x8 블록에 기초한, 트랜스코더(308)(인코더)에 의한 참조 화상 B 및 움직임 벡터 mv를 갖는 움직임 보상 예측
Figure 112011068524236-pct00010
8x8 또는 그보다 작은 블록에 기초한, MPEG-2 필터링을 이용한, 감소된 해상도 참조 b 및 움직임 벡터 mv를 갖는 움직임 보상 예측
Figure 112011068524236-pct00011
8x8 또는 그보다 작은 블록에 기초한, 트랜스코더(308) 필터링을 이용한, 감소된 해상도 참조 B 및 움직임 벡터 mv를 갖는 움직임 보상 예측
Figure 112011068524236-pct00012
최초 프레임 해상도에서의 움직임 벡터
Figure 112011068524236-pct00013
감소된 프레임 해상도에서의 움직임 벡터
설명과 예시를 위하여, 시스템(300)은 비트 레이트 감소, 공간 해상도 감소, 및 그들의 조합과 함께 MPEG-2로부터 WMV로 트랜스코딩하는 것에 관하여 설명된다. 다수의 현존하는 디지털 비디오 콘텐츠는 MPEG-2 데이터 포맷에 따라서 코딩된다. WMV는 스트리밍 영역에서 적격의 코덱으로서 널리 인정되고, 인터넷의 전반에 걸쳐서 널리 전개되고, HD-DVD 컨소시엄에 의해 채택되고, 현재 SMPTE 표준으로서 간주되고 있다.
MPEG-2 및 WMV는 가지각색의 압축 및 시각적 품질 성능을 제공한다. 예를 들면, MPEG-2 및 WMF에 의해 각각 이용되는 압축 기법들은 매우 상이하다. 이를테면, 움직임 벡터(MV: motion vector) 정밀도(precision) 및 움직임 보상(MC: motion compensation) 필터링 기법들이 상이하다. MPEG-2에서는 움직임 정밀도는 1/2 픽셀(half-pixel) 정확도(accuracy)까지만이고 그 보간 방법은 이중선형 필터링(bilinear filtering)이다. 이와 대비하여, WMV에서는, 움직임 정밀도는 1/4 픽셀(quarter-pixel) 정확도까지 갈 수 있고, 2개의 보간 방법, 즉, 이중선형 필터링 및 바이큐빅 필터링(bicubic filtering)이 지원된다. 또한, 필터링 프로세스에 수반되는 라운딩 제어 매개 변수(rounding control parameter)가 있다. WMV를 사용할 경우, MPEG-2 비트 레이트와 비교하여, 비디오 비트 레이트가 50%까지 감소될 수 있고 시각적 품질 손실은 대수롭지 않다.
다른 예로, MPEG-2 및 WMV에 의해 사용되는 변환들은 상이하다. 이를테면, MPEG-2는 표준 DCT/IDCT를 이용하고 변환 크기는 8×8로 고정된다. 이와 대비하여, WMV는 변환 커널 행렬의 원소들이 모두 작은 정수들인 정수 변환(VC1-T)을 이용한다. 또한, 변환 크기는 WMV를 이용하여 블록마다 8×8, 8×4, 4×8, 4×4 중 어느 하나를 이용하여 변경될 수 있다. MPEG-2는 프레임 레벨 최적화(frame level optimization)를 지원하지 않는다. 반면, WMV는 성능 최적화를 위한 각종의 프레임 레벨 구문들(frame level syntaxes)을 지원한다. WMV는 명도 보상(intensity compensation), 레인지 축소(range reduction), 및 동적 해상도 변경(dynamic resolution change) 등과 같은 다수의 다른 고급 코딩 특징들을 지원한다.
상기를 고려하여, 해상도 변경 없이 비트 레이트 감소를 제공하기 위하여, 도 3에 도시된 MPEG-2 및 WMV 인코더를 브리지(bridge)하는 필터링 프로세스는 올패스(all-pass) 필터이다(즉, 실제로는 아니다(not in effect)). 그러므로, 프레임 (i+1)에 대한 인코더에의 입력은 다음과 같이 표현된다:
Figure 112008017972996-pct00014
이 구현에서, 도 3의 WMV 코딩 효율은 보다 정교한 움직임 정밀도로부터 결과를 얻는다. WMV에서는, MPEG-2에서와 같은 공통의 1/2 픽셀 정밀도와 비교하여 1/4 픽셀 움직임 정밀도가 허용된다. 또한, WMV는 MC 필터링을 위해 바이큐빅 보간으로 알려진 보다 양호한 그러나 보다 복잡한 보간을 허용한다. 이중선형 보간은 1/2 픽셀 MC를 위하여 MC 모듈(MCmp2)에서 MPEG-2에 대하여 이용된다. 이 이중선형 보간 방법은 MPEG-2 이중선형 보간은 라운딩 제어를 갖고 있지 않다는 것을 제외하고는 WMV에서 사용되는 것과 유사하다. 높은 속도를 달성하기 위하여, 인코 더 부분에서는 1/2 픽셀 움직임 정확도가 구현될 수 있다. 이에 대한 한 가지 이유는 절대적인 원본 프레임은 없기 때문이다(즉, 비트스트림 입력 데이터(BS_IN)는 이미 압축되어 있다). 따라서, 이 예에서는, 보다 정확하면서도 의미 있는 움직임 벡터를 획득하기가 곤란하다. 한편, MPEG-2 디코더로부터 얻어진 움직임 정보(즉, MVvcl = MVmp2)는 바로 재사용될 수 있다. 해상도 변경이 없으므로, 이 가정으로 MV 정밀도 손실은 없다. 만일 인코더가 이중선형 보간을 이용하고 라운딩 제어 매개 변수를 항상 강제로 탈락되게 하도록 더 제한된다면, 움직임 보상은 선형 동작이라는 합리적인 가정 하에 그리고 라운딩 오차를 무시하여(즉, MCVC9 = MCmp2), 수학식 1은 다음과 같이 단순화된다:
Figure 112008017972996-pct00015
수학식 2에 따르면, 도 3의 참조 CPDT 트랜스코더는 단순화될 수 있다. 그러한 단순화된 아키텍처에 대해서는 아래에서 도 5를 참조하여 설명한다. 그 단순화된 아키텍처를 설명하기에 앞서, 우선 효율적인 디지털 비디오 트랜스코딩을 위한 예시적 시스템을 설명한다.
예시적인 시스템
필수적인 것은 아니지만, 효율적인 디지털 비디오 디코딩은 퍼스널 컴퓨터와 같은 컴퓨팅 장치에 의해 실행되는 컴퓨터 프로그램 명령어들의 일반적인 상황에서 설명된다. 프로그램 모듈은 일반적으로 특정 작업을 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 개체, 컴포넌트, 데이터 구조 등을 포함한다. 본 시스템들 및 방법들은 전술한 상황에서 설명되지만, 이하에서 설명되는 액트(act)들 및 동작들을 하드웨어로 구현될 수도 있다.
도 4는 효율적인 디지털 비디오 트랜스코딩을 위한 예시적인 시스템(400)을 도시한다. 이 구현에서, 시스템(400)의 동작들은, 다수의 비디오 코딩 표준 및 독점적 포맷들이 기초하고 있는, 복합(hybrid) DCT 및 블록 기반 움직임 보상(MC) 비디오 코딩 스킴들과 관련하여 설명된다. 특히, 시스템(400)은 MPEG-2를 WMV로 트랜스코딩하는 데 이용되는 아키텍처들, 컴포넌트들, 및 동작들과 함께 설명된다. 그러나, MPEG-2를 WMV로 트랜스코딩하기 위해 시스템(400)에 의해 구현되는 스케일링 가능한 복잡성 및 효율성 트랜스코딩을 위해 설명되는 아키텍처들, 컴포넌트들, 및 동작들은 MPEG-2 및 WHV 이외에도 다른 비트스트림 데이터 포맷 변환들에도 적용될 수 있다는 것을 알 수 있다. 예를 들면, 일 구현에서, 시스템(400)은 MPEG-2 비트스트림을 MPEG-4 비트스트림으로 그리고 MPEG-4 비트스트림 데이터를 WMV 비트스트림 데이터 등으로 트랜스코딩하는 데 이용된다. 그러한 대안 실시예들에서, 다음에 설명되는 시스템(400)의 트랜스코딩 아키텍처들(그와 관련된 컴포넌트들 및 동작들을 포함함)은 디코딩되고, 인코딩되는 비트스트림 데이터의 유형, 및 각각의 데이터 포맷을 고려한다.
이 구현에서, 시스템(400)은 범용 컴퓨팅 장치(402)를 포함한다. 컴퓨팅 장치(400)는 퍼스널 컴퓨터, 랩톱, 서버, 핸드헬드 또는 모바일 컴퓨팅 장치 등의 임의의 유형의 컴퓨팅 장치를 나타낸다. 컴퓨팅 장치(402)는 제1 데이터 포맷(예컨 대, MPEG-2)의 인코딩된 비트스트림을 상이한 데이터 포맷들(예컨대, WMV)로 인코딩된 비트스트림으로 트랜스코딩하는 프로그램 모듈들(404) 및 프로그램 데이터(406)를 포함한다. 프로그램 모듈들(404)은, 예를 들면, 효율적인 디지털 비디오 트랜스코딩 모듈(408)("트랜스코딩 모듈(408)") 및 기타 프로그램 모듈들(410)을 포함한다. 트랜스코딩 모듈(408)은 인코딩된 미디어(412)(예컨대, MPEG-2 미디어)를 트랜스코딩된 미디어(414)(예컨대, WMV 미디어)로 트랜스코딩한다. 기타 프로그램 모듈들(410)은, 예를 들면, 운영 체제 및 트랜스코딩 모듈(408)의 비디오 비트스트림 트랜스코딩 성능들을 이용하는 애플리케이션 등을 포함한다. 일 구현에서, 애플리케이션은 운영 체제의 일부이다. 일 구현에서, 트랜스코딩 모듈(408)은 그것의 트랜스코딩 성능들을 API(Application Programming Interface)(416)를 통하여 애플리케이션에 공개(expose)한다.
고속 프로필 트랜스코딩
도 5는 오차 전파 없는 예시적인 단순화된 통합 폐루프 캐스케이드 접속 픽셀 도메인 트랜스코더(integrated closed-loop cascaded pirel-domain transcoder)를 도시한다. 설명과 예시를 위하여, 도 5의 컴포넌트들은 도 4의 컴포넌트들을 참조하여 설명된다. 이를테면, 도 5의 아키텍처는 도 4의 트랜스코딩 모듈(408)의 하나의 예시적인 아키텍처 구현을 나타낸다. 도 3의 아키텍처와 비교하여, 도 5의 아키텍처(500)를 참조하면, 이것은 개별 인코더 및 디코더 컴포넌트들이 없는 통합 아키텍처라는 것에 유의하자. 또한, MPEC-2 디코더 내의 MC로부터 MC 세밀화 움직임 추정 모듈(MC refining motion estimation module)이 제거된 것에 유의하자. 또한, WMV 인코더 내의 MC는 누산된 재양자화 오차들에 대해 작용하는 MC로 병합되어 있다. 이런 식으로, 도 5의 트랜스코딩 아키텍처는 프로그레시브(progressive) 및 인터레이스(interlaced) 비디오 데이터 포맷들의 고속 트랜스코딩을 위한 계산 복잡성을 현저히 감소시킨다.
WMV 변환은 MPEG-2에서 사용되는 것과는 상이하다는 것에 유의하자. MPEG-2에서는, 표준 부동 소수점 DCT/IDCT가 이용되는 반면 WMV에서는 그 에너지 패킹 속성(energy packing property)이 DCT와 유사한 정수 변환이 채택된다. 그 결과, MPEG-2 더코더에서의 IDCT 및 WMV 인코더에서의 VC1-T는 서로 상쇄되지 않는다. WMV에서의 정수 변환은 DCT/IDCT의 정수 구현과는 상이하다. WMV에서의 정수 변환은 모든 변환 계수들이 작은 정수들이 되도록 주의 깊게 설계되어 있다. 종래의 트랜스코더들은 제1 변환에 관하여 인코딩된 비트스트림을 제1 변환과 동일하지 않은 제2 변환으로 트랜스코딩하기 위해 통합되지 않는다.
수학식 3은 8×8 VC1-T에 대한 예시적인 변환 행렬을 제공한다.
Figure 112008017972996-pct00016
수학식 3은, 후술되는 수학식 4 및 5와 조합하여, 2개의 상이한 변환들이 어떻게 트랜스코딩 모듈(408)(도 4)의 스케일링 컴포넌트 내에 구현되는지를 지시한다. 일 구현에서, VC1-T의 정확도는 16비트 정확도이고, 이는 MMX 구현을 위해 매우 적합하다. 그 결과, 코드 복잡성은 현저히 감소될 수 있다.
도 6은 예시적인 단순화된 폐루프 DCT-도메인 트랜스코더를 도시한다. 도 6의 아키텍처는 트랜스코딩 모듈(408)(도 4)의 하나의 예시적인 아키텍처 구현을 나타낸다. 도 6의 아키텍처(600)는 도 5의 아키텍처(500)에 비하여 단순화된 아키텍처이다. 도 6을 참조하여, C8을 표준 DCT 변환 행렬이라 하고, B를 역 양자화된 MPEG-2 DCT 블록이라 하고, b를 B의 IDCT라 하면, MPEG-2 IDCT는 다음과 같이 계산된다:
Figure 112008017972996-pct00017
Figure 112008017972996-pct00018
를 b의 VC1-T라 하면,
Figure 112008017972996-pct00019
는 다음과 같이 계산된다:
Figure 112008017972996-pct00020
여기서
Figure 112008017972996-pct00021
는 2개의 행렬의 원소 단위 곱셈(element-wise multiplication)을 나타내고, N88은 다음과 같이 계산되는 VC1-T 변환에 대한 정규화 행렬이다:
Figure 112008017972996-pct00022
여기서
Figure 112008017972996-pct00023
이고;
Figure 112008017972996-pct00024
는 B로부터 다음의 식을 이용하여 바로 계산된다:
Figure 112008017972996-pct00025
Figure 112008017972996-pct00026
Figure 112008017972996-pct00027
이 대각 행렬(diagonal matrices)에 매우 가깝다는 것을 확인하기 위해, 근사(approximation)를 적용하면, 수학식 4는 행렬 B의 원소 단위 스케일링(element-wise scaling)이 된다. 즉,
Figure 112008017972996-pct00028
여기서
Figure 112008017972996-pct00029
이다.
수학식 5는 WMV 인코더에서의 VC1-T와 MPEG-2에서의 IDCT가 병합될 수 있는 것을 보여준다. 따라서, 도 5의 아키텍처는 도 6에 도시된 것으로 더욱 단순화될 수 있다. 상세히 비교해보면, 2개의 DCT/IDCT 모듈들이 2개의 VC1-T 및 역(inverse) VC1-T 모듈들로 대체되어 있음을 알 수 있다. 일 구현에서는, 단순한 스케일링 모듈이 또한 추가된다. 이 아키텍처에서는 2개의 스위치가 활성 마스크(activity mask)와 함께 포함(embed)되어 있다. 이 포함된 컴포넌트들은, 후술되는 바와 같이, 트랜스코더(408)(도 4)의 트랜스코딩 코딩 동작(transcoding coating operations)의 복잡성의 동적인 제어를 위해 이용된다. 이 포인트에서, 이들 컴포넌트들이 접속된다. WMV 변환의 16비트 산술 속성은 PC 및 DSP에 대한 병렬 처리에 적합하다. 이를 고려하여, 계산 복잡성은 현저히 감소된다. 또한, 스케일링 행렬 S88의 모든 원소들은 실질적으로 서로에 대하여 근접하므로, 이 계산, 및 일 구현은 스칼라 곱셈으로 대체된다.
도 5 및 6은, 피드백 루프가 수반되는, 예시적인 각각의 폐루프 트랜스코딩 아키텍처들을 보여준다. 이 구현에서, VC-1 역양자화(dequantization), VC-1 역변환, 나머지 오차 누산(residue error accumulation) 및 누산된 오차에 대한 MC를 포함하는, 피드백 루프는 VC-1 재양자화 프로세스에 의해 야기된 오차를 보상한다. 재양자화 오차는 도 1에 도시된 것과 같은 비트 레이트 감소 트랜스코더들에 대한 편이 오차(drifting error)의 주 원인이다. 도 5 및 6의 트랜스코딩 아키텍처는, 오차 보상으로도, 완전히 편이가 없어지지는(drift-free) 않지만, 그 편이 오차는 매우 작다. 이것은 편이 오차의 나머지 원인은 움직임 보상 필터링 동안의 라운딩 오차이기 때문이다. 나머지 오차 보상의 한 가지 장점은 도 5 및 6의 아키텍처는 아래에서 표 2와 관련하여 설명되는 바와 같이, 보상 프로세스를 동적으로 온 시키거나 오프 시킨다는 점이다. 도 6의 트랜스코딩 아키텍처는 SD에서 SD로 또는 HD에서 HD로의 변환과 같은 MPEG-2로부터 WMV로의 순수한 비트 레이트 감소 트랜스코딩을 실질적으로 최적의 방식으로 수행한다.
특히, 종래의 캐스케이드 접속 트랜스코더 아키텍처들(예컨대, 도 1 및 2의 아키텍처들)은 복잡성 유연성(complexity flexibility)이 없다. 계산 절약에 관하여, 그러한 종래의 아키텍처가 달성할 수 있는 대부분은 MV 재사용 및 모드 매핑에 의한 것이다. 한편, 누산된 오차 보상 아키텍처, 예를 들면, 도 6의 아키텍처(및 후술되는, 도 8 및 10의 아키텍처)는 복잡성의 점에서 기본 제공된 스케일링 가능성(built-in scalability)를 갖고 있다. 표 2는 도 6의 스위치들의 예시적인 의미를 보여준다.
(트랜스코딩 속도 및 품질의 동적 제어를 위한 예시적인 스위치들)
S0 블록 레벨 오차 누산 스위치
S1 블록 레벨 오차 업데이트 스위치
S2 블록 레벨 초기 스킵 블록 판정 스위치
도 4의 트랜스코딩 모듈(408)이 편이 없는 단순화를 구현한 후에, 애플리케이션은 트랜스코딩 속도를 가속시키기 위해 복잡성과 품질 간에 동적으로 트레이드오프(trade-off)할 수 있다. 이 구현에서, 품질이 속도를 위해 트레이드될 수 있고, 그 반대도 가능하다. 환언하면, 일부 편이 오차는 더 단순화된 트랜스코더에서 허용될 수 있다. 이러한 전략을 이용하여, 보다 빠른 방법에서 도입된 편이 오차는 제한되고 충분히 제어 가능하다. 이러한 고려에 기초하여, 도 6, 8, 및 10의 아키텍처에서는 3개의 스위치(S0, S1 및 S2)가 제공된다. 이 스위치들은 나머지 오차 보상 기반 아키텍처에만 이용된다. 이 스위치들은 일부 시간 소모적인 동작들을 선택적으로 스킵하여 복잡성을 상당히 감소시키는 한편, 소량의 오차만 도입한다. 다양한 스위치들의 의미가 표 2에 요약되어 있다. 이들 스위치와 관련된 계산상의 결정들은 각 스위치에 대하여 아래에서 설명되는 조건들에 따라서 효율적으로 획득된다.
스위치 S0는 블록의 재양자화 오차가 나머지 오차 버퍼(residue-error buffer) 내에 누산되어야 하는 때를 제어한다. 표준 재구성 실렉터(standard reconstruction selector)와 비교하여, 스위치 S0의 역할은 고속 조회 테이블 기반 재양자화 프로세스를 채택하고 또한 3중 임계값 알고리즘을 통하여 보다 정교한 편이 제어 메커니즘을 제공함으로써 향상된다. 그 결과, 스위치 S0에 관하여 행해진 모든 관찰들이 고려된다. 예를 들면, 일 구현에서, DCT 도메인 에너지 차이가 지시자(indicator)로서 이용될 수 있다.
스위치 S1은 가장 시간 소모적인 모듈인, 누산된 나머지 오차의 MC가 언제인지를 제어한다. 일 구현에서, 스위치 S1은 온이다. 참조 프레임에 대하여 이진 활성 마스크(binary activity mask)가 생성된다. 활성 마스크의 각 요소는, 다음 수학식에 의해 결정되는, 8×8 블록의 활성(activeness)에 대응한다.
Figure 112008017972996-pct00030
여기서 Energy(blocki)는 누산된 나머지 오차 버퍼 내의 블록의 에너지이다. 일 구현에서, Energy(blocki)는 공간 도메인 또는 DCT 도메인에서 계산된다. Energy(blocki)는 절대값들의 합에 의해 근사(approximate)될 수 있다. 만일 MV가 낮은 활성의 영역에 속하는 블록들을 가리키면, 그 특정 블록에 대한 누산된 나머지 오차의 MC는 스킵된다.
스위치 S2는 블록 오차가 인코딩되어야 할지 여부를 판정하기 위한 초기 검출을 수행한다. 이것은 인코더가 보다 코오스한(coarser) 양자화 스텝 크기를 적용하는 트랜스레이팅 애플리케이션(transrating applications)에서 특히 유용하다. 이 구현에서, 입력 신호(MPEG-2 디코더로부터의 재구성된 나머지 및 누산된 나머지 오차의 MC의 합)가 임계값보다 약하면, 스위치 S2는 오차가 인코딩되지 않도록 오프 된다.
일 구현에서, 스위치 S0, S1, 및 S2에 대한 임계값들은 보다 초기의 참조 프레임들이 보다 높은 품질로 그리고 보다 느린 속도로 처리되도록 조정된다. 이렇게 하는 이유는 스위치들의 목적은 품질과 속도 간에 보다 양호한 트레이드오프(trade-off)를 달성하기 위한 것이기 때문이고, 또한 예측 코딩 특징(predictive coding nature) 때문이다.
고품질 프로필 트랜스코더
만일 비트 레이트 변경이 현저하지 않거나 입력 소스 품질이 매우 높지 않다면, 도 6의 아키텍처는 MPEG-2 비트스트림들을 WMV 비트스트림들로 변환할 때 비트 레이트 감소를 실질적으로 최적화한다. 한편, 입력 소스는 높은 품질의 것일 수 있고 고품질 출력이 요망될 수 있고, 또한 트랜스코딩의 속도가 합당한 요건(예컨대, 실시간)일 수 있다. MV 세밀화를 갖는 도 3의 CDPT(cascaded pixel-domain transcoder)는 이들 조건을 만족시킨다. 이 아키텍처에 의하면, WMV 인코더의 모든 고급 코딩 특징들을 온 시켜서 최고의 코딩 효율이 달성될 수 있도록 보장할 수 있다.
해상도 변경
종래의 미디어 트랜스코딩 시스템에서는 일반적으로 공간 해상도 다운스케일링에 의한 트랜스코딩에 대한 오차들의 소스가 3개 있다. 이들 오차들은 다음과 같다:
Figure 112008017972996-pct00031
다운스케일링: 다운스케일된 비디오를 획득할 때 생성된 오차들. 그것은 통상적으로 시각적 품질과 복잡성 간에 트레이드오프를 행하기 위해 다운스케일링 필터의 동작들을 설계할 때, 특히 공간 도메인에서 다운스케일링할 때의 하드와이어드 선택(hardwired choice)이다.
Figure 112008017972996-pct00032
재양자화 오차: 순수한 비트 레이트 감소 트랜스코딩 프로세서에서와 같이, 이것은 보다 코오스한 재양자화 스텝 크기에 의한 재양자화로 인한 오차이다.
Figure 112008017972996-pct00033
MV 오차: 부정확한 MV는 그릇된 움직임 보상 예측으로 이어질 것이다. 그 결과, 재양자화 오차가 어떻게 보상되든, 그리고 비트 레이트가 얼마나 높아지든, 새로운 MV들 및 모드들에 기초하여 움직임 보상을 다시 계산하지 않으면 완전한 결과를 얻기 어렵다. 이것은 B-프레임들을 트랜스코딩하는 종래의 시스템들에서 문제가 되는데, 이는 WMV는 B-프레임들에 대하여 하나의 MV 모드만을 지원하기 때문이다. 이것은 또한, 예컨대, 4-MV로부터 1-MV 모드로의 코딩 모드 변경으로 이어질, 최적화를 수행하기를 원하는 경우 문제가 될 수 있다. 또한, 이 문제는 일반적으로 색차 컴포넌트들(chrominance components)에 대하여 존재하는데, 이는 그것들은 통상적으로 단 하나의 MV로 보상되기 때문이다. (이것은 P-프레임들에 적용될 경우, 설명된 효율적인 디지털 비디오 트랜스코딩 아키텍처에서는 문제가 되지 않는다. 이에 대한 한 가지 이유는 WMV는 P-프레임들에 대하여 4-MV 코딩 모드를 지원하기 때문이다).
트랜스코딩 모듈(408)(도 4)의 동작들은 지금 설명된 오차들 중 마지막 2개의 소스들을 역점을 두어 다룬다.
재양자화 오차 보상
D가 다운-샘플링 필터링을 나타낸다고 하자. 도 3의 아키텍처를 참조하면, 프레임 (i+1)에 대한 VC-1 인코더에의 입력은 다음과 같이 도출된다:
Figure 112008017972996-pct00034
Figure 112008017972996-pct00035
이라고 가정하자.
Figure 112008017972996-pct00036
상기 수학식 7의 근사에 의하여, 수학식 6은 다음 수학식 8로 단순화된다:
Figure 112008017972996-pct00037
수학식 8의 제1항인
Figure 112008017972996-pct00038
는 디코딩된 MPEG-2 나머지 신호의 다운스케일링 프로세스를 나타낸다. 이 제1항은 공간 도메인 저역 통과 필터링 및 데시메이 션(decimation)을 이용하여 결정될 수 있다. 그러나, 이 항을 얻기 위해 DCT-도메인 다운스케일링을 이용할 경우 복잡성이 감소하고 PSNR 및 시각적 품질이 나아지는 결과가 초래된다. DCT-도메인 다운스케일링 결과들은 공간 도메인 이중선형 필터링 또는 계수들 (-1, 0, 9, 16, 9, 0, -1)/32를 갖는 공간 도메인 7-탭 필터링을 통하여 얻어지는 결과들보다 실질적으로 더 양호하다. 이 구현에서, DCT-도메인 다운스케일링은 상부 좌측의 4×4 저주파수 DCT 계수들만을 보유한다. 즉, 보유된 DCT 계수들에 대해 표준 4×4 IDCT를 적용할 경우 공간적으로 2:1 다운스케일링된 이미지(즉, 도 4의 트랜스코딩된 미디어(414))가 생길 것이다.
수학식 8에서 제2항인
Figure 112008017972996-pct00039
은 다운스케일링된 해상도에서의 재양자화 오차 보상을 의미한다. 이 구현에서, MPEG-2 디코더에서의 MC 및 WMV 인코더에서의 MC는 감소된 해상도에서 누산된 재양자화 오차들에 대하여 작용하는 단일 MC 프로세스로 병합된다.
도 7은 4개의 4×4 DCT 블록들을 하나의 8×8 DCT 블록으로 병합하는 동작의 예를 도시한다. 하나의 실제적인 문제가 남아 있다. DCT-도메인 다운스케일에서, 4개의 8×8 DCT 블록들(최초 해상도에서의 MPEG-2 매크로블록(MB)에서의 Bl 내지 B4 블록들)은 감소된 해상도에서 그리고 여전히 DCT 도메인에서의 새로운 MB의 8×8 블록의 4개의 4×4 서브블록에 매핑된다. WMV에서는, P-프레임들 및 B-프레임들에 대하여, 4×4 DCT 변환 유형이 허용된다. 그 결과, 상술한 스케일링을 제외하고 아무것도 더 행할 필요가 없다. 그러나, I-프레임들에 대해서는, 8×8 변환 유형 만이 허용된다. 따라서, I-프레임들을 다룰 때, 트랜스코딩 모듈(408)(도 4)은 4개의 4×4 저주파수 DCT 서브블록들을 8×8 DCT 블록:
Figure 112008017972996-pct00040
로 변환한다. 일 구현에서, 이것은 4개의 4×4 DCT 서브블록들을 다시 픽셀 도메인으로 역 변환한 다음, 새로운 8×8 VC1-T를 적용함으로써 달성된다. 일 구현에서, 그리고 계산 복잡성을 감소시키기 위해, 이것은 DCT 도메인에서 달성된다.
예를 들면,
Figure 112008017972996-pct00041
Figure 112008017972996-pct00042
는 각각 Bl, B2, B3 및 B4의 4개의 4×4 저주파수 서브블록들을 나타내고;
Figure 112008017972996-pct00043
는 4×4 표준 IDCT 변환 행렬이고;
Figure 112008017972996-pct00044
은 정수 WMV 변환 행렬이고; 또한
Figure 112008017972996-pct00045
이고 여기서
Figure 112008017972996-pct00046
Figure 112008017972996-pct00047
은 8×4 행렬들이라고 하자. 이 시나리오에서,
Figure 112008017972996-pct00048
Figure 112008017972996-pct00049
Figure 112008017972996-pct00050
로부터 직접 다음의 수학식을 이용하여 계산된다:
Figure 112008017972996-pct00051
어떤 조작 후에,
Figure 112008017972996-pct00052
는 다음과 같이 보다 효율적으로 계산된다:
Figure 112008017972996-pct00053
여기서
Figure 112008017972996-pct00054
일 구현에서, 상기 수학식의 C와 D 모두는 미리 계산된다. 최종 결과들은
Figure 112008017972996-pct00055
을 이용하여 정규화된다.
도 8은 단순화된 DCT-도메인 수치 2:1 해상도 다운스케일링 트랜스코더(DCT-domain numeral 2:1 resolution downscaling transcoder)에 대한 예시적인 아키텍처를 도시한다. 일 구현에서, 도 4의 트랜스코딩 모듈(408)은 예시적인 아키텍처(800)를 구현한다. 이 아키텍처에서의 스위치들은 표 2를 참조하여 상술한 바와 같이 도 6의 것들과 동일한 기능을 갖는다. 도 8, 및 일 구현을 참조하면, 처음 2개의 모듈들(MPEG-2 VLD 및 역 양자화)은 도 6에 도시된 것에 비하여 단순화되어 있다. 이것은 트랜스코딩 모듈(408)은 8×8 블록으로부터 상부 좌측 4×4 부분만을 검색하기 때문이다.
감소된 해상도에서의 편이 오차 보상을 갖는 종래의 저-편이(drift-low) 트랜스코더에 비하여, 도 6 및 8의 트랜스코더들은 혼합된 블록 처리 모듈을 포함하지 않는다. 이것은 WMV는 인터 코드 매크로블록(Inter coded macroblock)에서의 8×8 블록들에 대하여 인트라 코딩 모드(Intra coding mode)를 지원하기 때문이다. 환언하면, 최초 해상도에서의 인트라 MB는 감소된 해상도에서의 인터 MB의 인트라 8×8 블록으로 매핑된다. 이를 고려하여, MB 모드 매핑 규칙은 바로 아래에 나타낸 바와 같이 매우 단순하게 된다:
Figure 112008017972996-pct00056
현존하는 혼합 블록 처리 동작들은 전형적으로 전체 해상도 화상(full resolution picture)을 재구성하기 위해 디코딩 루프를 필요로 한다. 그러므로, 혼합 블록 처리의 제거는 종래의 시스템에 비하여 상당한 계산 절약을 제공한다.
단순화된 DCT-도메인 2:1 해상도 다운스케일링 트랜스코딩 아키텍처(800)는 P-프레임들에 대하여 실질적으로 편이가 없다. 이것은 4-MV 코딩 모드의 결과이다. 다운스케일링 필터링을 갖는 CPDT 아키텍처와 비교하여, 편이 오차의 유일한 원인은 1/4 해상도로부터 1/2 해상도로의 MV들의 라운딩(이것은
Figure 112008017972996-pct00057
을 보장한다) 및 MC와 다운스케일링의 비교환 속성(non-commutative property)이다. 임의의 그러한 나머지 오차들은 저역 통과 다운스케일링 필터링(예컨대, DCT 도메인 또는 픽셀 도메인에서 달성됨)으로 인하여 대수롭지 않다.
도 9는 일 실시예에 따른, 2:1 공간 해상도 다운스케일링 트랜스코딩 동작을 위해 인터레이스 미디어에 대하여 4개의 4×4 DCT 블록들을 하나의 8×8 DCT 블록으로 병합하는 동작의 예를 도시한다. 2:1 다운스케일링은 최초 프레임의 해상도를 수평 및 수직 방향 모두에서 1/2로 변경한다. 일 구현에서, 이 인터레이스 프로세스는 도 4의 트랜스코딩 모듈(408)에 의해 구현된다. 특히, 인터레이스 코딩된 콘텐트(interlace coded content)에 대하여, 모든 각 MB에서 상부 좌측 8×4 서브블록은 간단한(shortcut) MPEG-2 디코더에 의해 재구성되고, 양쪽 필드들은 저역 통과 필터에 의해 수직 방향으로 평활화(smooth)되고, 그 후 하나의 필드는 WMV 인코딩 프로세스 전에 드롭(drop)된다.
MV 오차 보상
WMV가 4 MV 코딩 모드를 지원하기는 하지만, 그것은 통상적으로 P-프레임들을 코딩하기 위해 의도된 것일 뿐이다. 그 결과, 시스템(400)(도 4)은 입력 MPEG-2 스트림에 B-프레임이 없거나 B-프레임들이 트랜스코더 동안에 보다 낮은 시간 해상도 쪽으로 버려져야 할 경우에 도 6의 아키텍처를 구현한다. 이에 대한 한 가지 이유는 WMV는 B-프레임들에 대하여 MB마다 하나의 MV만 허용하기 때문이다. 그러한 시나리오에서, 트랜스코딩 모듈(408)(도 4)은 최초 해상도에서 MB들과 관련된 4개의 MV들로부터 새로운 움직임 벡터를 구성한다. 전술한 MV 구성 방법들 각각은 호환성이 있다. 일 구현에서, 트랜스코딩 모듈(408)은 미디언 필터링(median filtering)을 구현한다. 설명한 바와 같이, 부정확한 MV는 그릇된 움직임 보상 예측으로 이어질 것이다. 설상가상으로, 양자화 오차가 어떻게 보상되든, 그리고 비트 레이트가 얼마나 높아지든, 새로운 MV들에 기초하여 움직임 보상을 다시 행하지 않는다면 완전한 결과를 얻기가 어렵다. 그러므로, 그러한 움직임 오차들이 보상되게 하는 아키텍처를 제공한다.
다시, 도 3의 아키텍처를 참조하면, B-프레임들인 것으로 가정되는, 프레임(i+1)에 대한 VC-1 인코더에의 입력은 다음과 같이 도출된다:
Figure 112008017972996-pct00058
Figure 112008017972996-pct00059
상기 수학식 10의 근사에 의하여 수학식 9는 다음 수학식 11로 단순화된다:
Figure 112008017972996-pct00060
상기 수학식 11을 고려하여, 다음이 얻어진다:
Figure 112008017972996-pct00061
Figure 112008017972996-pct00062
수학식 12에서 대괄호(square brackets) 내의 2개의 항은 불일치(inconsistent) MV들(즉,
Figure 112008017972996-pct00063
Figure 112008017972996-pct00064
과 상이함)에 의해 야기되거나 MPEG-2와 WMV 간의 상이한 MC 필터링 방법들에 의해 야기된 움직임 오차들을 보상한다. 이 목적을 위한 대응하는 모듈들은 강조(highlight)되어 도 10에서 밝은 황색(light yellow) 블록으로 그룹화되어 있다.
도 10은 일 실시예에 따른, 전체 편이 보상(full drift compensation)을 갖는 예시적인 단순화된 2:1 다운스케일링 트랜스코더 아키텍처를 도시한다. 일 구현에서, 도 4의 트랜스코딩 모듈(408)은 도 10의 예시적인 아키텍처를 구현한다. 수학식 12를 참조하여,
Figure 112008017972996-pct00065
는 최초 인터 MB들에 대응하는 모든 8×8 블록들에 대하여 수행되고, 1/4 픽셀 정밀도로
Figure 112008017972996-pct00066
라는 것에 유의하자. VC-1 인코더에서 사용되는 MV는 단일 MV:
Figure 112008017972996-pct00067
이 다. 움직임 오차 보상 모듈(motion-error-compensation module)에 관하여,
Figure 112008017972996-pct00068
의 정확도는 1/4 픽셀 레벨까지 갈 수 있다는 것에 유의하자. 수학식 12에서 마지막 항은 참조 프레임들의 재양자화 오차를 보상한다. B-프레임들은 다른 프레임들에 대한 참조가 아니므로, 그것들은 오차 내성이 더 많다(more error tolerant). 그 결과, 애플리케이션은 오차 보상을 안전하게 오프 시켜 보다 높은 속도를 달성할 수 있다. 다시, 그러한 근사는 B-프레임들에 대해서만 의도되어 있다. 움직임 오차 보상을 위한 MC는 재구성된 픽셀 버퍼들에 대하여 작용하는 반면 재양자화 오차 보상을 위한 MC는 누산된 나머지 오차 버퍼에 대하여 작용한다는 것에 유의하자.
MC에 대해서는, 인트라-인터(Intra-to-Inter) 또는 인터-인트라(Inter-to-Intra) 변환이 적용될 수 있다. 이것은 MPEG-2 디코더는 B-프레임 및 참조 프레임들을 재구성하였기 때문이다. 이 구현에서, 이 변환은 도 10의 혼합 블록 처리 모듈에서 행해진다. 2개의 모드 구성(mode composition) 방법들이 가능하다. 일 구현에서, 지배적인 모드(dominant mode)가 구성 모드(composed mode)로서 선택된다. 예를 들면, 최초 해상도에서 4개의 MB들의 모드들이 2개의 양방향 예측(bi-directional prediction) 모드, 하나의 역방향 예측(backward prediction) 모델 및 하나의 순방향 예측(forward prediction) 모델이라면, 감소된 해상도에서 MB에 대한 모드로서 양방향 예측 모드가 선택된다. 또 다른 구현에서, 최대 오차로 이어질 모드가 선택된다. 이 예를 고려하여, 역방향 모드를 이용하는 것이 최대 오차를 야기할 것이라고 가정하자. 이 시나리오에서는, 오차가 보상될 수 있도록 역방 향 모드가 선택된다. 결과에 따르면, 후자의 기법이 전자의 모드 선택 기법에 비하여 약간 더 나은 품질을 제공한다.
수학식 12에 따른 예시적인 아키텍처가 도 10에 도시되어 있다. 표 3에 나타낸 바와 같이, 이 아키텍처에 대하여 특히 4개의 프레임-레벨 스위치들이 있다.
(예시적인 프레임-레벨 스위치들)
SIP 프레임 레벨 I- 및 P-프레임들에 대해서만 닫히는 스위치
SP 프레임 레벨 P-프레임들에 대해서만 닫히는 스위치
SB 프레임 레벨 B-프레임들에 대해서만 닫히는 스위치(= !SIP)
SIP /B 프레임 레벨 B-프레임들이 있는 경우에만 I- 및 P-프레임들에 대하여 닫히는 스위치
4개의 프레임-레벨 스위치들은 상이한 프레임 유형들에 대하여 상이한 코딩 경로들을 보장한다. 구체적으로, 아키텍처는 B-프레임들(SIP)에 대하여 나머지 오차 누산을 수행하지 않고, I- 및 P-프레임들(SB)에 대하여 MV 오차 보상을 수행하지 않고, 생성될 B-프레임들(SIP /B)이 없다면 참조 프레임들을 재구성하지 않는다. 프레임-레벨 스위치 SB는 블록-레벨 스위치로 바뀔 수 있다는 것에 유의하자. 이는 MV 오차는 대응하는 4개의 최초 MV들이 현저히 불일치하는 경우에만 보상될 필요가 있기 때문이다.
보다 구체적으로, 스위치 SIP는 I-프레임들 또는 P-프레임들에 대해서만 닫히고, 스위치 SP는 P-프레임들에 대해서만 닫히고, 스위치 SB는 B-프레임들에 대해서만 닫힌다. 결과의 아키텍처는 도 3의 참조 CPDT(cascaded pixel-domain transcoder)만큼 복잡하지 않다. 이에 대한 한 가지 이유는 명시적인 픽셀 도메인 다운스케일링 프로세스가 회피되기 때문이다. 대신에, 픽셀 도메인 다운스케일링은 단순히 높은 DCT 계수들을 버림으로써 DCT 도메인에서 묵시적으로 달성된다. 이 아키텍처는 표 2와 관련하여 위에서 설명된, 다양한 스위치들을 이용함으로써 성취되는 우수한 복잡성 스케일링 가능성(complexity scalability)을 갖는다.
초고속 트랜스코딩 속도를 요구하는 애플리케이션들을 위하여, 도 10의 아키텍처는 모든 스위치를 오프 시킴으로써 개루프(open-loop)로 구성될 수 있다. 이 개루프 아키텍처는 MPEG-2이 역양자화 프로세스 및 WMV의 재양자화 프로세스를 병합함으로써 더욱 최적화될 수 있다. MPEG-2의 (VLD 내부의) 역 지그재그 스캔(inverse zig-zag scan) 모듈도 WMV 인코더 내의 그것과 결합될 수 있다.
색차 컴포넌트들
MPEG-2에서 및 WMV에서의 색차 컴포넌트들과 관련하여, 색차 컴포넌트들(UV)의 코딩 모드 및 MV는 광도(luminance) 컴포넌트(Y)의 그것들로부터 도출된다. 만일 감소된 해상도에서의 MB에 대응하는 최초 해상도에서의 4개의 MB들 모두가 일치하는(consistent) 코딩 모드를 갖는다면(즉, 전부 인터-코딩(Inter-coded) 또는 전부 인트라-코딩(Intra-coded)), 문제가 없다. 그러나, 만일 그렇지 않다면, MPEG-2와 WMV의 상이한 도출 규칙으로 인해 문제가 생긴다. MPEG-2에서는, MB가 인터 모드로 코딩될 때 UV 블록들이 인터 코딩된다. 그러나, WMV에서는, MB가 인터 모드로 코딩되고 3개 미만의 인트라-코딩된 8×8 Y 블록들이 있는 경우에만 UV 블록들이 인터 코딩된다. 이 문제는 P-프레임들 및 B-프레임들 모두에 대하여 존재한다. 도 4의 트랜스코딩 모듈(408)은 이들 문제를 다음과 같이 다룬다:
Figure 112008017972996-pct00069
인터-인트라 변환: 인터-코딩된 MB가 3개의 인트라-코딩된 8×8 Y 블록들을 갖는 경우(인터-코딩된 MB가 인트라 코딩된 4개의 8×8 Y 블록들 모두를 갖는 것은 불가능하다), UV 블록들은 인트라 코딩된다. 이 경우, 최초 해상도에서의 하나의 MB는 대응하는 UV 블록들과 함께 인트라-코딩된다. 이들 UV 블록들은 인터 모드로부터 인트라 모드로 변환될 것이다. 인간 시각계(HVS: Human Visual System)는 색차 신호들에 덜 민감하기 때문에, 트랜스코딩 모듈(408)은 공간 은닉 기법(spatial concealment technique)을 이용하여 8×8 UV 블록들을 인터로부터 인트라 모드로 변환한다. 일 구현에서, DC 거리는 은닉 거리를 결정하는 지시자로서 이용된다. 은닉은 단순한 복사 또는 임의의 다른 보간 방법을 통하여 달성된다.
Figure 112008017972996-pct00070
인트라-인터 변환: 인터-코딩된 MB가 하나 또는 2개의 인트라-코딩된 8×8 Y 블록들을 갖는 경우, 트랜스코딩 모듈(408)은 UV 블록들을 인터-코딩한다. 이 시나리오에서는, 최초 해상도에서의 4개의 대응하는 MB들 사이에 하나 또는 2개의 인트라-코딩된 MB들이 있다. 이들 UV 블록들은 인트라 모드로부터 인터 모드로 변환된다. 이 구현에서, 트랜스코딩 모듈(408)은 제로-아웃 방법(zero-out method)이라 불리는 시간 은닉 기법을 이용하여 이들 블록들을 핸들링하고, 그에 의해, 디코딩 루프를 회피한다.
오차 은닉 동작을 이용하여 색차 컴포넌트에 대한 모드 변환을 핸들링함으로써, 현 프레임 내에 도입된 오차는, 비록 후속 프레임들에서 색 편이(color drifting)를 야기할 수는 있지만, 대수롭지 않고 무시될 수 있다. 색차 컴포넌트에 대한 편이는 통상적으로 부정확한 움직임에 의해 야기된다. 이를 다루고 품질을 향상시키기 위하여, 일 구현에서, 트랜스코딩 모듈(408)은 색차 컴포넌트에 대하여 재구성 기반 보상을 이용한다(즉, 색차 성분에 대하여 항상 밝은 황색 모듈을 적용).
레이트 제어
도 11은 디코더에 대한 예시적인 표준 VBV(virtual buffer verifier) 버퍼 모델을 도시한다. 도 11의 VBV 모델에 기초한 디코더는 통상적으로 현존하는 MPEG-2 비트스트림을 검증할 것이다. 이 구현에서, 만일 비디오 레이트가 입력 레이트에 비례하여 감소되면, 트랜스코딩된 WMV 비트스트림은 VBV 요건을 자동으로 만족시킬 것이다. 이를 고려하여, 이 명세서의 효율적인 디지털 비디오 트랜스코딩 아키텍처는 코딩된 프레임 크기를 모든 프레임들에 대하여 입력 프레임에 비례하게 만든다. 이러한 신규한 아키텍처들은 목표 프레임 크기와 실제 결과의 프레임 크기 간의 누산된 차이를 계속적으로 보상하고, 트레이닝을 통하여, 상이한 비트 레이트 범위들에 대하여 선형 양자화 스텝(QP) 매핑 규칙을 얻는다.
높은 비트 레이트에 대해서는, MPEG-2 TM-5 레이트 제어 방법에서도 이용되는 코딩 비트들(B)과 양자화 스텝(QP) 간의 근사 공식이 있다.
Figure 112008017972996-pct00071
여기서 S는 프레임의 복잡성이고, X는 모델 매개 변수들이다. 프레임의 복잡성이 상이한 코덱들에 대하여 동일하게 유지된다고 가정하면:
Figure 112008017972996-pct00072
여기서
Figure 112008017972996-pct00073
는 WMV 재양자화에서 이용되는
Figure 112008017972996-pct00074
값이고,
Figure 112008017972996-pct00075
는 MPEC-2 양자화의
Figure 112008017972996-pct00076
값이고, k는 목표 비트 레이트에 관련된 모델 매개 변수이다. 일 구현에서는, 다음의 선형 모델이 이용된다:
Figure 112008017972996-pct00077
낮은(low), 중간(medium), 높은(high) 비트 레이트에 대한 매개 변수 k 및 t의 값들이 선형 회귀 방법(linear regression method)을 이용하여 표 4에 열거되어 있다.
Figure 112008017972996-pct00078
(선형 회귀 방법에 대한 예시적인 매개 변수 값들)
수학식 14에 기초한 예시적인 상세 레이트 제어 알고리즘이 표 5에 도시되어 있고, 표 5에 제공된 알고리즘 내의 각종 기호들의 의미는 다음 표 6에서 정의된다.
Figure 112008017972996-pct00079
(예시적인 레이트 제어 알고리즘)
Figure 112008017972996-pct00080
MPEG-2 프레임 크기;
Figure 112008017972996-pct00081
MPEG-2 스트림 비트 레이트;
Figure 112008017972996-pct00082
목표 WMV 스트림 비트 레이트;
Figure 112008017972996-pct00083
비트 레이트의 비율에 의해 예측되는 WMV 프레임 크기;
Figure 112008017972996-pct00084
인코딩할 기대 WMV 프레임 크기(새로운 비트 레이트);
Figure 112008017972996-pct00085
실제 인코딩된 WMV 프레임 크기;
Figure 112008017972996-pct00086
처음부터 예측 및 실제 WMV 프레임 크기 간의 누산된 차이.
(표 5의 알고리즘에서 이용되는 기호들의 정의)
임의적인 해상도 변경
예를 들어 레거시(legacy) SD 수신기/재생기(receiver/players)를 지원하기 위한, HD 해상도로부터 SD 해상도로의 콘텐츠의 변환은 유익하다. HD 포맷의 전형적인 해상도들은 1920×1080i 및 1280×720p인 반면 SD에 대한 해상도들은 NTSC에 대하여 720×480i, 720×480p이다. 1920×1080i에서 720×480i로의 수평 및 수직 다운스케일링 비율은 각각 8/3 및 9/4이다. 이 가로 세로 비율(aspect ratio)을 유지하기 위해, 최종 다운스케일링 비율은 8/3이 되도록 선택되고 결과의 화상 크기는 720×404이다. 유사하게, 1280×720p에서 720×480p로의 경우, 다운스케일링 비율은 16/9가 되도록 선택되고 결과의 화상 크기는 720×404이다. 디코더/재생기(decoder/player)에 의해 전체(full) 720×480 화상을 만들기 위해 블랙 배너들(black banners)이 삽입된다(비트스트림에 패딩되는 대신).
디지털 신호 처리 이론에 따르면, 다운스케일링 비율 m/n을 위한 실질적으로 최적의 다운스케일링 방법은 먼저 신호를 n-폴드(n-fold)에 의해 업 샘플링(up sample)하고(즉, 모든 각 최초의 샘플들 사이에 n-1 제로들을 삽입하고), 저역 통과 필터를 적용하고(예컨대, 다수의 탭을 갖는 sinc 함수), 그 후 결과의 신호를 m-폴드에 의해 데시메이트(decimate)하는 것일 것이다. 그러한 동작들을 수행하여, 다운스케일링에 의해 도입된 임의의 스펙트럼 앨리어싱(spectral aliasing)은 최대로 억제될 것이다. 그러나, 이 프로세스도 매우 계산상 고비용일 것이고, 입력 신호가 고선명도이기 때문에 실시간으로 구현하기가 어려울 것이다. 이 계산상 복잡성을 줄이기 위하여, 신규한 2단계 다운스케이링 전략이 구현된다.
도 12는 일 실시예에 따른, 임의 공간 해상도 다운스케일링(arbitrarily spatial resolution downscaling)을 갖는 트랜스코더를 도시한다. 일 구현에서, 도 4의 트랜스코딩 모듈(408)은 도 12의 아키텍처를 구현한다. 일 구현에서, 임의 다운스케일링 트랜스코더는 도 12에서와 같은 비통합 트랜스코더이다. 다른 구현에서, 도 12와 관련하여 후술되는 다음의 임의 다운스케일링 트랜스코딩 동작들은 도 5, 6, 8, 및/또는 10에 도시된 것과 같은 통합 트랜스코더에서 구현된다.
도 12를 참조하면, 시스템(1200)은 임의의 임의 다운스케일링 목표를 달성하기 위해 2단계 다운스케일링 동작들을 구현한다. 제1 단계 다운스케일링의 결과들은 디코딩 루프 내에 포함된다. 이것은 디코딩 동작들의 복잡성을 감소시킨다. 예를 들면, 8/3 다운스케일 비율을 달성하기 위해, 다운스케일링 동작들은 먼저 1/2로 다운스케일링하도록 구현된다. 이 제1 단계 다운스케일링의 결과들은 디코딩 루프에 입력되고, 거기서는 공간 도메인에서 제2 단계 다운스케일링이 수행된다. 이 예에서, 제2 단계 다운스케일링 동작들은 4/3으로 다운스케일하여 8/3 다운스케일 비율을 달성한다. 다른 예에서는, 4/3 다운스케일링을 (2개의 단계에서) 2번 적용함으로써 시스템(1200)에 의해 16/9의 다운스케일 비율이 달성된다. 이 2단계 다운스케일링 방법은 전술한 DCT-도메인 다운스케일링 전략을 이용하고, 그 후 제1 단계 다운스케일링 결과들을 디코딩 루프에 완전히 포함시킨다. 제1 단계 다운스케일링 후에 해상도가 현저히 감소되므로, 픽셀-도메인 상에서 최적의 다운스케일링 방법을 계속해서 적용할 수 있다.
도 12를 참조하여, (
Figure 112008017972996-pct00087
Figure 112008017972996-pct00088
사이의) 다수의 MV들이 새로운 MB(MV 스케일링 및 필터링 모듈들)와 관련된다는 것에 유의하자.
예시적인 절차
도 13은 일 실시예에 따른, 효율적인 통합 디지털 비디오 트랜스코딩을 위한 절차(1300)의 예시한다. 일 구현에서, 도 4의 트랜스코딩 모듈(408)은 절차(1300)의 동작들을 구현한다. 도 13을 참조하면, 블록 1302에서, 절차는 인코딩된 비트스트림(예컨대, 도 4의 인코딩된 미디어(412))을 수신한다. 블록 1304에서, 절차는 상기 인코딩된 비트스트림을 제1 미디어 데이터 포맷(예컨대, MPEG-2, MPEG-4 등)과 관련된 제1 세트의 압축 기법들에 따라서 부분적으로 디코딩한다. 이 부분적인 디코딩 동작들은 중간 데이터 스트림(intermediate data stream)을 생성한다. 통합 트랜스코더는 전체 디코딩(full decoding)을 수행하지 않는다. 예를 들면, "개념적" MPEG-2 디코더의 MC가 WMV 인코더의 그것과 병합되는 경우, 그 디코딩 동작들을 MPEG-2 디코딩을 수행하는 것으로 기술하기가 곤란하다. 블록 1306에서, 만일 중간 데이터 스트림의 다운스케일링이 요구된다면, 절차는 상기 인코딩된 비트스트림과 관련된 데이터를 제1 단계의 다운스케일링에서 다운스케일한다. 이 제1 단계의 다운스케일링은 디코딩 루프의 DCT 도메인에서 구현된다. 블록 1308에서, 만일 2단계 다운스케일링이 요구된다면, 절차는 DCT 도메인에서 다운스케일링된 데이터(블록 1306 참조)를 공간 도메인에서 더 다운스케일링한다.
블록 1310에서, 제1 세트의 압축 기법들에 따라서 디코딩된 데이터는 제2 세트의 압축 기법들을 이용하여 인코딩된다. 일 구현에서, 절차(1300)는 도 12 및 14와 관련하여 도시되고 설명된 것과 같은, 비통합 트랜스코딩 아키텍처 내에 구현된다. 이 구현에서, 제2 세트의 압축 기법들은 제1 세트의 압축 기법들과 동일하다. 다른 구현에서, 절차(1300)는 도 5-11 및 14와 관련하여 도시되고 설명된 것과 같은, 통합 트랜스코딩 아키텍처 내에 구현된다. 이 다른 구현에서, 제2 세트의 압축 기법들은 제1 세트의 압축 기법들과 동일하지 않다. 예를 들면, 일 구현에서, 제1 세트의 압축 기법들은 MPEG-2와 관련되고, 제2 세트의 압축 기법들은 WMV와 관련된다.
예시적인 동작 환경
도 14는 효율적인 디지털 비디오 트랜스코딩이 전적으로 또는 부분적으로 구현되는 적합한 컴퓨팅 환경의 예를 도시한다. 예시적인 컴퓨팅 환경(1400)은 도 4의 예시적인 시스템(400)의 적합한 컴퓨팅 환경의 일례에 불과하며, 여기에서 설명된 시스템들 및 방법들의 용도 또는 기능성의 범위에 관해 어떤 제한을 암시하고자 하는 것이 아니다. 컴퓨팅 환경(1400)이 컴퓨팅 환경(1400)에 도시된 컴포넌트들 중 임의의 하나 또는 그 컴포넌트들의 임의의 조합과 관련하여 어떤 의존성 또는 요구사항을 갖는 것으로 해석되어서는 안 된다.
본 명세서에서 설명된 방법들 및 시스템들은 많은 기타 범용 또는 특수 목적의 컴퓨팅 시스템, 환경 또는 구성에서 동작할 수 있다. 사용하기에 적합할 수 있는 잘 알려진 컴퓨팅 시스템, 환경 및/또는 구성의 예로는, 퍼스널 컴퓨터, 서버 컴퓨터, 멀티프로세서 시스템, 마이크로프로세서 기반 시스템, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 상기 시스템들이나 장치들 중 임의의 것을 포함하는 분산 컴퓨팅 환경, 기타 등등이 있지만 이에 제한되는 것은 아니다. 프레임워크의 컴팩트 또는 서브세트 버전들은 또한 헨드핼드 컴퓨터, 또는 기타 컴퓨팅 장치와 같은, 제한된 리소스들의 클라이언트들에서 구현될 수 있다. 본 발명은 통신 네트워크를 통해 연결되어 있는 원격 처리 장치들에 의해 작업들이 수행되는 분산 컴퓨팅 환경에서 실시된다.
도 14와 관련하여, 효율적인 디지털 비디오 트랜스코딩 아키텍처를 제공하는 예시적인 시스템은, 예를 들어, 도 1의 컴퓨팅 장치(102)와 관련된 초기화 동작들을 구현하는, 컴퓨터(1410) 형태의 범용 컴퓨팅 장치를 포함한다. 컴퓨터(1410)의 컴포넌트들은 처리 장치(들)(1420), 시스템 메모리(1430), 및 시스템 메모리를 비롯한 각종 시스템 컴포넌트들을 처리 장치(1420)에 연결시키는 시스템 버스(1421)를 포함할 수 있지만 이에 제한되는 것은 아니다. 시스템 버스(1421)는 메모리 버스 또는 메모리 컨트롤러, 주변 장치 버스 및 각종 버스 아키텍처 중 임의의 것을 이용하는 로컬 버스를 비롯한 몇몇 유형의 버스 구조 중 어느 것이라도 될 수 있다. 예로서, 이러한 아키텍처는 ISA(Industry Standard Architecture) 버스, MCA(Micro Channel Architecture) 버스, EISA(Enhanced ISA) 버스, VESA(Video Electronics Standards Association) 로컬 버스, 그리고 메자닌 버스(Mezzanine bus)로도 알려진 PCI(Peripheral Component Interconnect) 버스 등을 포함할 수 있지만 이에 제한되는 것은 아니다.
컴퓨터(1410)는 통상적으로 각종 컴퓨터 판독가능 매체를 포함한다. 컴퓨터(1410)에 의해 액세스 가능한 사용 가능한 매체는 그 어떤 것이든지 컴퓨터 판독가능 매체가 될 수 있고, 이러한 컴퓨터 판독가능 매체는 휘발성 및 비휘발성 매체, 이동식 및 비이동식 매체를 포함한다. 예로서, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있지만 이에 제한되는 것은 아니다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보를 저장하는 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 이동식 및 비이동식 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital versatile disk) 또는 기타 광 디스크 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 컴퓨터(1410)에 의해 액세스될 수 있고 원하는 정보를 저장하는 데 이용될 수 있는 임의의 기타 매체를 포함하지만 이에 제한되는 것은 아니다.
통신 매체는 통상적으로 반송파(carrier wave) 또는 기타 전송 메커니즘(transport mechanism)과 같은 피변조 데이터 신호(modulated data signal)에 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터 등을 구현하고, 임의의 정보 전달 매체를 포함한다. "피변조 데이터 신호"라는 용어는, 신호 내에 정보를 인코딩하도록 그 신호의 특성들 중 하나 이상을 설정 또는 변경시킨 신호를 의미한다. 예로서, 통신 매체는 유선 네트워크 또는 직접 배선 접속(direct-wired connection)과 같은 유선 매체, 그리고 음향, RF, 적외선, 기타 무선 매체와 같은 무선 매체를 포함한다. 상술된 것들 중 임의의 것의 조합들이 또한 컴퓨터 판독가능 매체의 범위 안에 포함되는 것으로 한다.
시스템 메모리(1430)는 판독 전용 메모리(ROM)(1431) 및 랜덤 액세스 메모리(RAM)(1432)와 같은 휘발성 및/또는 비휘발성 메모리 형태의 컴퓨터 저장 매체를 포함한다. 시동 중과 같은 때에, 컴퓨터(1410) 내의 구성요소들 사이의 정보 전송을 돕는 기본 루틴을 포함하는 기본 입/출력 시스템(BIOS)(1433)은 통상적으로 ROM(1431)에 저장되어 있다. RAM(1432)은 통상적으로 처리 장치(1420)가 즉시 액세스할 수 있고 및/또는 현재 동작시키고 있는 데이터 및/또는 프로그램 모듈을 포함한다. 예로서, 도 14는 운영 체제(1434), 애플리케이션 프로그램(1435), 기타 프로그램 모듈(1436) 및 프로그램 데이터(1437)를 도시하고 있지만 이에 제한되는 것은 아니다.
컴퓨터(1410)는 또한 기타 이동식/비이동식, 휘발성/비휘발성 컴퓨터 저장 매체를 포함한다. 단지 예로서, 도 14는 비이동식, 비휘발성 자기 매체에 기록을 하거나 그로부터 판독을 하는 하드 디스크 드라이브(1441), 이동식, 비휘발성 자기 디스크(1452)에 기록을 하거나 그로부터 판독을 하는 자기 디스크 드라이브(1451), CD-ROM 또는 기타 광 매체 등의 이동식, 비휘발성 광 디스크(1456)에 기록을 하거나 그로부터 판독을 하는 광 디스크 드라이브(1455)를 포함한다. 예시적인 운영 환경에서 사용될 수 있는 기타 이동식/비이동식, 휘발성/비휘발성 컴퓨터 기억 매체로는, 자기 테이프 카세트, 플래시 메모리 카드, DVD, 디지털 비디오 테이프, 고상(solid state) RAM, 고상 ROM 등이 있지만 이에 제한되는 것은 아니다. 하드 디스크 드라이브(1441)는 통상적으로 인터페이스(1440)와 같은 비이동식 메모리 인터페이스를 통해 시스템 버스(1421)에 접속되고, 자기 디스크 드라이브(1451) 및 광 디스크 드라이브(1455)는 통상적으로 인터페이스(1450)와 같은 이동식 메모리 인터페이스에 의해 시스템 버스(1421)에 접속된다.
위에서 설명되고 도 14에 도시된 드라이브들 및 이들과 관련된 컴퓨터 저장 매체는, 컴퓨터(1410)에 대한 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 및 기타 데이터를 저장한다. 도 14에서, 예를 들어, 하드 디스크 드라이브(1441)는 운영 체제(1444), 애플리케이션 프로그램(1445), 기타 프로그램 모듈(1446), 및 프로그램 데이터(1447)를 저장하는 것으로 도시되어 있다. 여기서 주의할 점은 이들 컴포넌트가 운영 체제(1434), 애플리케이션 프로그램(1435), 기타 프로그램 모듈(1436), 및 프로그램 데이터(1437)와 동일하거나 그와 다를 수 있다는 것이다. 운영 체제(1444), 애플리케이션 프로그램(1445), 기타 프로그램 모듈(1446) 및 프로그램 데이터(1447)에 다른 번호가 부여되어 있다는 것은 적어도 이들이 다른 사본(copy)이라는 것을 나타내기 위한 것이다.
사용자는 키보드(1462) 및 마우스, 트랙볼(trackball) 또는 터치 패드와 같은 포인팅 장치(1461) 등의 입력 장치를 통해 명령 및 정보를 컴퓨터(1410)에 입력할 수 있다. 다른 입력 장치(도시 생략)로는 마이크, 조이스틱, 그래픽 펜 및 패드, 위성 안테나, 스캐너 등을 포함할 수 있다. 이들 및 기타 입력 장치는 종종 시스템 버스(1421)에 연결된 사용자 입력 인터페이스(1460)를 통해 처리 장치(1420)에 접속되지만, 병렬 포트, 게임 포트 또는 USB(universal serial bus) 등의 다른 인터페이스 및 버스 구조에 의해 접속될 수도 있다. 이 구현에서, 모니터(1491) 또는 다른 유형의 사용자 인터페이스 장치도 비디오 인터페이스(1490) 등의 인터페이스를 통해 시스템 버스(1421)에 접속될 수 있다.
컴퓨터(1410)는 원격 컴퓨터(1480)와 같은 하나 이상의 원격 컴퓨터로의 논리적 접속을 사용하여 네트워크화된 환경에서 동작할 수 있다. 일 구현에서, 원격 컴퓨터(1480)는 도 1에 도시된 응답기(responder)의 컴퓨팅 장치(106)를 나타낸다. 원격 컴퓨터(1480)는 퍼스널 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 장치 또는 기타 통상의 네트워크 노드일 수 있고, 그 특정 구현의 함수로서, 컴퓨터(1410)와 관련하여 상술된 구성요소들의 다수 또는 그 전부를 포함할 수 있지만, 도 14에는 메모리 저장 장치(1481)만 예시되어 있다. 도 14에 도시된 논리적 접속으로는 LAN(1471) 및 WAN(1473)이 있지만, 기타 네트워크를 포함할 수도 있다. 이러한 네트워킹 환경은 사무실, 전사적 컴퓨터 네트워크(enterprise-wide computer network), 인트라넷, 및 인터넷에서 일반적인 것이다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터(1410)는 네트워크 인터페이스 또는 어댑터(1470)를 통해 LAN(1471)에 접속된다. WAN 네트워킹 환경에서 사용될 때, 컴퓨터(1410)는 통상적으로 인터넷과 같은 WAN(1473)을 통해 통신을 설정하기 위한 모뎀(1472) 또는 기타 수단을 포함한다. 내장형 또는 외장형일 수 있는 모뎀(1472)은 사용자 입력 인터페이스(1460) 또는 기타 적절한 메커니즘을 통해 시스템 버스(1421)에 접속될 수 있다. 네트워크화된 환경에서, 컴퓨터(1410) 또는 그의 일부와 관련하여 기술된 프로그램 모듈은 원격 메모리 저장 장치에 저장될 수 있다. 예로서, 도 14는 원격 애플리케이션 프로그램(1485)이 메모리 장치(1481) 상에 있는 것으로 도시하고 있지만 이에 제한되는 것은 아니다. 도시된 네트워크 접속은 예시적인 것이며 이 컴퓨터들 사이에 통신 링크를 설정하는 기타 수단이 사용될 수도 있다.
결론
상기 섹션들은 구조적 특징 및/또는 방법적 동작 또는 액션에 특정한 언어로 효율적인 디지털 비디오 트랜스코딩 아키텍처들을 설명하고 있지만, 첨부된 청구항들에서 정의되는 구현들은 반드시 설명된 그 특정 특징들 또는 액션들에 제한되는 것은 아니다. 그보다는, 설명된 효율적인 통합 디지털 비디오 트랜스코딩 아키텍처의 특정 특징들 및 동작들은 청구된 내용을 구현하는 예시적인 형태들로서 개시되어 있다.
예를 들면, 일 구현에서, 트랜스코딩, 임의 크기의 다운스케일링, 및 레이트 감소를 포함하여, 설명된 고속 및 고품질 트랜스코딩 시스템들 및 방법들은 MPEG-2에서 MPEG-4로의 트랜스코딩 및 MPEG-4에서 WMV로의 트랜스코딩에 이용된다. 이를테면, 도 6의 단순화된 폐루프 DCT-도메인 트랜스코더는 MPEG-4를 WMV로 트랜스코딩하는 데 이용될 수 있다. MPEG-2(IS-13818 파트 2)와의 하나의 차이점은 MPEG-2는 MC에서 1/2 픽셀 요소(pel) MV 정밀도와 이중선형 보간만을 이용하고, WMV에 그러한 동일한 모드(1/2 pel 이중선형(half pel bilinear))가 있다는 것이다. 그러나, MPEG-4는 1/2(half) pel 및 1/4(quarter) MV 정밀도를 모두 지원할 뿐만 아니라, (WMV에서의 것과 상이한) 1/4 pel 위치들에 대한 보간도 지원한다. 이러한 차이점을 다루기 위해, MPEG-4 비디오에 의해 1/2 pel MV가 이용되는 경우에는, 트랜스코딩 프로세서는 상술한 바와 같이 MPEG-2에서 WMV로의 트랜스코딩과 동일하다. 또한, MPEG-4 비디오에 1/4 pel MV가 포함되는 경우에는, 도 6과 관련하여 상술한 바와 같이 MC에서의 상이한 보간 방법들로 인해 오차가 도입된다. 또한, 도 10과 관련하여 상술한 전체 편이 보상을 갖는 단순화된 2:1 다운스케일링 트랜스코더는 변경에 관계없이 MPEG-4에서 WMV로의 2:1 다운사이즈된 트랜스코딩에 적용 가능하다. 또한, 상술한 비트 레이트 감소 및 도 12의 임의 다운스케일링 트랜스코딩 동작들을 포함하는 고품질 트랜스코딩은 MPEG-4로부터 WMV로의 트랜스코딩에 효과적이다.

Claims (20)

  1. 컴퓨터 구현 방법(computer-implemented method)으로서,
    통합 트랜스코더(integrated transcoder)에 의해, 인코딩된 비트스트림을 수신하는 단계; 및
    상기 통합 트랜스코더에 의해, 상기 인코딩된 비트스트림을 트랜스코딩하는 단계를 포함하고, 상기 트랜스코딩하는 단계는,
    중간 데이터 스트림(intermediate data stream)을 생성하기 위해, 상기 통합 트랜스코더에 의해, 상기 인코딩된 비트스트림을 부분적으로 디코딩하는 단계 - 상기 인코딩된 비트스트림은 제1 미디어 포맷과 관련된 제1 세트의 압축 기법들로 인코딩됨 - ; 및
    트랜스코딩된 비트스트림을 생성하기 위해, 상기 통합 트랜스코더에 의해, 제2 세트의 압축 기법들을 이용하여 상기 중간 데이터 스트림을 인코딩하는 단계 - 상기 제2 세트의 압축 기법들은 제2 미디어 포맷에 대응함 -
    를 포함하고,
    상기 통합 트랜스코더는, 상기 부분적으로 디코딩하는 단계와 연관된 제1 변환과 상기 인코딩하는 단계와 연관된 제2 변환을 하나의 스케일링 행렬로 조합하는 것 및 상기 하나의 스케일링 행렬을 스칼라 곱으로 대체하는 것에 의해, 상기 부분적으로 디코딩하는 단계 및 상기 인코딩하는 단계를 통합하는, 컴퓨터 구현 방법.
  2. 제1항에 있어서,
    상기 제1 미디어 포맷은 MPEG(Moving Picture Experts Group)-2이고 상기 제2 미디어 포맷은 WMV(Windows Media Video)인
    컴퓨터 구현 방법.
  3. 제1항에 있어서,
    상기 제1 미디어 포맷은 MPEG(Moving Picture Experts Group)-2이고 상기 제2 미디어 포맷은 MPEG(Moving Picture Experts Group)-4인
    컴퓨터 구현 방법.
  4. 제1항에 있어서,
    상기 통합 트랜스코더는 오차 보상(error compensation)을 통하여 오차 전파(error propagation)를 방지하는 폐루프 트랜스코더(closed loop transcoder)인
    컴퓨터 구현 방법.
  5. 제1항에 있어서,
    상기 통합 트랜스코더는 오차 전파를 포함하는 개루프 트랜스코더(open loop transcoder)인
    컴퓨터 구현 방법.
  6. 삭제
  7. 제1항에 있어서,
    상기 트랜스코딩하는 단계는 상기 트랜스코딩의 품질 또는 속도를 각각 증가시키기 위해 나머지 오차 보상(residue-error compensation)과 관련된 하나 이상의 동작들을 동적으로 턴온 또는 턴오프 시키는 단계를 더 포함하는
    컴퓨터 구현 방법.
  8. 제1항에 있어서,
    상기 트랜스코딩하는 단계는 나머지 오차 보상을 구현하고,
    참조 프레임들(reference frames)이 처리되고 있음을 판정하는 것에 응답하여, 하나 이상의 동작들을 동적으로 조정하여 상기 참조 프레임들이 트랜스코딩되는 품질 및 속도를 조정하는 단계를 더 포함하고,
    상기 하나 이상의 동작들은 블록 재양자화 오차 누산(block requantization error accumulation), 누산된 오차의 움직임 보상, 및 특정 블록 오차가 인코딩되어야 할지를 판정하기 위한 검출을 포함하는
    컴퓨터 구현 방법.
  9. 제1항에 있어서,
    상기 트랜스코딩하는 단계는 나머지 오차 보상을 구현하고 복수의 동작들 중 하나 이상을 포함하며,
    상기 복수의 동작들은,
    임계값 기반 편이 제어 메커니즘(threshold based drifting control mechanism)에 응답하여, 나머지 오차 버퍼 내로의 블록 재양자화 오차 누산을 동적으로 턴온 또는 턴오프 시키는 단계;
    블록 활성(block activity)의 평가에 응답하여, 상기 나머지 오차 버퍼 내의 누산된 오차의 움직임 보상을 동적으로 턴온 또는 턴오프 시키는 단계; 및
    상기 부분적으로 디코딩하는 단계로부터의 재구성된 나머지 및 움직임 보상 누산된 나머지 오차의 합에 기초한 판정에 응답하여, 블록 오차(a block error)의 인코딩을 동적으로 턴온 또는 턴오프 시키는 단계
    를 더 포함하는 컴퓨터 구현 방법.
  10. 제1항에 있어서,
    상기 부분적으로 디코딩하는 단계는,
    모든 프레임들에 대하여 입력 프레임 크기에 비례하는 코딩된 프레임 크기로 레이트 제어를 구현하는 단계를 더 포함하고,
    상기 레이트 제어는 목표 프레임 크기와 실제의 결과적인 프레임 크기 간의 누산된 차이들에 대해 계속된(continued) 보상을 제공하는
    컴퓨터 구현 방법.
  11. 제1항에 있어서,
    명시적 픽셀 도메인 다운스케일링(explicit pixel-domain downscaling)을 수행함 없이, DCT(Discrete Cosine Transform)에서 상기 중간 데이터 스트림을 다운스케일링하기 위해 미리 정해진 임계값보다 큰 DCT 계수들을 버리는 단계를 더 포함하는, 컴퓨터 구현 방법.
  12. 제1항에 있어서,
    혼합 블록 처리 및 디코딩 루프에 관계없이 상기 트랜스코딩된 비트스트림으로부터 전체 해상도 화상(full resolution picture)의 재구성에 의해 상기 트랜스코딩된 비트스트림의 블록을 다운스케일링하는 단계를 더 포함하는, 컴퓨터 구현 방법.
  13. 제1항에 있어서,
    상기 트랜스코딩하는 단계는 임의 다운스케일링 목표 비율(arbitrary downscaling target ratio)을 획득하기 위해 2단계(two-stage) 다운스케일링 동작들을 구현하는 단계를 더 포함하는
    컴퓨터 구현 방법.
  14. 제13항에 있어서,
    상기 2단계 다운스케일링 동작들은,
    DCT(Discrete Cosine Transform) 도메인에서 제1 단계 다운스케일링 동작들을 구현하는 단계; 및
    픽셀 도메인에서 제2 단계 다운스케일링 동작들을 수행하는 단계
    를 더 포함하는 컴퓨터 구현 방법.
  15. 제13항에 있어서,
    상기 2단계 다운스케일링 동작들은,
    상기 임의 다운스케일링 목표 비율에 대해 중간(intermediate)인 제1 결과를 획득하기 위해 제1 단계 다운스케일링 동작들을 수행하는 단계; 및
    상기 임의 다운스케일링 목표 비율을 획득하기 위해 공간 도메인에서 제2 단계 다운스케일링 동작들을 구현하는 단계
    를 더 포함하는 컴퓨터 구현 방법.
  16. 컴퓨터 구현 방법으로서,
    통합 트랜스코더에 의해, 인코딩된 비트스트림을 트랜스코딩하는 단계를 포함하고, 상기 트랜스코딩하는 단계는,
    중간 데이터 스트림을 생성하기 위해, 상기 통합 트랜스코더에 의해, 상기 인코딩된 비트스트림을 부분적으로 디코딩하는 단계 - 상기 인코딩된 비트스트림은 제1 미디어 포맷과 관련된 제1 세트의 압축 기법들로 인코딩됨 -; 및
    트랜스코딩된 비트스트림을 생성하기 위해, 상기 통합 트랜스코더에 의해, 제2 세트의 압축 기법들을 이용하여 상기 중간 데이터 스트림을 인코딩하는 단계 - 상기 제2 세트의 압축 기법들은 제2 미디어 포맷에 대응하고, 상기 제2 미디어 포맷은 상기 제1 미디어 포맷과 상이함 -
    를 포함하고,
    상기 통합 트랜스코더는 상기 제1 미디어 포맷 및 상기 제2 미디어 포맷과 각각 관련된 제1 변환 및 제2 변환을 스케일링 행렬로 통합하고, 상기 스케일링 행렬을 스칼라 곱으로 대체하는, 컴퓨터 구현 방법.
  17. 제16항에 있어서,
    상기 제1 미디어 포맷은 MPEG(Moving Picture Experts Group)-2이고 상기 제2 미디어 포맷은 WMV(Windows Media Video)인
    컴퓨터 구현 방법.
  18. 제16항에 있어서,
    상기 트랜스코딩하는 단계는,
    상기 트랜스코딩의 품질 또는 속도를 각각 증가시키기 위해 나머지 오차 보상과 관련된 하나 이상의 동작들을 동적으로 턴온 또는 턴오프 시키는 단계를 더 포함하고,
    상기 하나 이상의 동작들은,
    임계값 기반 편이 제어 메커니즘;
    블록 활성 레벨의 평가; 및
    디코딩 동작들로부터의 재구성된 나머지 및 움직임 보상 누산된 나머지 오차의 합
    중 하나 이상에 기초하여 토글 온 또는 토글 오프되는(toggled on or off)
    컴퓨터 구현 방법.
  19. 제16항에 있어서,
    DCT(Discrete Cosine Transform) 도메인에서 상기 인코딩된 비트스트림과 관련된 데이터를 다운스케일링하는 단계; 또는
    상기 인코딩된 비트스트림과 관련된 데이터를 2단계 다운스케일링 프로세스에서 다운스케일링하는 단계
    를 더 포함하고, 상기 2단계 다운스케일링 프로세스는,
    제1 단계에서, 상기 인코딩된 비트스트림과 관련된 데이터를 상기 DCT 도메인에서 다운스케일링하는 단계; 및
    공간 도메인에서 상기 제1 단계의 다운스케일링된 결과들의 해상도를 감소시키는 단계
    를 포함하는 컴퓨터 구현 방법.
  20. 컴퓨터 구현 방법으로서,
    중간 데이터 스트림을 생성하기 위해, 통합 트랜스코더에 의해, 인코딩된 비트스트림을 부분적으로 디코딩하는 단계 - 상기 인코딩된 비트스트림은 제1 미디어 포맷과 관련된 제1 세트의 압축 기법들로 인코딩되고, 상기 부분적으로 디코딩하는 단계는 DCT(Discrete Cosine Transform) 도메인에서 비트스트림 데이터를 다운스케일링하는 단계를 포함함 - ;
    공간 도메인에서 상기 비트스트림 데이터를 추가로 감소시킬지 여부를 판정하는 단계 - 상기 판정하는 단계는, 상기 공간 도메인에서 DCT 도메인 다운스케일링된 비트스트림 데이터의 해상도를 감소시키는 단계; 또는 추가 해상도 감소 없이 상기 DCT 도메인 다운스케일링된 비트스트림 데이터가 통과(pass)하게 하는 단계를 포함함 - ; 및
    트랜스코딩된 비트스트림을 생성하기 위해, 상기 통합 트랜스코더에 의해, 제2 세트의 압축 기법들을 이용하여 상기 중간 데이터 스트림을 인코딩하는 단계 - 상기 제2 세트의 압축 기법들은 제2 미디어 포맷에 대응함 -
    를 포함하고,
    상기 통합 트랜스코더는, 상기 부분적으로 디코딩하는 단계와 연관된 제1 변환과 상기 인코딩하는 단계와 연관된 제2 변환을 하나의 스케일링 행렬로 조합하는 것 및 상기 하나의 스케일링 행렬을 스칼라 곱으로 대체하는 것에 의해, 상기 부분적으로 디코딩하는 단계 및 상기 인코딩하는 단계를 통합하는, 컴퓨터 구현 방법.
KR1020087006056A 2005-09-14 2006-09-13 효율적인 통합 디지털 비디오 트랜스코딩 KR101279755B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/226,590 US8447121B2 (en) 2005-09-14 2005-09-14 Efficient integrated digital video transcoding
US11/226,590 2005-09-14
PCT/US2006/035640 WO2007033242A1 (en) 2005-09-14 2006-09-13 Efficient integrated digital video transcoding

Publications (2)

Publication Number Publication Date
KR20080055820A KR20080055820A (ko) 2008-06-19
KR101279755B1 true KR101279755B1 (ko) 2013-07-04

Family

ID=37855070

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087006056A KR101279755B1 (ko) 2005-09-14 2006-09-13 효율적인 통합 디지털 비디오 트랜스코딩

Country Status (9)

Country Link
US (1) US8447121B2 (ko)
EP (1) EP1925163B1 (ko)
JP (1) JP4955686B2 (ko)
KR (1) KR101279755B1 (ko)
CN (1) CN101263718B (ko)
AU (1) AU2006291017A1 (ko)
BR (1) BRPI0616823A2 (ko)
CA (1) CA2621423C (ko)
WO (1) WO2007033242A1 (ko)

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7136417B2 (en) 2002-07-15 2006-11-14 Scientific-Atlanta, Inc. Chroma conversion optimization
US20050232497A1 (en) * 2004-04-15 2005-10-20 Microsoft Corporation High-fidelity transcoding
US7676590B2 (en) * 2004-05-03 2010-03-09 Microsoft Corporation Background transcoding
US7669121B2 (en) * 2005-01-19 2010-02-23 Microsoft Corporation Transcode matrix
US7738766B2 (en) * 2005-04-18 2010-06-15 Microsoft Corporation Sanctioned transcoding of digital-media content
US7558463B2 (en) * 2005-04-18 2009-07-07 Microsoft Corporation Retention of information about digital-media rights in transformed digital media content
US9436804B2 (en) 2005-04-22 2016-09-06 Microsoft Technology Licensing, Llc Establishing a unique session key using a hardware functionality scan
US9363481B2 (en) 2005-04-22 2016-06-07 Microsoft Technology Licensing, Llc Protected media pipeline
US7924913B2 (en) * 2005-09-15 2011-04-12 Microsoft Corporation Non-realtime data transcoding of multimedia content
US7830800B1 (en) 2006-01-12 2010-11-09 Zenverge, Inc. Architecture for combining media processing with networking
US8102916B1 (en) 2006-01-12 2012-01-24 Zenverge, Inc. Dynamically changing media compression format in compressed domain
WO2007092255A2 (en) * 2006-02-06 2007-08-16 Thomson Licensing Procede et appareil permettant de reutiliser des donnees de mouvement disponibles comme predicteur d'estimation de mouvement pour un codage video
RU2008135838A (ru) * 2006-03-07 2010-03-10 Нек Корпорейшн (Jp) Система распространения движущихся изображений и устройство преобразования
US8311114B1 (en) 2006-12-06 2012-11-13 Zenverge, Inc. Streamlined transcoder architecture
TW200836130A (en) * 2007-02-16 2008-09-01 Thomson Licensing Bitrate reduction method by requantization
US20130101023A9 (en) * 2007-03-12 2013-04-25 Vixs Systems, Inc. Video encoder with video decoder reuse and method for use therewith
US8457958B2 (en) * 2007-11-09 2013-06-04 Microsoft Corporation Audio transcoder using encoder-generated side information to transcode to target bit-rate
WO2009097284A1 (en) * 2008-02-01 2009-08-06 Zenverge, Inc. Intermediate compression of reference frames for transcoding
US8265168B1 (en) 2008-02-01 2012-09-11 Zenverge, Inc. Providing trick mode for video stream transmitted over network
JP2009260818A (ja) * 2008-04-18 2009-11-05 Nec Corp サーバ装置とコンテンツ配信方法とプログラム
US8831101B2 (en) * 2008-08-02 2014-09-09 Ecole De Technologie Superieure Method and system for determining a metric for comparing image blocks in motion compensated video coding
US8295345B2 (en) 2008-09-22 2012-10-23 Smith Micro Software, Inc. Transcoder unit and method
US8345746B2 (en) 2008-09-22 2013-01-01 Smith Micro Software, Inc. Video quantizer unit and method thereof
CA2737913C (en) * 2008-09-22 2014-07-22 Avot Media, Inc. Video streaming apparatus with quantization and method thereof
US8279925B2 (en) 2008-09-22 2012-10-02 Smith Micro Software, Inc. Video streaming apparatus with quantization and method thereof
US8645822B2 (en) * 2008-09-25 2014-02-04 Microsoft Corporation Multi-platform presentation system
US8396114B2 (en) * 2009-01-29 2013-03-12 Microsoft Corporation Multiple bit rate video encoding using variable bit rate and dynamic resolution for adaptive video streaming
US8311115B2 (en) * 2009-01-29 2012-11-13 Microsoft Corporation Video encoding using previously calculated motion information
US8687685B2 (en) 2009-04-14 2014-04-01 Qualcomm Incorporated Efficient transcoding of B-frames to P-frames
ES2739475T3 (es) * 2009-05-11 2020-01-31 Ntt Docomo Inc Dispositivo, método y programa de codificación de imágenes en movimiento, y dispositivo, método y programa de decodificación de imágenes en movimiento
US9100656B2 (en) 2009-05-21 2015-08-04 Ecole De Technologie Superieure Method and system for efficient video transcoding using coding modes, motion vectors and residual information
US8411756B2 (en) * 2009-05-21 2013-04-02 Ecole De Technologie Superieure Method and system for generating block mode conversion table for efficient video transcoding
WO2010141025A1 (en) * 2009-06-05 2010-12-09 Hewlett-Packard Development Company, L.P. Applying transcodings in a determined order to produce output files from a source file
US8270473B2 (en) * 2009-06-12 2012-09-18 Microsoft Corporation Motion based dynamic resolution multiple bit rate video encoding
TWI401972B (zh) * 2009-06-23 2013-07-11 Acer Inc 時間性錯誤隱藏方法
US8340191B2 (en) * 2009-09-25 2012-12-25 General Instrument Corporation Transcoder from first MPEG stream to second MPEG stream
KR101675118B1 (ko) 2010-01-14 2016-11-10 삼성전자 주식회사 스킵 및 분할 순서를 고려한 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
US8553763B2 (en) 2010-06-10 2013-10-08 Sony Corporation Iterative computation of adaptive interpolation filter
US8705616B2 (en) 2010-06-11 2014-04-22 Microsoft Corporation Parallel multiple bitrate video encoding to reduce latency and dependences between groups of pictures
US8755438B2 (en) 2010-11-29 2014-06-17 Ecole De Technologie Superieure Method and system for selectively performing multiple video transcoding operations
US20120307889A1 (en) * 2011-06-01 2012-12-06 Sharp Laboratories Of America, Inc. Video decoder with dynamic range adjustments
US8571099B2 (en) * 2011-06-01 2013-10-29 Sharp Laboratories Of America, Inc. Decoder with dynamic range compensation
US9591318B2 (en) 2011-09-16 2017-03-07 Microsoft Technology Licensing, Llc Multi-layer encoding and decoding
US9432704B2 (en) * 2011-11-06 2016-08-30 Akamai Technologies Inc. Segmented parallel encoding with frame-aware, variable-size chunking
US11089343B2 (en) 2012-01-11 2021-08-10 Microsoft Technology Licensing, Llc Capability advertisement, configuration and control for video coding and decoding
US8812740B2 (en) * 2012-03-30 2014-08-19 Broadcom Corporation Communication over bandwidth-constrained network
US9998750B2 (en) * 2013-03-15 2018-06-12 Cisco Technology, Inc. Systems and methods for guided conversion of video from a first to a second compression format
JP6022076B2 (ja) 2013-10-15 2016-11-09 株式会社東芝 電子機器および通信制御方法
US9485456B2 (en) 2013-12-30 2016-11-01 Akamai Technologies, Inc. Frame-rate conversion in a distributed computing system
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
US9438910B1 (en) 2014-03-11 2016-09-06 Google Inc. Affine motion prediction in video coding
US10136147B2 (en) 2014-06-11 2018-11-20 Dolby Laboratories Licensing Corporation Efficient transcoding for backward-compatible wide dynamic range codec
US20160041993A1 (en) * 2014-08-05 2016-02-11 Time Warner Cable Enterprises Llc Apparatus and methods for lightweight transcoding
US10958948B2 (en) 2017-08-29 2021-03-23 Charter Communications Operating, Llc Apparatus and methods for latency reduction in digital content switching operations
US11368692B2 (en) * 2018-10-31 2022-06-21 Ati Technologies Ulc Content adaptive quantization strength and bitrate modeling
EP4066500A4 (en) 2019-12-26 2023-01-18 ByteDance Inc. SETS OF DECODING PARAMETERS IN A VIDEO CODING
US11509897B2 (en) 2020-08-07 2022-11-22 Samsung Display Co., Ltd. Compression with positive reconstruction error
US11503322B2 (en) 2020-08-07 2022-11-15 Samsung Display Co., Ltd. DPCM codec with higher reconstruction quality on important gray levels

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004015744A (ja) * 2002-06-11 2004-01-15 Hitachi Ltd 画像情報変換装置およびビットストリーム変換機ならびに画像情報変換送信方法
JP2004504739A (ja) * 2000-06-09 2004-02-12 ジェネラル・インスツルメント・コーポレイション Mpeg−2からmpeg−4へのビデオサイズの変換およびトランスコード化

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE9703849L (sv) * 1997-03-14 1998-09-15 Ericsson Telefon Ab L M Nedskalning av bilder
JPH1173410A (ja) 1997-06-16 1999-03-16 Sony Corp ディジタル信号変換方法及び装置並びに変換行列作成方法
JPH11275592A (ja) * 1998-01-22 1999-10-08 Victor Co Of Japan Ltd 動画像符号列変換装置及びその方法
US6104441A (en) * 1998-04-29 2000-08-15 Hewlett Packard Company System for editing compressed image sequences
JP3821415B2 (ja) * 1998-09-30 2006-09-13 日本ビクター株式会社 動画像フォーマット変換装置及びその方法
KR100312421B1 (ko) * 1998-11-25 2001-12-12 오길록 영상시스템에서의압축동영상변환장치및그방법
US6618442B1 (en) * 1998-12-29 2003-09-09 Intel Corporation Method and apparatus for transcoding digital video signals
JP2001145113A (ja) 1999-11-17 2001-05-25 Sony Corp 画像情報変換装置及び方法
CN1199468C (zh) * 2000-01-12 2005-04-27 皇家菲利浦电子有限公司 图像数据压缩
US7266148B2 (en) 2001-01-05 2007-09-04 Lg Electronics Inc. Video transcoding apparatus
GB2369952B (en) * 2001-03-10 2002-12-04 Ericsson Telefon Ab L M Transcoding of video signals
US6671322B2 (en) * 2001-05-11 2003-12-30 Mitsubishi Electric Research Laboratories, Inc. Video transcoder with spatial resolution reduction
US20030043908A1 (en) * 2001-09-05 2003-03-06 Gao Cheng Wei Bandwidth scalable video transcoder
JP4082025B2 (ja) 2001-12-18 2008-04-30 日本電気株式会社 圧縮動画像の再符号化方法及び装置
JP2006524000A (ja) 2003-04-17 2006-10-19 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ビデオトランスコーディング
US20050132264A1 (en) * 2003-12-15 2005-06-16 Joshi Ajit P. System and method for intelligent transcoding
US7391809B2 (en) * 2003-12-30 2008-06-24 Microsoft Corporation Scalable video transcoding
TWI230547B (en) * 2004-02-04 2005-04-01 Ind Tech Res Inst Low-complexity spatial downscaling video transcoder and method thereof
US20050175099A1 (en) * 2004-02-06 2005-08-11 Nokia Corporation Transcoder and associated system, method and computer program product for low-complexity reduced resolution transcoding
US20050232497A1 (en) 2004-04-15 2005-10-20 Microsoft Corporation High-fidelity transcoding
US20060140274A1 (en) * 2004-12-29 2006-06-29 Mediatek Incorporation Transcoder and method used therein

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004504739A (ja) * 2000-06-09 2004-02-12 ジェネラル・インスツルメント・コーポレイション Mpeg−2からmpeg−4へのビデオサイズの変換およびトランスコード化
JP2004015744A (ja) * 2002-06-11 2004-01-15 Hitachi Ltd 画像情報変換装置およびビットストリーム変換機ならびに画像情報変換送信方法

Also Published As

Publication number Publication date
CA2621423C (en) 2014-12-09
EP1925163B1 (en) 2017-11-29
US8447121B2 (en) 2013-05-21
EP1925163A1 (en) 2008-05-28
EP1925163A4 (en) 2010-02-03
WO2007033242A1 (en) 2007-03-22
JP2009508445A (ja) 2009-02-26
JP4955686B2 (ja) 2012-06-20
KR20080055820A (ko) 2008-06-19
AU2006291017A1 (en) 2007-03-22
CN101263718B (zh) 2010-12-08
US20070058718A1 (en) 2007-03-15
BRPI0616823A2 (pt) 2011-07-05
CN101263718A (zh) 2008-09-10
CA2621423A1 (en) 2007-03-22

Similar Documents

Publication Publication Date Title
KR101279755B1 (ko) 효율적인 통합 디지털 비디오 트랜스코딩
KR20080055826A (ko) 임의 해상도 변경 다운사이징 디코더
JP5378791B2 (ja) 適応補間を使用する映像符号化及び復号化の方法と装置
KR102244926B1 (ko) 채도 qp 값의 확장된 범위
JP4633417B2 (ja) ビットストリーム制御後処理フィルタリング
JP5442568B2 (ja) スキップマクロブロックコード化
US7782955B2 (en) Transcoder and transcoding method operating in a transform domain for video coding schemes possessing different transform kernels
US7602851B2 (en) Intelligent differential quantization of video coding
JP4425563B2 (ja) フェーディング補償のためのパラメータ化
KR20040047977A (ko) 공간적으로 스케일가능한 압축
CN105432077A (zh) 在切换色彩空间时调整量化/缩放和逆量化/缩放
KR20050025567A (ko) 전방 예측된 인터레이스드 비디오 프레임의 필드에 대한모션 벡터의 예측
KR20050062835A (ko) 움직임 벡터 추정방법 및 부호화 모드 결정방법
JP2006518568A (ja) ビデオ符号化
CN102271257A (zh) 图像处理设备和方法及程序和计算机可读介质
US20070025438A1 (en) Elastic storage
JP2005236584A (ja) 動画像情報変換符号化装置
JP2003153272A (ja) 画像符号化方法及びその装置と、画像符号化プログラム及びそのプログラムを記録した記録媒体

Legal Events

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

Payment date: 20160517

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170522

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180516

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190515

Year of fee payment: 7