KR101279755B1 - 효율적인 통합 디지털 비디오 트랜스코딩 - Google Patents
효율적인 통합 디지털 비디오 트랜스코딩 Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling 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/23608—Remultiplexing multiplex streams, e.g. involving modifying time stamps or remapping the packet identifiers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/107—Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/127—Prioritisation of hardware or computational resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/149—Data 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/18—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/186—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods 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/196—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/40—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/48—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/59—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/434—Disassembling 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/4344—Remultiplexing 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
디지털 비디오 콘텐트는 전형적으로 특정 데이터 포맷을 타겟으로 하여 생성된다. 비디오 데이터 포맷은 일반적으로, 특정 비트 레이트, 공간 해상도(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의 설명을 위한 기호들 및 그들 각각의 의미를 보여준다.
트랜스코더의 인코딩 부분에 의해 인코딩될 프레임 (i+1)의 오차 | |
최초 해상도에서 MPEG-2 디코더에 의한 재구성된 프레임 i | |
최초 해상도에서 인코더에 의한 재구성된 프레임 i | |
감소된 해상도에서 MPEG-2 디코더에 의한 재구성된 프레임 i | |
감소된 해상도에서 인코더에 의한 재구성된 프레임 i | |
MPEG-2 디코더에 의한 프레임 (i+1)의 재구성된 나머지들 | |
인코더에 의한 프레임 (i+1)의 재구성된 나머지들 | |
16x16 블록에 기초한, MPEG-2 디코더에 의한 참조 화상 B 및 움직임 벡터 mv를 갖는 움직임 보상 예측(motion compensated prediction) | |
16x16 또는 8x8 블록에 기초한, 트랜스코더(308)(인코더)에 의한 참조 화상 B 및 움직임 벡터 mv를 갖는 움직임 보상 예측 | |
8x8 또는 그보다 작은 블록에 기초한, MPEG-2 필터링을 이용한, 감소된 해상도 참조 b 및 움직임 벡터 mv를 갖는 움직임 보상 예측 | |
8x8 또는 그보다 작은 블록에 기초한, 트랜스코더(308) 필터링을 이용한, 감소된 해상도 참조 B 및 움직임 벡터 mv를 갖는 움직임 보상 예측 | |
최초 프레임 해상도에서의 움직임 벡터 | |
감소된 프레임 해상도에서의 움직임 벡터 |
설명과 예시를 위하여, 시스템(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)에 대한 인코더에의 입력은 다음과 같이 표현된다:
이 구현에서, 도 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은 다음과 같이 단순화된다:
수학식 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에 대한 예시적인 변환 행렬을 제공한다.
수학식 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는 다음과 같이 계산된다:
여기서
및 이 대각 행렬(diagonal matrices)에 매우 가깝다는 것을 확인하기 위해, 근사(approximation)를 적용하면, 수학식 4는 행렬 B의 원소 단위 스케일링(element-wise scaling)이 된다. 즉,
여기서
수학식 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)에 대응한다.
여기서 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개 있다. 이들 오차들은 다음과 같다:
다운스케일링: 다운스케일된 비디오를 획득할 때 생성된 오차들. 그것은 통상적으로 시각적 품질과 복잡성 간에 트레이드오프를 행하기 위해 다운스케일링 필터의 동작들을 설계할 때, 특히 공간 도메인에서 다운스케일링할 때의 하드와이어드 선택(hardwired choice)이다.
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 인코더에의 입력은 다음과 같이 도출된다:
상기 수학식 7의 근사에 의하여, 수학식 6은 다음 수학식 8로 단순화된다:
수학식 8의 제1항인 는 디코딩된 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항인 은 다운스케일링된 해상도에서의 재양자화 오차 보상을 의미한다. 이 구현에서, 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 블록: 로 변환한다. 일 구현에서, 이것은 4개의 4×4 DCT 서브블록들을 다시 픽셀 도메인으로 역 변환한 다음, 새로운 8×8 VC1-T를 적용함으로써 달성된다. 일 구현에서, 그리고 계산 복잡성을 감소시키기 위해, 이것은 DCT 도메인에서 달성된다.
예를 들면, 및 는 각각 Bl, B2, B3 및 B4의 4개의 4×4 저주파수 서브블록들을 나타내고; 는 4×4 표준 IDCT 변환 행렬이고; 은 정수 WMV 변환 행렬이고; 또한 이고 여기서 및 은 8×4 행렬들이라고 하자. 이 시나리오에서, 는 및 로부터 직접 다음의 수학식을 이용하여 계산된다:
여기서
도 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 모드 매핑 규칙은 바로 아래에 나타낸 바와 같이 매우 단순하게 된다:
현존하는 혼합 블록 처리 동작들은 전형적으로 전체 해상도 화상(full resolution picture)을 재구성하기 위해 디코딩 루프를 필요로 한다. 그러므로, 혼합 블록 처리의 제거는 종래의 시스템에 비하여 상당한 계산 절약을 제공한다.
단순화된 DCT-도메인 2:1 해상도 다운스케일링 트랜스코딩 아키텍처(800)는 P-프레임들에 대하여 실질적으로 편이가 없다. 이것은 4-MV 코딩 모드의 결과이다. 다운스케일링 필터링을 갖는 CPDT 아키텍처와 비교하여, 편이 오차의 유일한 원인은 1/4 해상도로부터 1/2 해상도로의 MV들의 라운딩(이것은 을 보장한다) 및 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 인코더에의 입력은 다음과 같이 도출된다:
상기 수학식 10의 근사에 의하여 수학식 9는 다음 수학식 11로 단순화된다:
상기 수학식 11을 고려하여, 다음이 얻어진다:
수학식 12에서 대괄호(square brackets) 내의 2개의 항은 불일치(inconsistent) MV들(즉, 는 과 상이함)에 의해 야기되거나 MPEG-2와 WMV 간의 상이한 MC 필터링 방법들에 의해 야기된 움직임 오차들을 보상한다. 이 목적을 위한 대응하는 모듈들은 강조(highlight)되어 도 10에서 밝은 황색(light yellow) 블록으로 그룹화되어 있다.
도 10은 일 실시예에 따른, 전체 편이 보상(full drift compensation)을 갖는 예시적인 단순화된 2:1 다운스케일링 트랜스코더 아키텍처를 도시한다. 일 구현에서, 도 4의 트랜스코딩 모듈(408)은 도 10의 예시적인 아키텍처를 구현한다. 수학식 12를 참조하여, 는 최초 인터 MB들에 대응하는 모든 8×8 블록들에 대하여 수행되고, 1/4 픽셀 정밀도로 라는 것에 유의하자. VC-1 인코더에서 사용되는 MV는 단일 MV: 이 다. 움직임 오차 보상 모듈(motion-error-compensation module)에 관하여, 의 정확도는 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)은 이들 문제를 다음과 같이 다룬다:
인터-인트라 변환: 인터-코딩된 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 거리는 은닉 거리를 결정하는 지시자로서 이용된다. 은닉은 단순한 복사 또는 임의의 다른 보간 방법을 통하여 달성된다.
인트라-인터 변환: 인터-코딩된 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) 간의 근사 공식이 있다.
여기서 S는 프레임의 복잡성이고, X는 모델 매개 변수들이다. 프레임의 복잡성이 상이한 코덱들에 대하여 동일하게 유지된다고 가정하면:
여기서 는 WMV 재양자화에서 이용되는 값이고, 는 MPEC-2 양자화의 값이고, k는 목표 비트 레이트에 관련된 모델 매개 변수이다. 일 구현에서는, 다음의 선형 모델이 이용된다:
낮은(low), 중간(medium), 높은(high) 비트 레이트에 대한 매개 변수 k 및 t의 값들이 선형 회귀 방법(linear regression method)을 이용하여 표 4에 열거되어 있다.
(선형 회귀 방법에 대한 예시적인 매개 변수 값들)
수학식 14에 기초한 예시적인 상세 레이트 제어 알고리즘이 표 5에 도시되어 있고, 표 5에 제공된 알고리즘 내의 각종 기호들의 의미는 다음 표 6에서 정의된다.
(예시적인 레이트 제어 알고리즘)
MPEG-2 프레임 크기; | |
MPEG-2 스트림 비트 레이트; | |
목표 WMV 스트림 비트 레이트; | |
비트 레이트의 비율에 의해 예측되는 WMV 프레임 크기; | |
인코딩할 기대 WMV 프레임 크기(새로운 비트 레이트); | |
실제 인코딩된 WMV 프레임 크기; | |
처음부터 예측 및 실제 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 단계 다운스케일링 후에 해상도가 현저히 감소되므로, 픽셀-도메인 상에서 최적의 다운스케일링 방법을 계속해서 적용할 수 있다.
예시적인 절차
도 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)
- 컴퓨터 구현 방법(computer-implemented method)으로서,통합 트랜스코더(integrated transcoder)에 의해, 인코딩된 비트스트림을 수신하는 단계; 및상기 통합 트랜스코더에 의해, 상기 인코딩된 비트스트림을 트랜스코딩하는 단계를 포함하고, 상기 트랜스코딩하는 단계는,중간 데이터 스트림(intermediate data stream)을 생성하기 위해, 상기 통합 트랜스코더에 의해, 상기 인코딩된 비트스트림을 부분적으로 디코딩하는 단계 - 상기 인코딩된 비트스트림은 제1 미디어 포맷과 관련된 제1 세트의 압축 기법들로 인코딩됨 - ; 및트랜스코딩된 비트스트림을 생성하기 위해, 상기 통합 트랜스코더에 의해, 제2 세트의 압축 기법들을 이용하여 상기 중간 데이터 스트림을 인코딩하는 단계 - 상기 제2 세트의 압축 기법들은 제2 미디어 포맷에 대응함 -를 포함하고,상기 통합 트랜스코더는, 상기 부분적으로 디코딩하는 단계와 연관된 제1 변환과 상기 인코딩하는 단계와 연관된 제2 변환을 하나의 스케일링 행렬로 조합하는 것 및 상기 하나의 스케일링 행렬을 스칼라 곱으로 대체하는 것에 의해, 상기 부분적으로 디코딩하는 단계 및 상기 인코딩하는 단계를 통합하는, 컴퓨터 구현 방법.
- 제1항에 있어서,상기 제1 미디어 포맷은 MPEG(Moving Picture Experts Group)-2이고 상기 제2 미디어 포맷은 WMV(Windows Media Video)인컴퓨터 구현 방법.
- 제1항에 있어서,상기 제1 미디어 포맷은 MPEG(Moving Picture Experts Group)-2이고 상기 제2 미디어 포맷은 MPEG(Moving Picture Experts Group)-4인컴퓨터 구현 방법.
- 제1항에 있어서,상기 통합 트랜스코더는 오차 보상(error compensation)을 통하여 오차 전파(error propagation)를 방지하는 폐루프 트랜스코더(closed loop transcoder)인컴퓨터 구현 방법.
- 제1항에 있어서,상기 통합 트랜스코더는 오차 전파를 포함하는 개루프 트랜스코더(open loop transcoder)인컴퓨터 구현 방법.
- 삭제
- 제1항에 있어서,상기 트랜스코딩하는 단계는 상기 트랜스코딩의 품질 또는 속도를 각각 증가시키기 위해 나머지 오차 보상(residue-error compensation)과 관련된 하나 이상의 동작들을 동적으로 턴온 또는 턴오프 시키는 단계를 더 포함하는컴퓨터 구현 방법.
- 제1항에 있어서,상기 트랜스코딩하는 단계는 나머지 오차 보상을 구현하고,참조 프레임들(reference frames)이 처리되고 있음을 판정하는 것에 응답하여, 하나 이상의 동작들을 동적으로 조정하여 상기 참조 프레임들이 트랜스코딩되는 품질 및 속도를 조정하는 단계를 더 포함하고,상기 하나 이상의 동작들은 블록 재양자화 오차 누산(block requantization error accumulation), 누산된 오차의 움직임 보상, 및 특정 블록 오차가 인코딩되어야 할지를 판정하기 위한 검출을 포함하는컴퓨터 구현 방법.
- 제1항에 있어서,상기 트랜스코딩하는 단계는 나머지 오차 보상을 구현하고 복수의 동작들 중 하나 이상을 포함하며,상기 복수의 동작들은,임계값 기반 편이 제어 메커니즘(threshold based drifting control mechanism)에 응답하여, 나머지 오차 버퍼 내로의 블록 재양자화 오차 누산을 동적으로 턴온 또는 턴오프 시키는 단계;블록 활성(block activity)의 평가에 응답하여, 상기 나머지 오차 버퍼 내의 누산된 오차의 움직임 보상을 동적으로 턴온 또는 턴오프 시키는 단계; 및상기 부분적으로 디코딩하는 단계로부터의 재구성된 나머지 및 움직임 보상 누산된 나머지 오차의 합에 기초한 판정에 응답하여, 블록 오차(a block error)의 인코딩을 동적으로 턴온 또는 턴오프 시키는 단계를 더 포함하는 컴퓨터 구현 방법.
- 제1항에 있어서,상기 부분적으로 디코딩하는 단계는,모든 프레임들에 대하여 입력 프레임 크기에 비례하는 코딩된 프레임 크기로 레이트 제어를 구현하는 단계를 더 포함하고,상기 레이트 제어는 목표 프레임 크기와 실제의 결과적인 프레임 크기 간의 누산된 차이들에 대해 계속된(continued) 보상을 제공하는컴퓨터 구현 방법.
- 제1항에 있어서,명시적 픽셀 도메인 다운스케일링(explicit pixel-domain downscaling)을 수행함 없이, DCT(Discrete Cosine Transform)에서 상기 중간 데이터 스트림을 다운스케일링하기 위해 미리 정해진 임계값보다 큰 DCT 계수들을 버리는 단계를 더 포함하는, 컴퓨터 구현 방법.
- 제1항에 있어서,혼합 블록 처리 및 디코딩 루프에 관계없이 상기 트랜스코딩된 비트스트림으로부터 전체 해상도 화상(full resolution picture)의 재구성에 의해 상기 트랜스코딩된 비트스트림의 블록을 다운스케일링하는 단계를 더 포함하는, 컴퓨터 구현 방법.
- 제1항에 있어서,상기 트랜스코딩하는 단계는 임의 다운스케일링 목표 비율(arbitrary downscaling target ratio)을 획득하기 위해 2단계(two-stage) 다운스케일링 동작들을 구현하는 단계를 더 포함하는컴퓨터 구현 방법.
- 제13항에 있어서,상기 2단계 다운스케일링 동작들은,DCT(Discrete Cosine Transform) 도메인에서 제1 단계 다운스케일링 동작들을 구현하는 단계; 및픽셀 도메인에서 제2 단계 다운스케일링 동작들을 수행하는 단계를 더 포함하는 컴퓨터 구현 방법.
- 제13항에 있어서,상기 2단계 다운스케일링 동작들은,상기 임의 다운스케일링 목표 비율에 대해 중간(intermediate)인 제1 결과를 획득하기 위해 제1 단계 다운스케일링 동작들을 수행하는 단계; 및상기 임의 다운스케일링 목표 비율을 획득하기 위해 공간 도메인에서 제2 단계 다운스케일링 동작들을 구현하는 단계를 더 포함하는 컴퓨터 구현 방법.
- 컴퓨터 구현 방법으로서,통합 트랜스코더에 의해, 인코딩된 비트스트림을 트랜스코딩하는 단계를 포함하고, 상기 트랜스코딩하는 단계는,중간 데이터 스트림을 생성하기 위해, 상기 통합 트랜스코더에 의해, 상기 인코딩된 비트스트림을 부분적으로 디코딩하는 단계 - 상기 인코딩된 비트스트림은 제1 미디어 포맷과 관련된 제1 세트의 압축 기법들로 인코딩됨 -; 및트랜스코딩된 비트스트림을 생성하기 위해, 상기 통합 트랜스코더에 의해, 제2 세트의 압축 기법들을 이용하여 상기 중간 데이터 스트림을 인코딩하는 단계 - 상기 제2 세트의 압축 기법들은 제2 미디어 포맷에 대응하고, 상기 제2 미디어 포맷은 상기 제1 미디어 포맷과 상이함 -를 포함하고,상기 통합 트랜스코더는 상기 제1 미디어 포맷 및 상기 제2 미디어 포맷과 각각 관련된 제1 변환 및 제2 변환을 스케일링 행렬로 통합하고, 상기 스케일링 행렬을 스칼라 곱으로 대체하는, 컴퓨터 구현 방법.
- 제16항에 있어서,상기 제1 미디어 포맷은 MPEG(Moving Picture Experts Group)-2이고 상기 제2 미디어 포맷은 WMV(Windows Media Video)인컴퓨터 구현 방법.
- 제16항에 있어서,상기 트랜스코딩하는 단계는,상기 트랜스코딩의 품질 또는 속도를 각각 증가시키기 위해 나머지 오차 보상과 관련된 하나 이상의 동작들을 동적으로 턴온 또는 턴오프 시키는 단계를 더 포함하고,상기 하나 이상의 동작들은,임계값 기반 편이 제어 메커니즘;블록 활성 레벨의 평가; 및디코딩 동작들로부터의 재구성된 나머지 및 움직임 보상 누산된 나머지 오차의 합중 하나 이상에 기초하여 토글 온 또는 토글 오프되는(toggled on or off)컴퓨터 구현 방법.
- 제16항에 있어서,DCT(Discrete Cosine Transform) 도메인에서 상기 인코딩된 비트스트림과 관련된 데이터를 다운스케일링하는 단계; 또는상기 인코딩된 비트스트림과 관련된 데이터를 2단계 다운스케일링 프로세스에서 다운스케일링하는 단계를 더 포함하고, 상기 2단계 다운스케일링 프로세스는,제1 단계에서, 상기 인코딩된 비트스트림과 관련된 데이터를 상기 DCT 도메인에서 다운스케일링하는 단계; 및공간 도메인에서 상기 제1 단계의 다운스케일링된 결과들의 해상도를 감소시키는 단계를 포함하는 컴퓨터 구현 방법.
- 컴퓨터 구현 방법으로서,중간 데이터 스트림을 생성하기 위해, 통합 트랜스코더에 의해, 인코딩된 비트스트림을 부분적으로 디코딩하는 단계 - 상기 인코딩된 비트스트림은 제1 미디어 포맷과 관련된 제1 세트의 압축 기법들로 인코딩되고, 상기 부분적으로 디코딩하는 단계는 DCT(Discrete Cosine Transform) 도메인에서 비트스트림 데이터를 다운스케일링하는 단계를 포함함 - ;공간 도메인에서 상기 비트스트림 데이터를 추가로 감소시킬지 여부를 판정하는 단계 - 상기 판정하는 단계는, 상기 공간 도메인에서 DCT 도메인 다운스케일링된 비트스트림 데이터의 해상도를 감소시키는 단계; 또는 추가 해상도 감소 없이 상기 DCT 도메인 다운스케일링된 비트스트림 데이터가 통과(pass)하게 하는 단계를 포함함 - ; 및트랜스코딩된 비트스트림을 생성하기 위해, 상기 통합 트랜스코더에 의해, 제2 세트의 압축 기법들을 이용하여 상기 중간 데이터 스트림을 인코딩하는 단계 - 상기 제2 세트의 압축 기법들은 제2 미디어 포맷에 대응함 -를 포함하고,상기 통합 트랜스코더는, 상기 부분적으로 디코딩하는 단계와 연관된 제1 변환과 상기 인코딩하는 단계와 연관된 제2 변환을 하나의 스케일링 행렬로 조합하는 것 및 상기 하나의 스케일링 행렬을 스칼라 곱으로 대체하는 것에 의해, 상기 부분적으로 디코딩하는 단계 및 상기 인코딩하는 단계를 통합하는, 컴퓨터 구현 방법.
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)
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)
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)
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 |
-
2005
- 2005-09-14 US US11/226,590 patent/US8447121B2/en active Active
-
2006
- 2006-09-13 BR BRPI0616823-0A patent/BRPI0616823A2/pt not_active Application Discontinuation
- 2006-09-13 JP JP2008531271A patent/JP4955686B2/ja active Active
- 2006-09-13 EP EP06803497.4A patent/EP1925163B1/en active Active
- 2006-09-13 WO PCT/US2006/035640 patent/WO2007033242A1/en active Application Filing
- 2006-09-13 AU AU2006291017A patent/AU2006291017A1/en not_active Abandoned
- 2006-09-13 CN CN2006800335583A patent/CN101263718B/zh active Active
- 2006-09-13 KR KR1020087006056A patent/KR101279755B1/ko active IP Right Grant
- 2006-09-13 CA CA2621423A patent/CA2621423C/en active Active
Patent Citations (2)
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 |