KR20080055826A - 임의 해상도 변경 다운사이징 디코더 - Google Patents

임의 해상도 변경 다운사이징 디코더 Download PDF

Info

Publication number
KR20080055826A
KR20080055826A KR1020087006146A KR20087006146A KR20080055826A KR 20080055826 A KR20080055826 A KR 20080055826A KR 1020087006146 A KR1020087006146 A KR 1020087006146A KR 20087006146 A KR20087006146 A KR 20087006146A KR 20080055826 A KR20080055826 A KR 20080055826A
Authority
KR
South Korea
Prior art keywords
downscaling
compression techniques
mpeg
encoded bitstream
resolution
Prior art date
Application number
KR1020087006146A
Other languages
English (en)
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 KR20080055826A publication Critical patent/KR20080055826A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/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/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/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

임의 해상도 변경 다운사이징 디코딩을 설명한다. 일 양태에서는, 인코딩된 비트스트림이 수신된다. 인코딩된 비트스트림이 DCT 도메인 디코딩 루프에서 다운스케일링되어 다운스케일링된 데이터가 생성된다.
DCT 도메인 디코딩 루프, 컴퓨터 구현 방법, 다운스케일링

Description

임의 해상도 변경 다운사이징 디코더{ARBITRARY RESOLUTION CHANGE DOWNSIZING DECODER}
디지털 비디오 콘텐츠는 전형적으로 특정 데이터 포맷을 타깃으로 하여 생성된다. 비디오 데이터 포맷은 일반적으로, 특정 비트 레이트, 공간 해상도(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 아키텍처를 이용하여 실행할 수 없다.
<발명의 요약>
이 요약은 아래 상세한 설명에서 더 설명되는 개념들 중 선택된 것을 단순한 형태로 소개하기 위해 제공된다. 이 요약은 청구된 내용의 중요한 특징들 또는 필수적인 특징들을 식별하기 위해 의도된 것도 아니고, 청구 대상의 범위를 판정하는 데 도움을 주기 위해 의도된 것도 아니다.
이상을 고려하여, 임의의 해상도 변경 다운사이징 디코딩을 설명한다. 일 양태에서는, 인코딩된 비트스트림이 수신된다. 인코딩된 비트스트림은 DCT 도메인 디코딩 루프에서 다운스케일링되어 다운스케일링된 데이터가 생성된다.
도면들에서, 구성 요소 참조 번호의 가장 왼쪽 숫자는 그 구성 요소가 처음 나오는 특정 도면을 식별한다.
도 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 112008018272967-PCT00001
트랜스코더의 인코딩 부분에 의해 인코딩될 프레임 (i+1)의 오차
Figure 112008018272967-PCT00002
최초 해상도에서 MPEG-2 디코더에 의한 재구성된 프레임 i
Figure 112008018272967-PCT00003
최초 해상도에서 인코더에 의한 재구성된 프레임 i
Figure 112008018272967-PCT00004
감소된 해상도에서 MPEG-2 디코더에 의한 재구성된 프레임 i
Figure 112008018272967-PCT00005
감소된 해상도에서 인코더에 의한 재구성된 프레임 i
Figure 112008018272967-PCT00006
MPEG-2 디코더에 의한 프레임 (i+1)의 재구성된 나머지들
Figure 112008018272967-PCT00007
인코더에 의한 프레임 (i+1)의 재구성된 나머지들
Figure 112008018272967-PCT00008
16x16 블록에 기초한, MPEG-2 디코더에 의한 참조 그림 B 및 움직임 벡터 mv를 갖는 움직임 보상 예측(motion compensated prediction)
Figure 112008018272967-PCT00009
16x16 또는 8x8 블록에 기초한, 트랜스코더(308)(인코더)에 의한 참조 그림 B 및 움직임 벡터 mv를 갖는 움직임 보상 예측
Figure 112008018272967-PCT00010
8x8 또는 그보다 작은 블록에 기초한, MPEG-2 필터링을 이용한, 감소된 해상도 참조 b 및 움직임 벡터 mv를 갖는 움직임 보상 예측
Figure 112008018272967-PCT00011
8x8 또는 그보다 작은 블록에 기초한, 트랜스코더(308) 필터링을 이용한, 감소된 해상도 참조 B 및 움직임 벡터 mv를 갖는 움직임 보상 예측
Figure 112008018272967-PCT00012
최초 프레임 해상도에서의 움직임 벡터
Figure 112008018272967-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) 필터이다(즉, 효력이 없다). 그러므로, 프레임 (i+1)에 대한 인코더에의 입력은 다음과 같이 표현된다:
Figure 112008018272967-PCT00014
이 구현에서, 도 3의 WMV 코딩 효율은 보다 세밀한 움직임 정밀도로부터 결과를 얻는다. WMV에서는, MPEG-2에서와 같은 공통의 1/2 픽셀 정밀도와 비교하여 1/4 픽셀 움직임 정밀도가 허용된다. 또한, WMV는 MC 필터링을 위해 바이큐빅(bicubic) 보간으로 알려진 보다 양호한 그러나 보다 복잡한 보간을 허용한다. 이중선형 보간은 1/2 픽셀 MC를 위하여 MC 모듈(MCmp2)에서 MPEG-2에 대하여 이용된다. 이 이중선형 보간 방법은 MPEG-2 이중선형 보간은 반올림 제어를 갖고 있지 않다는 것을 제외하고는 WMV에서 사용되는 것과 유사하다. 높은 속도를 달성하기 위하여, 인코더 부분에서는 1/2 픽셀 움직임 정확도가 구현될 수 있다. 이에 대한 한 가지 이유는 절대적인 원본 프레임은 없기 때문이다(즉, 비트스트림 입력 데이터(BS_IN)는 이미 압축되어 있다). 따라서, 이 예에서는, 보다 정확하면서도 의미 있는 움직임 벡터를 획득하기가 곤란하다. 한편, MPEG-2 디코더로부터 얻어진 움직임 정보(즉, MVvcl = MVmp2)는 바로 재사용될 수 있다. 해상도 변경이 없으므로, 이 가정으로 MV 정밀도 손실은 없다. 만일 인코더가 이중선형 보간을 이용하고 반올림 제어 매개 변수를 항상 버리도록 더 제한된다면, 움직임 보상은 선형 동작이라는 합리적인 가정 하에 그리고 반올림 오차를 무시하여(즉, MCVC9 = MCmp2), 수학식 1은 다음과 같이 단순화된다:
Figure 112008018272967-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 112008018272967-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 112008018272967-PCT00017
Figure 112008018272967-PCT00018
를 b의 VC1-T라 하면,
Figure 112008018272967-PCT00019
는 다음과 같이 계산된다:
Figure 112008018272967-PCT00020
여기서
Figure 112008018272967-PCT00021
는 2개의 행렬의 원소 단위 곱셈(element-wise multiplication)을 나타내고, N88은 다음과 같이 계산되는 VC1-T 변환에 대한 정규화 행렬이다:
Figure 112008018272967-PCT00022
여기서
Figure 112008018272967-PCT00023
이고;
Figure 112008018272967-PCT00024
는 B로부터 다음의 식을 이용하여 바로 계산된다:
Figure 112008018272967-PCT00025
Figure 112008018272967-PCT00026
Figure 112008018272967-PCT00027
이 대각 행렬(diagonal matrices)에 매우 가깝다는 것을 확인하기 위해, 근사(approximation)를 적용하면, 수학식 4는 행렬 B의 원소 단위 스케일링(element-wise scaling)이 된다. 즉,
Figure 112008018272967-PCT00028
여기서
Figure 112008018272967-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 112008018272967-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 112008018272967-PCT00031
다운스케일링: 다운스케일된 비디오를 획득할 때 생성된 오차들. 그것은 통상적으로 시각적 품질과 복잡성 간에 트레이드오프를 행하기 위해 다운스케일링 필터의 동작들을 설계할 때, 특히 공간 도메인에서 다운스케일링할 때의 하드와이어드 선택(hardwired choice)이다.
재양자화 오차: 순수한 비트 레이트 감소 트랜스코딩 프로세서에서와 같이, 이것은 보다 코오스한 재양자화 스텝 크기에 의한 재양자화로 인한 오차이다.
Figure 112008018272967-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 112008018272967-PCT00034
Figure 112008018272967-PCT00035
이라고 가정하자.
Figure 112008018272967-PCT00036
상기 수학식 7의 근사에 의하여, 수학식 6은 다음 수학식 8로 단순화된다:
Figure 112008018272967-PCT00037
수학식 8의 제1항인
Figure 112008018272967-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 112008018272967-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 112008018272967-PCT00040
로 변환한다. 일 구현에서, 이것은 4개의 4×4 DCT 서브블록들을 다시 픽셀 도메인으로 역 변환한 다음, 새로운 8×8 VC1-T를 적용함으로써 달성된다. 일 구현에서, 그리고 계산 복잡성을 감소시키기 위해, 이것은 DCT 도메인에서 달성된다.
예를 들면,
Figure 112008018272967-PCT00041
Figure 112008018272967-PCT00042
는 각각 Bl, B2, B3 및 B4의 4개의 4×4 저주파수 서브블록들을 나타내고;
Figure 112008018272967-PCT00043
는 4×4 표준 IDCT 변환 행렬이고;
Figure 112008018272967-PCT00044
은 정수 WMV 변환 행렬이고; 또한
Figure 112008018272967-PCT00045
이고 여기서
Figure 112008018272967-PCT00046
Figure 112008018272967-PCT00047
은 8×4 행렬들이라고 하자. 이 시나리오에서,
Figure 112008018272967-PCT00048
Figure 112008018272967-PCT00049
Figure 112008018272967-PCT00050
로부터 직접 다음의 수학식을 이용하여 계산된다:
Figure 112008018272967-PCT00051
어떤 조작 후에,
Figure 112008018272967-PCT00052
는 다음과 같이 보다 효율적으로 계산된다:
Figure 112008018272967-PCT00053
여기서
Figure 112008018272967-PCT00054
일 구현에서, 상기 수학식의 C와 D 모두는 미리 계산된다. 최종 결과들은
Figure 112008018272967-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 112008018272967-PCT00056
현존하는 혼합 블록 처리 동작들은 전형적으로 전체 해상도 그림(full resolution picture)을 재구성하기 위해 디코딩 루프를 필요로 한다. 그러므로, 혼합 블록 처리의 제거는 종래의 시스템에 비하여 상당한 계산 절약을 제공한다.
단순화된 DCT-도메인 2:1 해상도 다운스케일링 트랜스코딩 아키텍처(800)는 P-프레임들에 대하여 실질적으로 편이가 없다. 이것은 4-MV 코딩 모드의 결과이다. 다운스케일링 필터링을 갖는 CPDT 아키텍처와 비교하여, 편이 오차의 유일한 원인은 1/4 해상도로부터 1/2 해상도로의 MV들의 반올림(이것은
Figure 112008018272967-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 112008018272967-PCT00058
Figure 112008018272967-PCT00059
상기 수학식 10의 근사에 의하여 수학식 9는 다음 수학식 11로 단순화된다:
Figure 112008018272967-PCT00060
상기 수학식 11을 고려하여, 다음이 얻어진다:
Figure 112008018272967-PCT00061
Figure 112008018272967-PCT00062
수학식 12에서 대괄호(square brackets) 내의 2개의 항은 불일치(inconsistent) MV들(즉,
Figure 112008018272967-PCT00063
Figure 112008018272967-PCT00064
과 상이함)에 의해 야기되거나 MPEG-2와 WMV 간의 상이한 MC 필터링 방법들에 의해 야기된 움직임 오차들을 보상한다. 이 목적을 위한 대응하는 모듈들은 강조(highlight)되어 도 10에서 밝은 황색(light yellow) 블록으로 그룹화되어 있다.
도 10은 일 실시예에 따른, 전체 편이 보상(full drift compensation)을 갖는 예시적인 단순화된 2:1 다운스케일링 트랜스코더 아키텍처를 도시한다. 일 구현에서, 도 4의 트랜스코딩 모듈(408)은 도 10의 예시적인 아키텍처를 구현한다. 수학식 12를 참조하여,
Figure 112008018272967-PCT00065
는 최초 인터 MB들에 대응하는 모든 8×8 블록들에 대하여 수행되고, 1/4 픽셀 정밀도로
Figure 112008018272967-PCT00066
라는 것에 유의하자. VC-1 인코더에서 사용되는 MV는 단일 MV:
Figure 112008018272967-PCT00067
이다. 움직임 오차 보상 모듈(motion-error-compensation module)에 관하여,
Figure 112008018272967-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 112008018272967-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 112008018272967-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 112008018272967-PCT00071
여기서 S는 프레임의 복잡성이고, X는 모델 매개 변수들이다. 프레임의 복잡성이 상이한 코덱들에 대하여 동일하게 유지된다고 가정하면:
Figure 112008018272967-PCT00072
여기서
Figure 112008018272967-PCT00073
는 WMV 재양자화에서 이용되는
Figure 112008018272967-PCT00074
값이고,
Figure 112008018272967-PCT00075
는 MPEC-2 양자화의
Figure 112008018272967-PCT00076
값이고, k는 목표 비트 레이트에 관련된 모델 매개 변수이다. 일 구현에서는, 다음의 선형 모델이 이용된다:
Figure 112008018272967-PCT00077
낮은(low), 중간(medium), 높은(high) 비트 레이트에 대한 매개 변수 k 및 t의 값들이 선형 회귀 방법(linear regression method)을 이용하여 표 4에 열거되어 있다.
Figure 112008018272967-PCT00078
(선형 회귀 방법에 대한 예시적인 매개 변수 값들)
수학식 14에 기초한 예시적인 상세 레이트 제어 알고리즘이 표 5에 도시되어 있고, 표 5에 제공된 알고리즘 내의 각종 기호들의 의미는 다음 표 6에서 정의된다.
Figure 112008018272967-PCT00079
(예시적인 레이트 제어 알고리즘)
Figure 112008018272967-PCT00080
MPEG-2 프레임 크기;
Figure 112008018272967-PCT00081
MPEG-2 스트림 비트 레이트;
Figure 112008018272967-PCT00082
목표 WMV 스트림 비트 레이트;
Figure 112008018272967-PCT00083
비트 레이트의 비율에 의해 예측되는 WMV 프레임 크기;
Figure 112008018272967-PCT00084
인코딩할 기대 WMV 프레임 크기(새로운 비트 레이트);
Figure 112008018272967-PCT00085
실제 인코딩된 WMV 프레임 크기;
Figure 112008018272967-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 112008018272967-PCT00087
Figure 112008018272967-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. 인코딩된 비트스트림을 수신하는 단계와,
    상기 인코딩된 비트스트림을 DCT 도메인 디코딩 루프에서 다운스케일링하여 다운스케일링된 데이터를 생성하는 단계
    를 포함하는 컴퓨터 구현 방법.
  2. 제1항에 있어서,
    캐스케이드 이산 코사인 변환 도메인(Cascaded Discrete Cosine Transform Domain; CDDT) 디코더가 상기 다운스케일링을 구현하는 컴퓨터 구현 방법.
  3. 제1항에 있어서,
    상기 인코딩된 비트스트림을 다운스케일링하는 단계는, 상기 인코딩된 비트스트림에 관련된 데이터를 고 선명도 해상도로부터 표준 선명도 해상도로 변환하는 단계를 더 포함하는 컴퓨터 구현 방법.
  4. 제1항에 있어서,
    상기 방법은 상기 다운스케일링된 데이터의 해상도를 픽셀 도메인에서 감소시키는 단계를 더 포함하는 컴퓨터 구현 방법.
  5. 제1항에 있어서,
    상기 다운스케일링은 제1 단계 다운스케일링 및 제2 단계 다운스케일링을 포함하는 2단계 다운스케일링이며,
    상기 제1 단계 다운스케일링에 따라 2:1 또는 4:3으로 감소된 데이터가 발생하고, 상기 제2 단계 다운스케일링에 따라 목표 해상도 감소비에 기초하여 추가로 4:3 또는 올 패스(all pass) 감소된 데이터가 발생하는 컴퓨터 구현 방법.
  6. 제1항에 있어서,
    상기 다운스케일링은 통합 트랜스코더에서 수행되는 2단계 다운스케일링이며,
    상기 통합 트랜스코더는, 제1 세트의 압축 기법들에 기초하여 상기 인코딩된 비트스트림을 부분적으로 디코딩하여 중간 데이터 스트림을 생성하고, 상기 제1 세트의 압축 기법들과는 다른 제2 세트의 압축 기법들에 따라 상기 중간 데이터 스트림을 인코딩하는 컴퓨터 구현 방법.
  7. 제6항에 있어서,
    상기 제1 세트의 압축 기법들이 MPEG-2에 관련되고 상기 제2 세트의 압축 기법들이 WMV에 관련되며, 또는 상기 제1 세트의 압축 기법들이 MPEG-2에 관련되고 상기 제2 세트의 압축 기법들이 MPEG-4에 관련되는 컴퓨터 구현 방법.
  8. 인코딩된 비트스트림을 수신하는 단계와,
    상기 인코딩된 비트스트림을 부분적으로 디코딩하는 단계 - 상기 부분적으로 디코딩하는 단계는 상기 인코딩된 비트스트림에 관련된 데이터를 DCT 도메인 디코딩 루프에서 다운스케일링하여 다운스케일링된 데이터를 얻는 단계를 포함함 - 와,
    상기 다운스케일링된 데이터를 목표 미디어 포맷으로 인코딩하는 단계
    를 포함하는 컴퓨터 구현 방법.
  9. 제8항에 있어서,
    캐스케이드 이산 코사인 변환 도메인(CDDT) 디코더가 상기 다운스케일링을 구현하는 컴퓨터 구현 방법.
  10. 제8항에 있어서,
    상기 인코딩된 비트스트림을 다운스케일링하는 단계는, 상기 인코딩된 비트스트림에 관련된 데이터를 고 선명도 해상도로부터 표준 선명도 해상도로 변환하는 단계를 더 포함하는 컴퓨터 구현 방법.
  11. 제8항에 있어서,
    상기 방법은, 상기 인코딩 전에, 상기 다운스케일링된 데이터의 해상도를 픽셀 도메인에서 감소시키는 단계를 더 포함하는 컴퓨터 구현 방법.
  12. 제8항에 있어서,
    상기 다운스케일링은, 2:1 또는 4:3의 제1 단계 다운스케일링과 목표 다운스케일링 비에 기초하여 4:3 또는 올 패스 결정의 추가 제2 단계 다운스케일링이 발생하는 2단계 다운스케일링인 컴퓨터 구현 방법.
  13. 제8항에 있어서,
    통합 트랜스코더가 상기 다운스케일링을 구현하고,
    상기 통합 트랜스코더는, 제1 세트의 압축 기법들에 따라 상기 인코딩된 비트스트림을 부분적으로 디코딩하여 중간 데이터 스트림을 생성하고, 상기 제1 세트의 압축 기법들과는 다른 제2 세트의 압축 기법들에 따라 상기 중간 데이터 스트림을 인코딩하는 컴퓨터 구현 방법.
  14. 제13항에 있어서,
    상기 제1 세트의 압축 기법들이 MPEG-2에 관련되고 상기 제2 세트의 압축 기법들이 WMV에 관련되며, 또는 상기 제1 세트의 압축 기법들이 MPEG-2에 관련되고 상기 제2 세트의 압축 기법들이 MPEG-4에 관련되는 컴퓨터 구현 방법.
  15. 인코딩된 비트스트림에 관련된 데이터를 DCT 도메인 디코딩 루프에서 다운스케일링하여 다운스케일링된 데이터를 얻도록 제1 세트의 압축 기법들을 이용하여 상기 인코딩된 비트스트림을 트랜스코딩하는 단계와,
    상기 제1 세트의 압축 기법들 또는 상기 제1 세트의 압축 기법들과는 다른 제2 세트의 압축 기법들에 기초하여 상기 다운스케일링된 데이터를 목표 미디어 포맷으로 인코딩하는 단계
    를 포함하는 컴퓨터 구현 방법.
  16. 제15항에 있어서,
    캐스케이드 이산 코사인 변환 도메인(CDDT) 디코더가 상기 다운스케일링을 구현하는 컴퓨터 구현 방법.
  17. 제15항에 있어서,
    상기 인코딩된 비트스트림을 다운스케일링하는 단계는, 상기 인코딩된 비트스트림에 관련된 데이터를 고 선명도 해상도로부터 표준 선명도 해상도로 변환하는 단계를 더 포함하는 컴퓨터 구현 방법.
  18. 제15항에 있어서,
    상기 방법은, 상기 인코딩 전에, 상기 다운스케일링된 데이터의 해상도를 DCT 도메인 밖의 픽셀 도메인에서 감소시키는 단계를 더 포함하는 컴퓨터 구현 방법.
  19. 제15항에 있어서,
    상기 다운스케일링은, 2:1 또는 4:3의 제1 단계 다운스케일링과 목표 다운스케일링 비에 기초하여 4:3 또는 올 패스 결정의 추가 제2 단계 다운스케일링이 발생하게 되는 2단계 다운스케일링인 컴퓨터 구현 방법.
  20. 제15항에 있어서,
    통합 트랜스코더가 상기 다운스케일링을 구현하고,
    상기 통합 트랜스코더는, 제1 세트의 압축 기법들에 따라 상기 인코딩된 비트스트림을 부분적으로 디코딩하여 중간 데이터 스트림을 생성하고, 상기 제1 세트의 압축 기법들과는 다른 제2 세트의 압축 기법들에 따라 상기 중간 데이터 스트림을 인코딩하는 컴퓨터 구현 방법.
KR1020087006146A 2005-09-14 2006-09-13 임의 해상도 변경 다운사이징 디코더 KR20080055826A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/226,043 US20070058713A1 (en) 2005-09-14 2005-09-14 Arbitrary resolution change downsizing decoder
US11/226,043 2005-09-14

Publications (1)

Publication Number Publication Date
KR20080055826A true KR20080055826A (ko) 2008-06-19

Family

ID=37855066

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087006146A KR20080055826A (ko) 2005-09-14 2006-09-13 임의 해상도 변경 다운사이징 디코더

Country Status (8)

Country Link
US (1) US20070058713A1 (ko)
EP (1) EP1915869A1 (ko)
JP (1) JP2009508452A (ko)
KR (1) KR20080055826A (ko)
CN (1) CN101263717A (ko)
BR (1) BRPI0616034A2 (ko)
CA (1) CA2621428A1 (ko)
WO (1) WO2007033346A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110110855A (ko) * 2009-02-05 2011-10-07 톰슨 라이센싱 적응형 모드 비디오 인코딩 및 디코딩 방법 및 장치

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2143278B1 (en) * 2007-04-25 2017-03-22 Thomson Licensing Inter-view prediction with downsampled reference pictures
US8233527B2 (en) * 2007-05-11 2012-07-31 Advanced Micro Devices, Inc. Software video transcoder with GPU acceleration
JP5347862B2 (ja) * 2008-09-29 2013-11-20 ソニー株式会社 係数学習装置および方法、画像処理装置および方法、プログラム、並びに記録媒体
US8514942B2 (en) * 2008-12-31 2013-08-20 Entropic Communications, Inc. Low-resolution video coding content extraction
US9774875B2 (en) * 2009-03-10 2017-09-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Lossless and near-lossless image compression
US8687685B2 (en) 2009-04-14 2014-04-01 Qualcomm Incorporated Efficient transcoding of B-frames to P-frames
US8315310B2 (en) * 2010-01-08 2012-11-20 Research In Motion Limited Method and device for motion vector prediction in video transcoding using full resolution residuals
US20110170608A1 (en) * 2010-01-08 2011-07-14 Xun Shi Method and device for video transcoding using quad-tree based mode selection
US8358698B2 (en) * 2010-01-08 2013-01-22 Research In Motion Limited Method and device for motion vector estimation in video transcoding using full-resolution residuals
US8559519B2 (en) * 2010-01-08 2013-10-15 Blackberry Limited Method and device for video encoding using predicted residuals
US8340188B2 (en) * 2010-01-08 2012-12-25 Research In Motion Limited Method and device for motion vector estimation in video transcoding using union of search areas
US8553763B2 (en) 2010-06-10 2013-10-08 Sony Corporation Iterative computation of adaptive interpolation filter
CN103098464A (zh) * 2010-08-04 2013-05-08 Nxp股份有限公司 在频域中具有下采样的视频解码器
WO2012016354A1 (en) * 2010-08-04 2012-02-09 Nxp B.V. Video player
JP5709492B2 (ja) * 2010-12-01 2015-04-30 三菱電機株式会社 画像符号化方式変換装置および画像符号化方式変換プログラム
US8914534B2 (en) 2011-01-05 2014-12-16 Sonic Ip, Inc. Systems and methods for adaptive bitrate streaming of media stored in matroska container files using hypertext transfer protocol
CN102118616A (zh) * 2011-02-24 2011-07-06 深圳市同洲电子股份有限公司 图片解码方法及图片解码器
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
US9467708B2 (en) * 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
US8818171B2 (en) 2011-08-30 2014-08-26 Kourosh Soroushian Systems and methods for encoding alternative streams of video for playback on playback devices having predetermined display aspect ratios and network connection maximum data rates
KR101928910B1 (ko) 2011-08-30 2018-12-14 쏘닉 아이피, 아이엔씨. 복수의 최대 비트레이트 레벨들을 사용하여 인코딩된 비디오를 인코딩하고 스트리밍하기 위한 시스템들 및 방법들
KR20140016760A (ko) * 2012-07-31 2014-02-10 삼성전자주식회사 영상 처리 장치 및 영상 처리 방법
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
US9432614B2 (en) 2013-03-13 2016-08-30 Qualcomm Incorporated Integrated downscale in video core
KR102085270B1 (ko) * 2013-08-12 2020-03-05 삼성전자 주식회사 가장 작은 왜곡 값을 갖는 해상도를 선택하는 이미지 처리 방법과 상기 방법을 수행하는 장치들
US10009069B2 (en) 2014-05-05 2018-06-26 Nxp B.V. Wireless power delivery and data link
US10015604B2 (en) 2014-05-05 2018-07-03 Nxp B.V. Electromagnetic induction field communication
US9812788B2 (en) 2014-11-24 2017-11-07 Nxp B.V. Electromagnetic field induction for inter-body and transverse body communication
US9819395B2 (en) 2014-05-05 2017-11-14 Nxp B.V. Apparatus and method for wireless body communication
US9819075B2 (en) 2014-05-05 2017-11-14 Nxp B.V. Body communication antenna
US10014578B2 (en) 2014-05-05 2018-07-03 Nxp B.V. Body antenna system
US9819097B2 (en) 2015-08-26 2017-11-14 Nxp B.V. Antenna system
US10320086B2 (en) 2016-05-04 2019-06-11 Nxp B.V. Near-field electromagnetic induction (NFEMI) antenna
US10148989B2 (en) 2016-06-15 2018-12-04 Divx, Llc Systems and methods for encoding video content
US10390015B2 (en) * 2016-08-26 2019-08-20 Qualcomm Incorporated Unification of parameters derivation procedures for local illumination compensation and cross-component linear model prediction
CN110620635A (zh) * 2018-06-20 2019-12-27 深圳市华星光电技术有限公司 解码方法、设备及可读存储介质
CN113519164A (zh) 2019-03-02 2021-10-19 北京字节跳动网络技术有限公司 对分割结构的限制
EP3928524A4 (en) 2019-04-15 2022-06-22 Beijing Bytedance Network Technology Co., Ltd. TIME PREDICTION OF PARAMETERS IN A NONLINEAR ADAPTIVE LOOP FILTER
KR20210145749A (ko) 2019-04-16 2021-12-02 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩을 위한 적응형 루프 필터링
CN113711604B (zh) 2019-04-20 2023-10-27 北京字节跳动网络技术有限公司 视频编解码中色度和亮度语法元素的信令
CN115567707A (zh) 2019-05-30 2023-01-03 抖音视界有限公司 色度分量的自适应环路滤波
US11765366B2 (en) 2020-05-07 2023-09-19 Blackmagic Design Pty Ltd Method for processing transform coefficients

Family Cites Families (16)

* 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
JPH11275592A (ja) * 1998-01-22 1999-10-08 Victor Co Of Japan Ltd 動画像符号列変換装置及びその方法
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
WO2001052550A1 (en) * 2000-01-12 2001-07-19 Koninklijke Philips Electronics N.V. Image data compression
US6647061B1 (en) * 2000-06-09 2003-11-11 General Instrument Corporation Video size conversion and transcoding from MPEG-2 to MPEG-4
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
US20070036218A1 (en) * 2003-04-17 2007-02-15 Koninklijke Philips Electronics N.V. Groenewoudseweg 1 Video transcoding
US20050132264A1 (en) * 2003-12-15 2005-06-16 Joshi Ajit P. System and method for intelligent 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
US20060140274A1 (en) * 2004-12-29 2006-06-29 Mediatek Incorporation Transcoder and method used therein

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110110855A (ko) * 2009-02-05 2011-10-07 톰슨 라이센싱 적응형 모드 비디오 인코딩 및 디코딩 방법 및 장치

Also Published As

Publication number Publication date
US20070058713A1 (en) 2007-03-15
BRPI0616034A2 (pt) 2011-06-07
EP1915869A1 (en) 2008-04-30
JP2009508452A (ja) 2009-02-26
WO2007033346A1 (en) 2007-03-22
CN101263717A (zh) 2008-09-10
CA2621428A1 (en) 2007-03-22

Similar Documents

Publication Publication Date Title
KR101279755B1 (ko) 효율적인 통합 디지털 비디오 트랜스코딩
KR20080055826A (ko) 임의 해상도 변경 다운사이징 디코더
JP5378791B2 (ja) 適応補間を使用する映像符号化及び復号化の方法と装置
KR102244926B1 (ko) 채도 qp 값의 확장된 범위
KR102143663B1 (ko) 디블록킹에서 채도 양자화 파라미터 오프셋을 사용하는 기법
JP4633417B2 (ja) ビットストリーム制御後処理フィルタリング
US7602851B2 (en) Intelligent differential quantization of video coding
JP5442568B2 (ja) スキップマクロブロックコード化
US7782955B2 (en) Transcoder and transcoding method operating in a transform domain for video coding schemes possessing different transform kernels
JP4425563B2 (ja) フェーディング補償のためのパラメータ化
KR20050062835A (ko) 움직임 벡터 추정방법 및 부호화 모드 결정방법
JP2006518568A (ja) ビデオ符号化
JP2005236584A (ja) 動画像情報変換符号化装置
JP2003153272A (ja) 画像符号化方法及びその装置と、画像符号化プログラム及びそのプログラムを記録した記録媒体

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid