KR20060045719A - 고충실도 트랜스코딩 - Google Patents

고충실도 트랜스코딩 Download PDF

Info

Publication number
KR20060045719A
KR20060045719A KR1020050031134A KR20050031134A KR20060045719A KR 20060045719 A KR20060045719 A KR 20060045719A KR 1020050031134 A KR1020050031134 A KR 1020050031134A KR 20050031134 A KR20050031134 A KR 20050031134A KR 20060045719 A KR20060045719 A KR 20060045719A
Authority
KR
South Korea
Prior art keywords
format
video
compressed
transcoder
transcoding
Prior art date
Application number
KR1020050031134A
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 KR20060045719A publication Critical patent/KR20060045719A/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/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
    • EFIXED CONSTRUCTIONS
    • E06DOORS, WINDOWS, SHUTTERS, OR ROLLER BLINDS IN GENERAL; LADDERS
    • E06CLADDERS
    • E06C1/00Ladders in general
    • E06C1/02Ladders in general with rigid longitudinal member or members
    • E06C1/04Ladders for resting against objects, e.g. walls poles, trees
    • E06C1/08Ladders for resting against objects, e.g. walls poles, trees multi-part
    • E06C1/10Sections fitted end to end
    • EFIXED CONSTRUCTIONS
    • E06DOORS, WINDOWS, SHUTTERS, OR ROLLER BLINDS IN GENERAL; LADDERS
    • E06CLADDERS
    • E06C7/00Component parts, supporting parts, or accessories
    • E06C7/08Special construction of longitudinal members, or rungs or other treads
    • EFIXED CONSTRUCTIONS
    • E06DOORS, WINDOWS, SHUTTERS, OR ROLLER BLINDS IN GENERAL; LADDERS
    • E06CLADDERS
    • E06C7/00Component parts, supporting parts, or accessories
    • E06C7/50Joints or other connecting parts
    • E06C7/505Anchors being adapted to fix a ladder to a vertical structure, e.g. ladder hooks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/527Global motion vector estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/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/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search

Abstract

고충실도(high-fidelity) 트랜스코딩(transcoding) 기술이 기술되었다. 예를 들어, 비디오 트랜스코더(transcoder)는 소스 포맷으로 압축된 비디오에 대한 리코딩(re-coding)된 데이터 세트 요소를 획득하고 상기 비디오를 타깃 포맷으로 압축시에 코딩 결정(coding decision)에 대한 요소들 및/또는 동등 매개변수(parameter)를 사용한다. 이것은 구문 요소(syntax element)와 코딩 결정이 상기 두 포맷에 걸쳐 유지되도록 하는데 이에는 영상 유형(picture type), 인트라/인터 매크로블록 코딩 유형(intra/inter macroblock coding type), 필드/프레임 코딩 결정 및/또는 양자화 수준(quantization level)을 포함한다. 이는 트랜스코더가 트랜스코딩 손실을 줄이면서 소스와 타깃 포맷 간의 압축된 비디오의 화질을 부합하도록 한다. 동시에, 트랜스코더는 타깃 포맷 인코더에 전체 비트율(bitrate)을 줄일 수 있는 추가적인 압축을 할 수 있는 기회를 준다. 트랜스코더는 고정이나 상대적으로 고정 비트율로 출력을 제작하기 위해 비례율 제어(proportional rate control)를 적용할 수 있다.
트랜스코딩, 고충실도, 리코딩

Description

고충실도 트랜스코딩{HIGH-FIDELITY TRANSCODING}
도 1은 기술된 실시예가 구현될 수 있는 적절한 컴퓨팅 환경의 블록도.
도 2는 기술된 실시예가 구현될 수 있는 비디오 트랜스코더의 블록도.
도 3은 트랜스코더에 대한 DMO 아키텍처의 블록도.
도 4는 도 3의 트랜스코더를 통합한 필터 그래프의 블록도.
도 5는 타깃 포맷으로 트랜스코딩시 소스 포맷 압축된 비디오에 대한 리코딩 데이터 세트(re-coding data set)를 획득하고 사용하기 위한 기술을 도시하는 흐름도.
도 6은 타깃 포맷으로 트랜스코딩시 소스 포맷 압축된 비디오에 대한 양자화수준을 획득하고 사용하기 위한 기술을 도시하는 흐름도.
도 7은 트랜스코딩시 비율 제어에 대한 기술을 도시하는 흐름도.
도 8은 일 구현에서 비례율 제어 메커니즘에 대한 블록도.
도 9는 또 다른 구현에서 비례율 제어 메커니즘에 대한 의사코드(pseudocode) 목록.
< 도면의 주요 부분에 대한 부호 설명 >
205 : 소스 포맷 압축된 비디오
210 : 소스 포맷 디코더 및 비트열 파서
213 : 미리 보기 위한 디코드된 비디오
215 : 트랜스코딩을 위한 디코드된 비디오
217 : 리코딩 데이터 세트 요소들
220 : 리코딩 데이터 세트 프로세서
230 : 타깃 포맷 인코더
232 : 인코더
234 : 인코더 제어 모듈
235 : 타깃 포맷 압축된 비디오
고충실도 트랜스코딩 기술이 기술되었다. 예를 들어, 비디오 트랜스코더(transcoder)는 소스 포맷으로 압축된 비디오로부터 구문 요소들(syntax elements)을 추출하고 상기 비디오를 타깃 포맷으로 압축시에 코딩 결정(coding decision)을 위해 상기 구문 요소들을 사용한다.
인터넷을 통한 DVD와 비디오 전송의 도입으로, 디지털 비디오는 흔한 것이 되었다. 엔지니어는 여전히 화질은 유지하면서 효율적으로 비디오를 처리하는 다양한 기술을 사용한다. 이런 기술들을 이해하기 위해, 어떻게 컴퓨터 내에서 비디오 정보가 표현되고 처리되는지 이해하는 것이 도움이 된다.
I. 컴퓨터 내의 비디오 정보 표현
컴퓨터는 정보를 표현하는 일련의 숫자로 비디오 정보를 처리한다. 단 하나의 숫자는 전형적으로 한 개 영상의 하나의 영상 요소("픽셀")에 대해 세기를 표현한다. 샘플의 깊이, 해상도 및 프레임율을 포함한 여러 인자가 비디오 정보의 화질에 영향을 준다.
샘플 깊이(또는 정밀도)는 샘플을 표현하는데 사용되는 숫자들의 범위를 나타낸다. 샘플에 대해 더 많은 숫자가 가능하면, 그 숫자가 더 미세한 세기 변화를 잡을 수 있기 때문에, 화질이 더 높다. 더 높은 해상도를 가진 비디오는 다른 비디오보다 더 또렷하게 보이는 경향이 있고 더 높은 프레임율을 가진 비디오는 다른 비디오보다 더 부드럽게 보이는 경향이 있다. 모든 이들 인자들에 대해, 높은 화질을 위한 트레이드오프(tradeoff)는 표 1에 도시된 것과 같은 정보의 저장 및 전송비용이다.
표 1: 미가공 비디오의 다른 화질 수준에 대한 비트율
픽셀별 비트 해상도 프레임율 비트율
8(값 0-255) 160x120 픽셀 7.5 1.2 Mbit/s
24(값 0-16,777,215) 240x176 픽셀 15 15.2 Mbit/s
24(값 0-16,777,215) 352x288 픽셀 30 73 Mbit/s
HDTV에 사용된 것과 같은 고해상 포맷은 미가공 비디오에 대해 더 많은 비트율을 사용한다. 높은 비트율에도 회사와 소비자는 비디오 콘텐츠를 생성, 편집, 배포 및 재생하기 위해 컴퓨터에 점점 더 의지한다. 이런 이유로 엔지니어는 디지 털 비디오의 비트율을 줄이기 위해 압축(compression)(코딩(coding) 또는 인코딩(encoding)으로 불리기도 함)을 사용한다. 압축은 정보를 더 낮은 비트율 형태로 변환해서 정보의 저장과 전송 비용을 줄인다. 압축해제(decompression)(디코딩(decoding)이라고 불리기도 함)는 압축된 형태로부터 원 정보를 복원한다. 압축의 두 부류는 손실이 없는 것과 손실이 있는 것이다.
손실이 없는 압축은 중복을 줄여서 정보의 비트율을 줄이는 것이다. 예를 들어, 10개의 빨강 픽셀 시리즈는 압축되어 "빨강"과 10이라는 숫자에 대한 코드로 표현되고, 그 시리즈는 압축해제로 완전히 복원될 수 있다. 손실이 없는 압축은 화질에 대해 아무 대가 없이 비트율을 줄이나 일정한 정도까지만 줄일 수 있다. 비트율 감소는 정보의 복잡도에 의해 제한된다. 엔트로피 코딩은 손실이 없는 압축의 다른 말이다.
이에 대비해, 손실이 있는 압축으로는 화질은 손상되나 비트율이 더 극적으로 준다. 예를 들어, 각각 약간 다른 빨강 색조의 10개 픽셀 시리즈는 동일한 "빨강" 색을 가진 10개의 픽셀로 근사가 된다. 손실이 있는 압축은 화질을 더 줄여서 비트율을 줄이나 잃어버린 화질은 다시 복원될 수 없다. 손실이 있는 압축은 자주 손실이 없는 압축과 함께 사용된다(손실이 있는 압축은 비디오의 화질과 복잡도를 줄이고, 이는 후속의 손실이 없는 압축에서 더 큰 비트율 감소를 가능하게 함). 예를 들어, 각각 약간 다른 빨강 색조의 10개 픽셀 시리즈는 "빨강"과 숫자 10으로 압축된 코드로 표현된다. 압축해제에서, 원래 시리즈는 동일한 "빨강" 색을 가진 10 개의 픽셀로 복원된다.
여러 국제적인 표준이 비디오 압축, 압축해제 및 압축된 비디오 구문을 도입한다. 이것들은 MPEG-1, MPEG-2, MPEG-4, H.261, H.262, H.263 및 H.264/AVJ/JVT의 여러 버전을 포함한다. 이런 표준 외에도, 여러 회사가 비디오 압축과 압축해제 제품을 제공해 왔다. 이것들은 Microsoft Corporation의 Windows Media Video 도구의 여러 버전을 포함한다. 이런 표준과 제품들 각각은 손실이 있는 것과 손실의 없는 기술의 다른 조합을 사용한다.
과거에는 방송과 유선 사업이 비디오 콘텐츠의 입수, 기고, 생산과 전송을 위해 여러 종류의 MPEG-2(및 MPEG-1)을 채택해 왔다. 그 결과, 특히 많은 양의 MPEG-2 포맷의 콘텐츠를 물려받았다. 압축 포맷으로, MPEG-2는 WMV 버전 9("WMV9")와 같은 더 최근의 포맷과 비교했을 때, 특별히 효율적인 것은 아니다. 점점 이 산업계들은 방송에서 백업, 셋톱 박스로의 주문형 비디오 전송, 역전송 (transmission backhauling) 및 고해상도 비디오의 브라우저 프록시의 생성과 같은 배포작업으로 응용과 방송 제작을 위한 WMV9의 코딩 효율과 WMV9의 다기능에 매료되었다. 이런 산업에 대한 문제는 어떻게 효율적으로 물려받은 MPEG-2 콘텐츠를 더 효율적인 처리와 배포를 위해 전환할 수 있느냐이다.
II. 트랜스코딩
다른 장치와 최종 사용자는 다른 화질 요구뿐만 아니라 다른 저장과 전송 능력을 갖는다. 또, 다른 장치와 최종 사용자는 다른 압축 포맷을 사용할 수 있다. 일반적으로, 트랜스코딩은 하나의 비트율, 화질 또는 포맷의 압축된 정보를 다른 비트율, 화질 및 포맷의 압축된 정보로 변환한다. 다른 트랜스코딩은 다른 기술을 사용한다.
동종 트랜스코더(homogeneous transcoder)는 트랜스코딩 중 압축해제와 압축에 양쪽에 대해 동일한 포맷을 사용하는데, 예를 들어, 높은 비트율 MPEG-2 압축 비디오를 더 낮은 비트율 MPEG-2 압축 비디오로 변환하는 것이다. 이종 트랜스코더(heterogeneous transcoder)는 압축해제와 압축에 대해 다른 포맷을 사용하는데, 예를 들어, MPEG-2 압축 비디오를 H.261 압축 비디오로 변환하는 것이다. 이종 트랜스코더의 기술을 위해, 예를 들어, 샤나블러(Shanableh)등의 "Transcoding of Video into Different Encoding Formats" 문을 보라.
일부 트랜스코더는 압축된 정보를 전체 압축해제한 후 상기 정보를 완전히 압축한다. 단순 트랜스코딩(naive transcoding)은 압축해제와 재압축 단계를 직렬로 한다. 다른 트랜스코더는 오직 부분적으로 압축된 정보를 압축해제하고 압축해제된 정보를 재압축하고 다른 여전히 압축되어 있던 요소는 전달한다. SMPTE(The Society of Motion Picture and Television Engineers)는 압축된 MPEG-2 비디오를 압축된 MPEG-2 비디오로 트랜스코딩 하는데 사용하기 위한 정보를 지정한 표준을 만들었다. 이 표준은 MPEG-2 구문 요소(syntax element)와 압축된 MPEG-2 비디오를 압축된 MPEG-2 비디오로 동일 또는 다른 비트율로 트랜스코딩을 하기 위한 관련된 유도 매개변수를 나열한다. SMPTE의 "SMPTE 327M-2000-MPEG-2 Video Recoding Dta Set" 9 페이지(2000년 1월)를 보라. 부분 압축해제 트랜스코더는 트랜스코딩 처리의 복잡도를 줄이기 위해, 제2압축에서 코딩 모드 결정(coding mode decision) 과 움직임 추측(motion estimation)과 같은 자원 집약적인 동작을 피해 압축된 정보를 재사용한다.
압축해제 후, 비디오는 재표본추출, 재양자화 또는 다른 처리가 될 수 있다. 이것은 어떤 때에 비트율을 줄이거나 포맷 호환성을 확보하기 위해 필요하지만, 그런 처리가 제2압축과 관련되어 필요로 하는 손실이상의 트랜스코딩 손실을 야기할 수 있다. 예를 들어, 73 Mbits/s 비디오가 4 Mbits/s MPEG-2 비디오로 압축되고 다음에 2.8 Mbits/s H.261 비디오로 트랜스코드가 되었다고 가정하자. 트랜스코딩 손실은 트랜스코드된 H.261 비디오의 화질이 직접 2.8 Mbit/s H.261 비디오로 압축된 73 Mbit/s 비디오의 화질보다 더 나쁘게 할 수 있다.
단순 트랜스코딩은 큰 트랜스코딩 왜곡(distortion)을 자주 유도하는데 심지어 동일한 포맷으로의 트랜스코딩 시에도 그렇다. 트랜스코딩 통과시마다 화질 손실은 (피크 신호대 잡음 신호("PSNR")로 표현해) 대략 1-2 dB이다. 연결된 트랜스코딩은 각 단계에서 영상 화질의 손실을 발생시키고 몇 번의 변환 후 비디오 화질은 받아들일 수 없을 정도 일수도 있다. 심지어 5dB의 손실은 약한 복잡도의 방송제작체인에서도 흔하다. 더구나, 반복적인 양자화 처리는 개개의 양자화 패널티(penalty)의 합을 넘는 전체적인 재양자화 패널티에 이를 수 있다.
부분 압축해제에 관한 더 많은 정보를 위해선, 예를 들어 (1) 아순카오(Assuncao) 등의 "Transcoding of Single-Layer MPEG Video Into Lower Rates" 및 (2) 니스만(Keesman) 등의 "Trancoding of MPEG Bitstreams" 논문을 보라. 압축된 정보로부터 구문 요소도 사용해 제2 압축에서 코딩 결정에 영향을 주 는 트랜스코더에 대한 더 많은 정보에 대해선, 예를 들어 (3) 니(Knee) 등의 "Steamless Concatenation-A 21st Century Dream", (4) 선(Sun) 등의 "Architectures for MPEG Compressed Bitstream Scaling" 및 (5) 투도르(Tudor)등의 "Real-Time Transcoding of MPEG-2 Video Bit Streams" 논문을 보라. 양자화를 바꿔서 비트율을 낮추는 트랜스코더에 대한 기술은 참고문헌 (3), (4) 및 (5)와 함께 (6) 아순카오(Assuncao) 등의 "Buffer Analysis and Control in CBR Video Transcoding"을 보라. 트랜스코딩 내의 비율 제어를 위한 기술은 예를 들어, 참고문헌 (5)와 (6)을 보라.
이전 트랜스코더의 장점이 무엇이든 간에, 이들은 본 발명의 여러 다른 측면의 장점을 가지지 못한다. 특히, 위에서 언급한 참고문헌은 동종 트랜스코딩 솔루션에 주로 집중해서, 이종 트랜스코딩 솔루션에 대한 필요를 무시한다. 또, 참고문헌은 트랜스코딩 내에서 압축된 정보의 재사용을 논하는 곳에서, 그들은 전형적으로 트랜스코딩 복잡도를 줄이기 위한 재사용만을 강조한다. 몇 개의 참고문헌은 화질 손실을 줄이는 관점에서 재사용을 논하나, 트랜스코딩에서 제2압축 단계의 압축효율을 개발하면서 어떻게 효율적으로 정보를 재사용하는지는 보여주지 않는다. 무엇보다도,이전 트랜스코더가 비트율을 줄이게 하는 정도까지 화질이 견뎠고, 이전 트랜스코더가 화질을 보존하는 내에서는 비트율의 감소가 없다. 이전 비디오 트랜스코더는 실질적으로 화질을 보존도 하고 실질적으로 비트율도 줄이는 방식으로 트랜스코드를 하지 않았다.
요약하면, 고충실도 트랜스코딩을 위한 여러 전략이 기술된다. 이 전략으로, 예를 들어, 비디오 트랜스코더는 실질적으로 화질을 보전하면서도 비트율을 줄이는 방식으로 소스 포맷으로부터의 비디오를 타깃 포맷으로 트랜스코드 한다. 이 전략들은 조합하거나 개별적으로 사용될 수 있다.
제1전략에 따라, 도구(tool)가 비디오를 소스 포맷으로부터 타깃 포맷으로 동일하거나 더 낮은 비트율로 트랜스코드 한다. 도구는 소스 포맷의 압축된 비디오를 압축해제하고 압축된 비디오의 다중 유닛(multi unit)에 대해 유형 값(type value)을 획득한다. 상기 유형 값은 영상 유형 값, 매크로블록 코딩 유형 값 및/또는 다른 정보일 수 있다. 도구가 비디오를 재압축할 때, 도구는 최소한 부분적으로라도 상기 획득한 유형 값에 기반해 일부 코딩 결정들을 해서 상기 도구가 타깃과 소스 포맷의 압축된 비디오 사이에 화질을 부합하는데 도움이 된다. 도구는 독립적으로 다른 코딩 결정을 만들어서 타깃 포맷의 압축 효율을 이용해서 비트율을 줄인다.
제2전략에 따르면, 도구는 압축된 비디오를 한 형태에서 압축해제하고 압축된 비디오에 대해 양자화 수준을 획득한다. 도구가 비디오를 또 다른 포맷으로 재압축할 때, 도구는 획득한 양자화 수준에 비교할만한 정도로 비디오를 양자화해서 양 포맷의 압축된 비디오 간의 화질 차이를 줄인다. 동시에, 제2포맷의 압축효율은 실질적으로 비트율을 줄인다.
제3전략에 따르면, 도구는 제1포맷의 압축된 비디오를 압축해제하고 비디오를 다시 압축한다. 도구는 제2포맷 인코더를 단일 가변 비트율 인코딩(one-pass variable bitrate encoding)과 함께 사용하나, 압축 매개변수를 조정해서 고정 또는 상대적으로 고정 비트율로 제2포맷 압축된 비디오를 제작한다.
본 발명의 이들과 다른 특징과 장점이 다음의 첨부된 도면을 참고해 계속되는 실시예의 상세한 설명으로 명백해화질 것이다.
기술된 실시예는 고충실도 트랜스코딩을 위한 기술과 도구들에 관한 것이다. 예를 들어, 비디오 트랜스코더는 제1 손실이 있는 포맷으로부터 제2손실이 있는 압축 포맷으로 비디오의 고충실도 변환을 수행한다. 이것은 트랜스코딩 손실을 줄이고 실질적인 화질을 보존하며 두 포맷 간의 상호운용(interoperability)을 가능하게 한다. 동시에, 제2포맷의 압축 효율은 출력 비트율이 입력 비트율보다 실질적으로 낮게 된다.
중요한 관찰은 단순 코딩하는 동안 영상마다 사용된 비트의 수를 비교해서 나온다. 단순 트랜스코딩에서의 화질 손실은 동일한 영상을 다른 두 압축 포맷으로 압축하는데 사용되는 비트수의 불일치로부터 부분적으로 기인한다. 영상의 재압축을 위해 너무 적은 비트가 사용될 때, 도입되는 추가적인 왜곡이 증가하고 화질 손실은 후속 영상에 영향을 줄 수 있다. 예를 들어, 영상이 후속 영상을 위한 움직임 압축에 대한 참조 영상으로 사용되면, 트랜스코더는 예측되는 영상을 위한 예측 오차(prediction residual)를 인코딩하는데 추가적인 비트를 사용해서 상기 참조 영상의 화질 손실을 보상해야만 한다. 반면에, 영상의 재압축을 위해 너무 많은 비트를 사용하면, 보존된 "화질" 인간이 볼 수 있는 가시성 임계치 (visiblity threshold)보다 상당히 밑이어서 그렇지 않았다면 다른 영상을 위해 사용될 수 있는 비트가 낭비된다. 진행성의 비트 부족 문제가 생기거나 악화하여 잠재적으로 후속 영상의 화질을 해칠 수 있다.
재압축을 위해 어떻게 비트를 효율적으로 사용하는지를 결정할 때, 여기에 기술된 다양한 기술과 도구는 소스 포맷 압축된 비디오로부터 또는 그에 관한 정보를 사용한다. 그 정보는 소스 포맷 압축 비디오의 디코딩하는 동안이나 다른 소스로부터 획득하거나 유도될 수 있다. 트랜스코더 내의 규칙은 타깃 포맷 구문 요소를 어떻게 사용해서 소스 포맷 정보에 기반해 코딩 결정을 만드는지를 정의한다. 결과적으로, 트랜스코드된 영상의 화질은 실질적으로 소스 포맷 압축 영상의 화질과 부합한다. 타깃 포맷으로 영상을 압축하기 위해 사용되는 비트의 수는 비트율 상의 임의의 전체 차이를 조정한 후에, 대략 소스 포맷으로 동일한 영상을 압축하는데 사용되는 비트의 수를 따라간다.
일부 실시예에 있어, 트랜스코더는 리인코딩 동안 힌트(트랜스코딩 규칙으로 구현됨)와 같은 소스 포맷 구문 요소와 같은 정보를 사용한다. 이것은 특정 해당 구문 요소와 코딩 결정이 두 압축 포맷에 걸쳐서 유지되도록 한다. 이전 화질 수준 매우 아래로 영상을 압축하지 않아서 (예를 들어, 너무 개략(coarse) 양자화에 의한) 트랜스코더는 새 인공물(artifact)의 도입 위험을 줄인다. 트랜스코더는 또 잡음을 인코드하거나 가시성 임계치 아래로 화질을 유지하기 위해 비트를 할당하는 것을 피한다. 원래 인코더가 손실이 있는 압축으로 비트를 절약한 영역에서, 트랜스코딩의 화질은 더 낮아지는데 왜냐하면, 더 높은 화질의 트랜스코딩은 원래 콘텐 츠에 대한 충실도(fidelity)를 향상시키지 않고 대신에 양자화 잡음을 도입하거나 제1 인코딩에서 도입된 양자화 잡음을 증폭시키기 때문이다. 그래서, 트랜스코드된 비디오는 허용치 내에서 들어오는 비디오의 화질과 비트율을 따른다.
일부 실시예에 있어, 트랜스코더는 타깃 포맷 인코더가 타깃 포맷으로 압축된 해당 영상에 대해 소스 포맷 압축 비디오로부터 영상 포맷 유형(예를 들어, I, P 또는 B)을 사용하도록 한다. 이것은 트랜스코더가 소스와 타깃 포맷 간의 압축된 비디오 화질을 부합하는데 도움이 되고 또한 고속 포워드(fast forward), 고속 리버스(fast reverse) 및 다른 액세스 기능성도 도울 수 있다. 일부 실시예에서, 트랜스코더는 소스 포맷 압축 비디오로부터 인트라/인프라 매크로블록 코딩 유형을 사용한다. 또는 트랜스코더는 필드/프레임 코딩 결정 정보를 소스 포맷 압축 비디오로부터 사용한다. 이런 기술은 또한 트랜스코더가 소스와 타깃 포맷 간에 압축된 비디오의 화질을 부합하게 돕는다. 동시에, 트랜스코더는 타깃 포맷 인코더에 전체 비트율을 줄이기 위한 추가적인 압축 기회를 준다.
일부 실시예에서, 트랜스코더는 소스 포맷 압축 비디오의 양자화 수준을 타깃 포맷 압축 비디오에 매핑한다. 예를 들어, 트랜스코더는 매크로블록 계층 양자화 수준을 타깃 포맷 압축 비디오의 해당 매크로블록으로 매핑한다. 포맷이 MPEG-2와 WMV9이면, 트랜스코더는 WMV9의 차동 양자화기 신호 메커니즘(differential quantizer signaling mechanism)을 사용해 MPEG-2 양자화 수준을 WMV9 매크로블록에 매핑할 수 있다.
일부 실시예에서, 트랜스코드는 외부, 비례율 제어를 비디오 인코더의 단방 향 가변 비트율 모드에 고정 또는 상대적으로 고정 비트율의 출력을 제작한다. 이것은 트랜스코더가 고정 또는 상대적으로 고정 비트율 모드로 동작하도록 한다.
여러 예시적인 구현에서, 비디오 트랜스코더는 MPEG-2 코드 비디오를 WMV9 코드 비디오로 고충실도 변환을 수행하는데 비트율이 전형적인 시퀀스에 대해 20-30% 감소한다. 이 트랜스코더는 영상과 매크로블록 유형을 보존하고 양자화 수준을 트랜스코딩 손실을 줄이기 위해 주의해서 매핑한다. 트랜스코딩은 특히 MPEG-2가 주요 포맷이었던 고화질 비디오의 제작자와 방송국들에 유용하다. 다른 애플리케이션들은 소비자 장치의 한 유형(예를 들어, PC상의 MPEG-2)과 다른 소비자 장치의 유형(예를 들어, 랩톱 상의 WMV9)을 위해 사용되는 포맷 간의 트랜스코딩과 관련 있다.
이에 대신해, 트랜스코더는 MPEG-2에서 WMV9로의 변환 외의 다른 것을 수행한다. 예를 들어, 트랜스코더는 MPEG-2와 H.264, MPEG2와 VC-9, 또는 다른 비디오 포맷 짝 사이에 변환한다. 또는, 트랜스코더는 비디오 외의 정보를 변환한다. 비디오 트랜스코더 외의 처리 도구는 하나 이상의 상기 기술들을 구현할 수 있다.
여기에선 여러 트랜스코딩 기술이 하나의 통합된 시스템의 부분으로 기술되었지만, 이 기술들은 분리해서, 잠재적으로 다른 기술과 결합해서 적용될 수 있다. 더구나, 여러 기술에 대해 동작이 표현을 위해 특별히 순차적인 순서로 기술되었으나 특정 순서가 필요한 경우가 아니면 이 기술방식은 동작순서에 있어 덜 중요한 재배열을 포함한다는 것이 이해되어야 한다. 예를 들어, 순차적으로 기술된 동작들은 일부 경우에 재배열 또는 동시에 수행될 수 있다. 더구나, 단순화를 위해, 흐름도는 특정 기술이 다른 기술과 함께 사용되는 여러 방법을 보일 수 없을 수도 있다.
I. 컴퓨팅 환경
도 1은 기술된 실시예가 구현될 수 있는 적절한 컴퓨팅 환경(100)의 일반적인 예를 도시한다. 기술과 도구가 다양한 범용 목적이나 전용의 컴퓨팅 환경에서 구현될 수 있으므로, 컴퓨팅 환경(100)은 사용이나 기능성에 관해 임의의 한계를 제한하려는 의도는 아니다.
도 1을 계속 참조하여, 컴퓨팅 환경(100)은 최소 하나의 프로세싱 유닛(110)과 메모리(120)를 포함한다. 도 1에서, 이 가장 기본 구성(130)이 대쉬선 내에 포함된다. 프로세싱 유닛(110)은 컴퓨터 실행 가능 명령어들을 실행하고 실제 또는 가상 프로세서일 수 있다. 다중 프로세싱 시스템에서, 다중 프로세싱 유닛은 컴퓨터 실행 가능 명령어들을 실행해서 처리 능력을 늘린다. 메모리(120)는 휘발성 메모리(예를 들어, 레지스터, 캐쉬, RAM), 비휘발성 메모리(예를 들어, ROM, EEPROM, 플래시 메모리 등)이나 이 둘의 조합일 수 있다. 메모리(120)는 고충실도 트랜스코딩을 구현하는 소프트웨어(180)를 저장한다.
컴퓨팅 환경은 추가적인 특성을 가질 수 있다. 도 1에서, 컴퓨팅 환경(100)은 저장소(140), 하나 이상의 입력장치(150), 하나 이상의 출력장치(160) 및 하나 이상의 통신접속(170)을 포함한다. 버스, 컨트롤러나 네트워크와 같은 (도시되지 않은) 상호 접속 메커니즘은 컴퓨팅 환경(100) 내의 컴포넌트를 상호접속한다. 전형적으로, (도시되지 않은) 운영체제 소프트웨어는 컴퓨팅 환경(100) 내에서 실행 되고 있는 다른 소프트웨어를 위해 운영 환경을 제공하고 컴퓨팅 환경(100)의 컴포넌트의 동작을 조정한다.
저장소(140)는 착탈식 또는 비착탈식일 수 있고 자기 디스크, 자기 테이프나 카세트, CD-ROM, CD-RW, DVD 또는 다른 정보를 저장하는데 사용할 수 있고 컴퓨팅 환경(100) 내에서 접속할 수 있는 임의의 다른 매체를 포함한다. 저장소(140)는 소프트웨어(180)을 위한 명령어들을 저장한다.
입력장치(150)는 키보드, 마우스, 펜 또는 트랙볼과 음성 입력 장치, 스캐닝 장치나 컴퓨팅 환경(100)에 입력을 제공하는 다른 장치와 같은 접촉식 입력장치일 수 있다. 오디오나 비디오에 대해서, 입력 장치(150)는 사운드 카드, 비디오 카드, TV 튜너 카드 또는, 오디오나 비디오 입력을 아날로그나 디지털 형태로 받아들이는 유사한 장치, 또는 컴퓨팅 환경(100)으로 오디오나 비디오 샘플을 판독하는 CD-ROM이나 CD-RW일 수 있다. 출력장치(160)는 디스플레이, 프린터, 스피커, CD-기록기 또는 컴퓨팅 환경(100)으로부터 출력을 제공하는 다른 장치일 수 있다.
통신 접속(170)은 통신 매체를 통해서 다른 통신 개체로 통신을 가능하게 한다. 통신 매체는 컴퓨터 실행 가능 명령어들, 오디오나 비디오의 입력이나 출력, 또는 다른 변조된 데이터 신호와 같은 정보를 전달한다. 변조된 데이터 신호는 하나 이상의 특성 세트를 갖는 신호 또는 그 신호 안에 정보를 인코드하는 방식으로 변화한다. 예로서, 통신 매체는 전기적, 광학적, RF, 적외선, 음파 또는 다른 캐리어(carrier)로 구현되는 유선 또는 무선 기술을 포함하는데 이에 한정되는 것은 아니다.
기술과 도구는 컴퓨터 판독 가능 매체의 일반적으로 컨텍스트(context)로 기술될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터 내에서 접속가능한 임의의 사용가능한 매체이다. 예를 들어, 컴퓨터 환경(100)으로 컴퓨터 판독 가능 매체는 메모리(120), 저장소(140), 통신 매체 및 상기의 임의 조합을 포함하는데 이에 한정되는 것은 아니다.
기술과 도구는 일반적으로 프로그램 모듈에 포함되어 있는 타깃 실제나 가상 프로세서상의 컴퓨팅 환경 내에서 실행되는 컴퓨터 실행가능 명령어들의 콘택스트로 기술될 수 있다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 라이브러리, 오브젝트, 컴포넌트, 데이터 구조 등을 포함한다. 프로그램 모듈의 기능성은 여러 실시예에서 기술된 프로그램 모듈 간에서 조합되거나 분리될 수 있다. 프로그램 모듈에 대한 컴퓨터 실행 가능 명령어들은 국소적이거나 분산된 컴퓨팅 환경 내에서 실행될 수 있다.
명세서에서는 "결정한다", "생성한다", "조정한다" 및 "적용하다"와 같은 용어를 컴퓨팅 환경에서 컴퓨팅 동작을 기술하기 위해 사용한다. 이런 용어들은 컴퓨터에 의해 수행되는 높은 수준의 추상 개념이고 인간에 의해 행해지는 행위와 혼동되어서는 안 된다. 이런 용어들에 해당하는 실제 컴퓨터 동작은 구현에 따라 다르다.
II. 비디오 트랜스코더
도 2는 기술된 실시예가 구현될 수 있는 일반화된 비디오 트랜스코더(200)를 도시한다. 도 2의 트랜스코더(200)는 도 3에 도시된 것과 같이 DirectX Media Object("DMO")(300)로서 구현될 수 있다. DMO가 도 4의 시스템 필터 그래프(400)에 합체될 수 있다. 이 아키텍처는 트랜스코더의 통합을 단순화하고, 여러 소스 포맷 디코더 중 임의의 것을 사용하는 융통성을 제공하며 추가 기능성 추가를 단순화한다.
A. 일반화된 비디오 트랜스코더
트랜스코더(200)는 소스 포맷 디코더 및 비트열 파서(parser)(210), 리코딩 데이터 세트 프로세서(220)와 타깃 포맷 디코더(230)을 포함하는 여러 모듈을 갖고 있다. 트랜스코더(200) 내의 모듈 간의 도시된 관계는 트랜스코더(200) 내의 정보의 일반적인 흐름을 나타내는데, 다른 관계는 단순화를 위해 도시하지 않았다.
전체로, 트랜스코더(200)는 소스 포맷으로 압축된 비디오(205)를 받고, 이를 디코드하고, 이를 리인코더를 해서, 타깃 포맷으로 압축된 비디오(235)를 제작한다. 예를 들어, 소스 포맷이 MPEG-2이고 타깃 포맷이 WMV-9이나 다른 포맷 짝도 가능하다. MPEG-2에 대한 추가적인 자세한 사항에 관해, 여기 참고문헌으로 채택되어 게시된 MPEG2 표준(또한 H.262 표준으로 발표된 것)을 보라. WMV9에 대한 추가적인 자세한 사항에 관해, 여기에서 참고문헌으로 채택되어 게시된 2003년 7월 18일 출원된 미국 특허 출원 번호 60/488,710을 보라.
트랜스코더(200)는 비디오 영상을 처리하는데, 이것은 비디오 프레임, 비디오 필드 또는 프레임과 필드의 조합일 수 있다. 트랜스코더(200) 내의 압축해제와 압축은 블록 기반이고 4:2:0과 같은 컬러 포맷을 사용하는데 이 경우에 각 매크로블록("MB")은 4개의 8x8 휘도 블록(luminance block)(때때로, 하나의 16x16 MB으로 취급됨)과 2개의 8x8 색상 블록(chrominance block)을 포함한다. 또한, 압축과 압축해제는 오브젝트에 기반하고, 다른 MB나 블록 포맷을 사용하거나, 그렇지 않으면, 다른 사이즈나 구성의 일련의 픽셀 상에서 동작을 수행한다.
도 2를 참고해, 소스 포맷 디코더 및 비트열 파서(210)는 소스 포맷 압축된 비디오(205)를 수신한다. 디코더(210)는 비디오(205)를 디코드해서 트랜스코딩을 위해 디코드가 된 비디오(210)를 제작한다. 동일하거나 다른 디코드된 비디오는 최종 사용자에 의한 미리 보기(preview)를 위한 비디오(213)로 사용될 수 있다. 디코더(210)의 컴포넌트는 압축 포맷과 구현에 따라 변하나 전형적으로 엔트로피 디코더, 역 양자화기, 역 주파수 변환기 및 움직임 보상기를 포함한다. 디코더(210)는 비디오(205)를 완전히 압축해제해서 트랜스코딩을 위한 비디오(215)를 제작한다.
디코더(210)와 일체화되거나 분리되는 비트열 파서(210)는 상기 비디오를 리코딩하는데 사용되는 일련의 데이터 요소(217)를 추출한다. 예를 들어, 이 요소들은 영상 유형, MB 인트라/인터(intra/inter) 코딩 모드 및 프레임/필드 결정 정보를 포함한다. MPEG-2 구문 요소의 기술을 위해, 여기에서 참고문헌으로 채택되어 게시된 "SMPTE 327M-200-MPEG-2 Video Recoding Data Set"을 보라. 또, 일련의 데이터 요소(217)는 다른 및/또는 추가적인 요소를 포함한다. 리코딩 데이터 세트 프로세서(220)는 재압축을 제어할 때 사용하기 위해 상기 추출된 요소들을 처리하 고 포장한다.
타깃 포맷 인코더(230)는 비디오(215)를 타깃 포맷에 따라 리인코더한다. 타깃 포맷 인코더(230) 자체는 실제 압축을 수행하는 인코더 모듈(232)과 화질 및/또는 압축률을 조정하기 위한 인코더 제어 모듈(234)을 포함한다. 인코더 제어 모듈(234)은 요소를 소스 포맷 비디오로부터 인코더 모듈(232)을 위한 신호와 타깃 포맷 압축된 비디오를 위한 동일한 매개 변수로 번역한다. 인코더 모듈(232)은 압축된 비디오(235)를 타깃 포맷으로 제작하고 이것을 미리 보기를 위한 타깃 포맷 디코더 모듈로 향하거나 다른 피드백 목적을 위해 다른 모듈로 가게 한다. 인코더 모듈(232)의 컴포넌트는 압축 포맷과 구현에 의해 다르나 전형적으로 필요한 디코딩 컴포넌트뿐만 아니라 (표본 비율 변환(sample rate conversion), 필터링 등을 위한) 이미지 프리 프로세서, 움직임 추측기(motion estimator)/보상기(compensator), 주파수 변환기, 양자화기 및 엔트로피 인코더를 포함한다.
비디오 트랜스코더의 특별한 실시예는 일반화된 트랜스코더(200)의 변형 또는 보충 버전을 사용할 수 있다. 구현과 원하는 트랜스코딩 유형에 의존해서, 트랜스코더의 모듈이 더해짐, 생략됨, 다중 모듈로 분리됨, 다른 모듈과 결합됨 및/또는 같은 모듈로 대체될 수 있다. 다른 실시예에서, 다른 모듈 및/또는 모듈의 다른 구성을 갖는 트랜스코더는 하나 이상의 기술된 기술을 수행한다.
B. 트랜스코더의 내부 아키텍처
도 3은 DMO(300)의 내부구조를 도시한다. 전체적으로 DMO의 비디오 모듈(300)은 2개의 입력 핀과 하나의 출력 핀이 있다. 입력 핀은 압축이 안 된 비디오 (302)와 소스 포맷(예를 들어, MPEG-2) 압축된 비디오(304)를 위한 것이고, 출력 핀은 타깃 포맷(예를 들어, WMV9) 압축된 비디오(342)를 위한 것이다.
타깃 포맷 비디오 인코더(310)는 압축 안 된 비디오(302)를 수신해서 영상이 압축 준비가 되면 통지(notification)(312)를 소스 포맷 매개변수 파서(320)에 송신한다. 이 응답으로 인코더(310)는 코딩 결정을 만드는데 사용된 정보를 수신한다. 통지/반환(notification/return) 프로토콜은 컴포넌트 간이나 일부 다른 메커니즘과의 회수(callback) 기능으로 구현될 수 있다. 인코딩이 진행될수록, 비디오 코딩과 동기가 되어 정보가 몇 가지 영상으로부터 추출된다. 이 대신에, 트랜스코더는 다른 타이밍을 사용한다.
파서(320)는 해당 소스 포맷 압축된 비디오(304)를 수신해서 그것으로부터 구문 요소를 추출해서 소스 비디오 내의 비디오 영상에 관한 정보를 획득한다. 파서(320)는 압축된 비디오로부터 임의나 전체 매립된 구문 요소 및 파생된 요소를 추출한다. 예를 들어, 파서(320)는 SMPTE MPEG-2 리코딩 데이터 세트의 서브세트를 추출한다. 대신해, 파서(320)는 다른 및/또는 추가 요소를 추출한다. 구문 요소로부터, 파서(320)는 코딩 결정을 만들고 구문요소 및 코딩 결정을 매개변수화해서 인코더(310)로의 매개변수 반환(322)으로 해서 전달한다. 매개변수 반환(322)을 사용해서, 인코더(310)는 타깃 포맷 압축된 비디오를 제작한다.
분리된 경로에서, 타깃 포맷(예를 들어, WMA9) 오디오 인코더(330)는 압축된 비디오와 압축된 오디오를 인코더(310, 330)로부터 수신해서, 동기화된 출력으로 타깃 포맷 압축된 비디오(342) 및 타깃 포맷 압축된 오디오(344)를 제작한다.
큐 및 버퍼 관리 모듈(340)은 압축된 비디오와 압축된 오디오를 인코더 (310, 330)로부터 수신해서 동기화된 출력으로 타깃 포맷 압축된 비디오(342) 및 타깃 포맷 압축된 오디오(344)를 제작한다. 큐 및 버퍼 관리 모듈(340)은 비율 조정 목적으로 하나 이상의 버퍼를 포함할 수 있고 피드백을 인코더(310, 330)에 화질 및 비율을 조절하기 위해 제공할 수 있다.
C. 트랜스코더를 사용한 필터 그래프
도 4는 필터로서 트랜스코더를 위해 DMO(300)를 일체화한 필터 그래프 구현(400)을 도시한다. 전체적으로, 시스템은 오디오와 비디오의 트랜스코딩, 압축된 오디오와 비디오의 다중송신(multiplexing)과 최종 출력으로서 유효한 출력 포맷(예를 들어, ASF) 파일의 생성을 달성한다.
트랜스코딩 다중 송신된 소스 포맷(예를 들어, MPEG-2)파일을 입력으로 시작한다. 소스 포맷 소스 필터(410)는 네트워크 스트림(stream), 파일 등으로부터 재생되는 소스 포맷 비디오 스트림을 표현한다. 소스 포맷 스트림 분리기(420)는 소스 포맷 스트리밍을 압축된 오디오와 압축된 비디오 서브 스트리밍으로 분리하고 이를 TEE(430)로 하나의 핀을 통해 전달한다. TEE(430)는 출력 핀에서 받은 정보를 각 출력핀에 전달한다(상기 정보를 수신한 필터는 일부를 사용하고 나머지는 무시할 것이다).
소스 포맷 비디오 디코더(440)는 압축된 비디오 서브 스트림을 디코드하고 압축해제된 비디오를 제작한다. 소스 포맷(예를 들어, AES) 오디오 디코더(450)는 압축된 오디오 서브 스트리밍을 디코드하고 압축해제된 오디오를 제작한다.
트랜스코더(300)는 압축해제된 비디오와 압축해제된 오디오를 TEE(430)로부터의 미가공 출력을 수신하는데, 이에는 소스 포맷의 압축된 비디오 서브 스트림을 포함한다. 트랜스코더 필터(300)의 컴포넌트는 상술한 대로 동작해 타깃 포맷(예를 들어, WMV9) 압축된 비디오와 타깃 포맷(예를 들어, WMV9) 압축된 오디오를 제작한다. 기록기(writer)/MUX(490)는 이 압축된 정보를 헤더 정보와 함께 출력 포맷 파일로 결합하고 이를 저장 및/또는 전송한다.
필터 그래프(400)가 트랜스코드의 소프트웨어만으로의 구현을 표현할 수 있음에도, 다른 구현은 더 빠른 트랜스코딩의 기대되는 이점과 같이 트랜스코딩을 위해 하드웨어, 펌웨어 및 소프트웨어의 조합을 사용한다.
III. 유형 구문 요소 보존
일부 실시예에서는, 비디오 트랜스코더는 소스 포맷으로부터 타깃 포맷으로의 트랜스코딩 동안 영상 유형, MB 코딩 유형, 프레임/필드 코딩 결정 정보 및/또는 다른 정보를 보존한다. 트랜스코더는 타깃 포맷 압축시에 코딩 결정 및/또는 동등 매개변수 설정에 대한 정보를 사용한다. 이는 트랜스코더가 소스 포맷 압축된 비디오의 화질을 부합하도록 도와준다. 동시에, 트랜스코더는 타깃 포맷 인코더에 비디오에 대해 다양한 다른 코딩 결정을 만들 수 있는 자유를 주어서 압축 효율을 이용해 전체 비트율을 감소하도록 한다.
도 5는 트랜스코딩 하는 동안 압축된 비디오에 대한 리코딩 데이터 세트 요소를 획득하고 사용하기 위한 기술(500)을 도시한다. 소스 포맷 디코더가 소스 포 맷 압축된 비디오를 압축해제해서(510) 압축 안 된 비디오를 제작한다. 예를 들어, 압축해제는 전체 압축해제이다.
트랜스코더는 소스 포맷 압축된 비디오에 대해서 리코딩 데이터 세트 요소를 획득한다(520). 이 요소들을 획득하기 위해(520), 트랜스코더는 (예를 들어, 버퍼된 복사로부터) 디코딩 전, 동안 또는 후에 소스 포맷 압축된 비디오를 구문 분석한다(parse). 대신해, 리코딩 데이터 세트 요소는 분리되어 신호 되거나 아니면 제공된다. 요소는 예를 들어, 영상 유형 값, 인트라/인터 MB 코딩 유형값 및 필드/프레임 정보 같은 소스 포맷 구문 요소로부터 유도된 요소나 소스 포맷 구문 요소이다. 또, 트랜스코더는 다른 및/또는 추가 요소를 획득한다.
타깃 포맷 인코더는 압축해제된 비디오를 재압축(530)해서, 타깃 포맷 압축된 비디오를 제작한다. 이때에, 인코더는 코딩 결정을 만들 때, 리코딩 데이터 세트 요소를 사용한다. 트랜스코더는 타깃 포맷 압축의 매개변수에 대해 어떤 요소를 전달할 수도 있다. 이 방식으로, 인코더는 비디오를 타깃 포맷으로 압축할 때 대략 소스 포맷 압축된 비디오의 화질을 따라간다. 인코더는 화질을 떨어뜨리지 않고 비트율을 줄이기 위해 독립적으로 다양한 다른 결정을 만든다. 예를 들어, 인코더는 국소화된 패턴에 따라서 인코딩을 더 잘 순응시켜서 비트율을 줄이기 위해 변환 크기 결정 및/또는 다양한 예측 모드를 만든다. 또는, 인코더는 움직임 보상 예측을 향상하고 예측 오차에 대한 비트율을 줄이기 위해 루프 필터링으로 움직임 보상, 세기 보상, 더 많은 움직임 벡터 및/또는 증가한 움직임 벡터 정밀도를 위한 새로운 움직임 벡터를 계산한다. 소스 포맷 압축된 비디오로부터 움직임 벡 터 정보가 일부 움직임 추측 결정에 사용되고(예를 들어, 시작점을 제공해서 추정속도를 바르게 하기 위해) 다른 움직임 추측 결정에서 무시될 수 있다(루프 필터링, 세기 보상 등의 관점에서 정확한 움직임 벡터를 찾기 위해).
트랜스코더는 재압축(530)을 시작하기 전에 압축해제(510)를 완료할 수 있다. 더 일반적으로, 트랜스코더는 영상, 영상 그룹(group of picture; GOP) 또는 다른 비디오의 지속에 대해 동시에 본 기술(500)의 단계들을 수행한다.
IV. 매핑 양자화 수준
일부 실시예에서, 비디오 트랜스코더는 소스 포맷 압축된 비디오에 대한 양자화 수준을 트랜스코딩 시에 타깃 포맷 압축된 비디오를 매핑한다. 이 매핑은 소스와 목적 압축된 비디오 포맷에서 양자화 스텝 크기를 동등하게 설정해서, 트랜스코더가 화질을 유지하고 트랜스코딩 손실을 줄이는 것을 돕는다.
도 6은 트랜스코딩 동안에 소스 포맷 압축된 비디오에 대한 양자화 수준을 획득하고 사용하는 기술(600)을 도시한다. 소스 포맷 디코더는 소스 포맷 압축된 비디오를 압축해제해서(610) 압축 안 된 비디오를 생산한다. 예를 들어 압축해제는 전체 압축해제이다.
트랜스코더는 소스 포맷 압축된 비디오에 대한 양자화 수준을 획득한다(620). 상기 수준을 얻기(620) 위해, 트랜스코더는 디코딩 전, 동안 또는 후에 소스 포맷 압축된 비디오를 구문 분석한다. 또, 상기 수준들은 분리되어 신호 되거나 아니면 제공된다. 예를 들어, 양자화 수준은 균일 양자화에 대해 MB당(per-MB) 양자화 스텝 크기 값이다. 또, 트랜스코더는 다른 및/또는 추가적인 종류의 양자화 수준을 얻는다.
다음, 타깃 포맷 인코더는 압축해제된 비디오를 재압축해서(630) 타깃 포맷 압축된 비디오를 생산한다. 그동안, 인코더는 양자화 결정을 만들 때 획득한 양자화 수준을 사용한다. 예를 들어, 인코더는 소스 포맷 압축된 비디오 내의 해당 영상의 MB에 대한 MB당 양자화 스텝 크기의 평균에 기반해 영상에 대한 양자화 값을 설정한다. 또는, 인코더는 소스 포맷 압축된 해당 MB에 대한 MB당 양자화 스텝 크기 값에 기반해 MB에 대한 양자화 값을 설정한다. 이것은 타깃 포맷으로 압축시에 인코더가 소스 포맷 압축된 비디오의 화질을 부합하는 것을 돕는다. 인코더는 상술한 것처럼, 화질을 해치지 않고 비트율을 낮추기 위해 다양한 다른 결정을 만들 수 있다.
트랜스코더는 재압축(630)을 시작하기 전에 압축해제(610)를 완료할 수 있다. 더 일반적으로, 트랜스코더는 영상, 영상 그룹 또는 다른 비디오 지속(duration)에 대해 동시에 본 기술(600)의 단계를 수행한다.
V. 트랜스코딩에서의 비율 제어
일부 실시예에서, 트랜스코딩시에 비디오 트랜스코더는 비율 제어(rate control)를 사용한다. 예를 들어, 소스 포맷 압축된 비디오의 화질에 가까우면서도 비율 제어는 트랜스코더가 비트율을 제어해서 인터넷 스트림이나 다른 응용에 대한 고정 비트율 제한(constant bitrate constraint)을 만족하도록 한다.
도 7은 트랜스코딩시에 비율 제어에 대한 기술(700)을 도시한다. 소스 포맷 디코더는 소스 포맷 압축된 비디오를 압축해제해서(710) 압축 안 된 비디오를 제작한다. 예를 들어, 압축해제는 전체 압축해제이다. 전술한 바와 같이 트랜스코더는 소스 포맷 압축된 비디오에 대해 양자화 수준을 획득한다(720). 트랜스코더는 타깃 포맷으로 압축된 비디오의 유닛에 대해 타깃 양자화 수준을 설정한다(730). 예를 들어, 인코더는 상술한 바와 같이 영상이나 MB에 대해 양자화 수준을 활당한다.
트랜스코더는 하나 이상의 비율 기준에 근거해 (임계치 내에서) 타깃 양자화 수준을 조절한다(740). 임계치는 트랜스코더가 소스 포맷 압축된 비디오의 해당 양자화 수준에서 너무 멀리 위나 아래로 벗어나는 것을 방지해서, 압축된 비디오의 화질이 타깃 및 소스 포맷 사이에 가깝게 유지하도록 돕는다. 비율 기준은 버퍼 충만 수준, 유닛에 할당된 비트 수와 유닛을 인코딩하는데 실제로 사용되는 비트 수간의 변이 및/또는 다른 인자들에 기반한다. 상기 유닛에 대해 할당된 비트의 수는 원하는 비트율, 영상 유형 및/또는 영상 코딩 복잡도에 기반할 수 있거나 (적절하게 크기 조절된) 소스 압축된 포맷 내의 동일한 유닛으로 사용되는 비트에 기반할 수 있다. 추가해, 인코더는 양자화를 조절해서 복잡한 국소적인 변화를 감당할 수 있다. 전체적으로, 트랜스코더는 양자화를 거칠게 해서 목표를 향한 비트율을 줄이거나 양자화를 미세화해서 목표에 대한 비트율을 증가시킨다. 트랜스코더는 목표 비트율은 달성하면서도 화질 수준에서의 변동을 제어할 수도 있다.
유닛에 대한 양자화 수준이 조정된 후(740), 트랜스코더는 트랜스코딩이 되 어는지를 판단하고(730) 그렇지 않다면, 다음 유닛에 대한 타깃 양자화 수준을 설정해서(730) 계속한다. 트랜스코더는 비율 조정에 대한 설정(730) 및 조정(740)을 시작하기 전에 압축해제(710)를 완료할 수 있다. 더 일반적으로, 트랜스코더는 동시에 영상, 영상 그룹 또는 다른 비디오의 지속에 대해 본 기술(700)의 단계를 수행한다.
VI. 결합된 구현
전술한 기술은 독립적으로 분리해서 적용될 수 있는 반면에, 단일로 통합되어 트랜스코딩 시스템으로도 결합 될 수 있다. 하나의 구현으로, 트랜스코더는 MPEG-2 비디오를 WMV9 비디오로 변형한다.
트랜스코더는 MPEG-2 구문과 의미 요소(syntax and semantic element)를 고려해서 구문 요소와 코딩 결정이 MPEG-2 압축과 WMV9 압축 간에 관리되도록 하는 일련의 규칙을 사용한다. 구체적으로, 트랜스코더는 디코딩 서브 시스템에서 MPEG-2 비디오로부터 유도된 MPEG-2 리코딩 데이터 세트의 서브 세트를 사용한다. 트랜스코더는 MPEG-2 리코딩 데이터를 인코딩 서브 시스템 내의 시작점으로 사용하여 이것으로부터 WMV9에 대한 코딩 결정을 만들고 어떤 아이템을 WMV9 비트열로 옮긴다. 그래서, 트랜스코더는 WMV9 인코더의 특정 필요와 트랜스코딩 시나리오에 따라서, 다양한 MPEG-2 코딩 매개변수를 보존 또는 변형한다.
트랜스코더는 다음 문제를 처리한다. MPEG-2로 인코더 된 일련의 비디오 영상이 임의로 주어지면, WMV9로 동일한 영상을 리인코딩시에 트랜스코더는 어떻게 비트와 화질(양자화)을 할당하나? 트랜스코딩 시에 트랜스코더는 실질적으로 화질을 보존하면서 트랜스코딩 손실을 피하기 위해(또는 최소한 상당히 줄이기 위해) 노력한다. 트랜스코더는 너무 많은 비트를 쓰지 않아서 인식성(perceptibility)/가시성 임계치 아래로 화질을 유지하지 않는다. 동시에, 트랜스코더는 WMV9의 추가적인 압축 효율을 이용해서 MPEG-2 압축된 입력의 비트율보다 낮은 비트율로 출력을 제작한다.
트랜스코더는 단일 경로로 MPEG-2 압축된 비디오를 압축해제하고 리코딩 세트 요소들을 모으고 비디오를 비디오 시퀸스를 통해 단일 경로로 동시에 압축해서 동작한다. 충분한 구현종속적(implementation-dependent) 사용자 지정으로, 단일 경로 트랜스코딩은 실시간이나 거의 실시간으로 MPEG-2 입력과 WMV9 출력으로 다양한 스트리밍 시나리오 내에서 사용될 수 있다. 대신해, 트랜스코더는 전체 시퀀스를 압축해제하고 시퀀스 전역 통계를 저장할 수 있고, 그 후 트랜스코딩을 시작한다. 그런 다중 경로 트랜스코더는 화질을 향상시킬 수 있으나 실질적으로 더 많은 계산시간을 필요해서 제품에 구현하기 힘들게 만든다.
A. 방송 및 유선 응용.
트랜스코더의 화질 보존 관점은 방송과 유선 사업에 대해 관련이 있다. 트랜스코더는 MPEG-2로부터 WMV9로 있는 콘텐츠의 유효 변환을 가능하게 해서 WMV9의 효율성의 장점을 가지거나 또는 간단히 두 가지 포맷 간의 상호동작가능하도록 한다. 무결절성(seamless) MPEG-2에서 WMV9의 잠재적 응용은 제작, 편집, 저장과 소비를 포함한 광역의 시나리오를 망라한다. 이 섹션은 주로 방송과 케이블 "동종 업(vertical)"를 위한 것으로, 이것의 산업 동작은 제작 및 활동 영역을 확대한다.
1. VOD 및 PVR 에 대한 콘텐츠 변환
콘텐츠 소비에 대해 널리 퍼진 모델은 콘텐츠 푸쉬 모델(push model)이었다. 요즘, 콘텐츠 풀 모델(pull model)이 더 보편화하고 있고, 내용은 소비자가 어떤 콘텐츠를 시청하고 언제 시청하는지를 결정한 후에 전송된다. 두 기술은 이런 변화를 가능하게 한다. 첫번째는 "VOD(video on demand)"이고 두 번째는 "PVR(personal video recorder)"이다.
VOD와 PVR 모두는 대역폭과 저장소를 절약해서 MPEG-2에서 WMV9으로의 트랜스코딩으로부터 이익을 얻는다. VOD 및 PVR은 대규모로 구현되므로 대역폭 절역으 누적 효과는 큰 비용 절감이 가능하게 한다. 오퍼레이터는 VOD로 MPEG-2 압축을 수용가능한 화질의 비디오의 한계까지 늘려서, 다른 포맷으로의 트랜스코딩은 더 이상의 화질 저하를 피해야 한다. 트랜스코더가 MPEG-2 VOD 콘텐츠를 WMV9 포맷으로 전환시에 비디오의 화질은 보존하면서 비트율을 줄인다.
2. 공중 비디오 서버로의 재생을 위한 콘텐츠 변환
비디오 서버는 반복적으로 MPEG-2 포맷으로 내부적으로 저장되어 있는 비디오를 수집해서 상영한다. 편집된 것은 MPEG-2에서 재수집되었거나 제작 체인에 부합하기 위해 MPEG-2로 트랜스코드 되었다. WMV9의 압축효율은 방송 설비 내에서 저장소 및 네트워크 대역폭을 줄인다.
트랜스코더는 스튜디오 수집된 콘텐츠를 원래보다 낮은 비트율로 WMV9 포맷으로 화질을 유지하면서 변환한다. 이 리포맷된(re-formatted) 콘텐츠는 더 작은 설치면적으로 저장되고 줄어든 네트워크 대역폭으로 재생 서버로 전송된다. 방송 장비는 공중, 공중백업이나 원격지로부터의 손상복구에 대한 재생을 위해 WMV9콘텐츠를 사용한다. 상기 마지막 경우에, 줄어든 비트율로부터의 비용절약은 비디오가 광역 네트워크를 통해서 전송될수록 더 커진다.
3. 콘텐츠 미리보기를 위한 프록시 생성
콘텐츠 미리보기를 위한 프록시 생성은 현재 WMV9의 널리 보급된 사용 형태이다. MPEG-2가 방송 설비 내에서 투고와 전송을 위해 MPEG-2가 작동하는 반면에, 그것은 본질적으로 스트리밍 포맷이 아니고 더 낮은 해상도와 비트율에 적용시에 나쁘게 크기조절된다. 낮은 비율 프록시가 공중에 재생하기 위해 보관된 콘텐츠와 수집된 콘텐츠를 검토하기 위해서 필요하다.
트랜스코더는 더 낮은 비트율을 생성하고 여전히 원 프레임 비율인 WMV9 파일의 해상도를 낮춘다. 원 비디오로부터의 시간 부호(time code)는 프록시 저 비트율 비디오에서 보존된다. 트랜스코더는 사용자가 프록시를 미리 볼수 있게 하고, 컷과 다른 편집을 할 수 있게 하고, 편집에 대한 결정 목록을 생성하는 콘텐츠 재생기와 같이 사용될 수 있다.
4. 역전송을 위한 콘텐츠 변화
방송은 반복적으로 콘텐츠를 그들의 지부로 지역 방송을 위해 역전송(backhaul delivery)을 이용한다. 콘텐츠 연합은 비디오를 그들의 고객에 전송하기 위해 대여된 파이버나 위성 채널을 통해 역전송을 사용한다. MPEG-2는 이것들과 인트라 장비에 대해 적절한 조건부 접속 디코더를 가진 보통 중간 전송 포맷이 다. 역전송 응용에서, 작은 비트율 이득이라도 큰 경비절감을 할 수 있다. 중간 포맷은 투명해서 효율적인 전달 포맷으로서의 WMV9의 채택이 강한 추진력을 제공한다.
B. 영상 코딩 유형 사용
MPEG-2와 WMV9 모두 3가지 기본 코딩 유형(인트라("I"), 단방향 예측("P") 및 양방향 예측("B"))을 사용한다. MPEG-2와 WMV9 간의 이런 영상 유형들을 인코딩과 디코딩하는 때에 차이가 있다. WMV9는 일반적으로 더 양호한 압축 효율을 갖고 있어 동일한 화질에 대한 비트율을 줄인다. 따라서, 트랜스코딩의 목표는 입력 비디오 스트림과 트랜스코드된 비디오 스트림 간의 할당을 그 자체로 유지하는 것이 아니다. MPEG-2 및 WMV9간의 인코딩 도구의 차이는 그런 엄밀한 트랙 추적을 필요하지 않다. 한편, 실질적으로 전체 할당된 비트가 영상 화질을 향상시키지 않으므로, MPEG-2 압축된 비디오로부터 영상당 및 상대적인 비트 할당은 WMV9 인코더의 일반적인 가이드로서 도움이 될 수 있다. 실제로, 코딩 결정을 가이드 하는 영상 유형 정보의 사용은 트랜스코딩 효율을 상당히 향상시킨다.
각 MPEG-2 영상 유형은 비트율과 화질 함축을 갖는데 영상 유형에 따라 코드된 영상의 원 영상에 대한 충실도에 중요한 차이가 있기 때문이다. I 영상 전체 재생(refresh)을 갖는데, 움직임 보상, 복원(reconstruction) 내의 오류의 전파를 끝낸다. 트랜스코딩 오류의 전파는 또 새로운 I 영상으로 종결된다. I 영상은 일반적으로 다른 영상보다 많은 비트를 소진한다. 그래서, I 영상의 삽입은 역으로 비트율에 영향을 주나 전파 오류를 낮추어서 인지가능한 화질을 향상시키는 경향이 있다.
트랜스코더는 여러 경우에 소스 포맷 압축된 비디오와 타깃 포맷 압축된 비디오 간에 I 영상 유형들을 부합시키다. 트랜스코딩 오류, 전송 오류나 다른 오류들의 전파에 대해 복원력을 향상시키기 위해, 트랜스코더는 타깃 압축된 비디오에 I 영상을 사용한다. 또는, GOP(group of picture) 패턴 부합이 사용되면(아래를 보라), 트랜스코더는 I 영상 유형을 부합시킨다. WMV9 인코더는 시퀀스에 특정한 코딩 효율을 개발하기 위해 I영상의 정확한 위치를 몇 개의 순방향 또는 역방향 영상들로 조정할 수 있다.
B 영상은 순방향 및/또는 역방향 예측을 사용할 수 있는데 반해, P 영상은 (이전 참조 영상으로부터) 순방향 예측을 사용한다. 전형적으로, P 영상은 B 영상보다 더 많은 비트를 소모한다. P 영상은 움직임 보상에 대한 참조 영상으로 사용될 수 있다. B 화면은 임의의 다른 영상에 의해 참조가 되지 않고 그래서 오류가 B 영상 내에 국소화가 된다.
타깃 포맷 압축된 비디오에 대한 비트율이 소스 포맷 압축된 비디오에 대한 비트율을 부합하도록 된 때에, 트랜스코더는 최상화질 트랜스코딩에 대한 코딩 유형을 보존한다. 그러나, 비트율 감소에 대해, 그런 영상 유형 부합은 필요한 비트율 감소를 방해한다. 그래서, 트랜스코더는 WMV9 압축된 비디오 내의 I 영상을 대신해 P 영상을 선택적으로 대체한다. 나아가, 비트율 감소는 P 영상을 B 영상으로 치환해서 이룰 수 있다. 트랜스코더는 모든 트랜스코딩 시나리오에서 B 영상을 B 영상으로 매핑을 한다.
C. 영상 패턴 그룹의 사용
영상 그룹은 상 유형 패턴에 따라서 영상들의 배열이다. MPEG-2 GOP는 I 영상을 포함하고 많은 P 영상들이 앵커(anchor)로서 따르는데, B 영상이 앵커들 사이에 있도록 예컨대, I, B, B, P, B, B, P, B, B, P, B, B와 같은 식이다. MPEG-2 비디오 스트림은 필름 콘텐츠에 대해 자주 12 프레임 및 텔레비전 콘텐츠에 대해 15 프레임의 GOP 크기를 사용한다. 다른 GOP 패턴은 임의 액세스, 빠른 전송 또는 다른 액세스 기능성에 대한 다양한 수준의 지원을 제공한다. 반대로, WMV9 비디오는 일반적으로, 덜 자주 I 영상이 있는데, 기본 설정으로 10초마다 I 영상을 삽입한다.
트랜스코더는 GOP 패턴을(특히, I 영상 위치들) 다양한 경우에 입력 비디오와 트랜스코드된 비디오 사이에 부합한다. 해당 임의 액세스, 빠른 포워드, 빠른 리버스 또는 다른 액세스 기능성이 소스와 타깃 포맷 압축된 비디오 사이에 요구될 때, 트랜스코더는 GOP 패턴을 부합시킨다. 화질에 대한 경험상, GOP 패턴을 부합하는 것은 비트율을 부합하도록 하는 경향이 있고 이는 화질을 부합하는 경향이 있다. I 영상들이 GOP 패턴에 따라 WMV9 비디오 내에서 위치되면, P 영상과 B 영상은 MPEG-2 비디오 내에 P와 B 영상 위치와 일치하도록 위치될 수 있다.
D. 프레임/필드 코딩 결정 정보 사용
MPEG-2는 전체 시퀸스를 프레임 또는 필드로 인코딩하게 한다. 후자를 사용하는 경우는 꽤 드문데, 프레임에 대해 허가된 필드 코딩 모드들이 빠르게 움직이는 콘텐츠를 압축하는 데 있어 효율성 손실을 채우기 때문이다. 전체적으로 프레 임 코딩 출력이 필드코딩보다 더 성능이 우수하다.
트랜스코딩 필드가 영상을 코딩시에, 트랜스코드는 WMV9 인코더의 내부 결정 메커니즘은 각 MB에 대해 필드/프레임 코딩 유형을 결정한다. 트랜스코드는 필드/프레임 코딩 유형 결정을 모든 영상 유형에 대해 MB 계층이나 다른 계층에서 부합시킨다. 예를 들어, 트랜스코더는 MPEG-2 압축된 비디오가 필드 영상을 사용시에, WMV9 인코더가 비월 필드 영상을 사용하도록 강제한다. 프레임/필드 영상 유형이 이런 방식으로 부합되어 지는 것은 트랜스코딩 시에 유형 맞춤의 다른 예와 같이 트랜스코딩의 효율을 향상시키는 것이 기대된다.
E. 매크로블록 인트라 / 인터 정보 사용
MPEG-2 및 WMV9 모두에 있어서, P 영상과 B영상 내의 MB들은 (참조로부터 예측을 사용하지 않고) 인트라 코드가 되어 있거나 (참조로부터 예측을 사용해서) 인터 코드가 되어 있다. 예를 들어, 인트라 코딩은 움직임 보상이 실패하거나 나쁜 결과를 줄 때 사용된다(예를 들어, 큰 예측 오차). 움직임 보상은 MB가 참조 영상에는 양호한 맞음이 없는 새롭게 노출된 콘텐츠(새 오브젝트나 새롭게 드러난 배경과 같은)를 포함할 때에는 실패할 수 있다.
일부 구현에서, 트랜스코더는 인트라/인터 코딩 유형 결정을 보존하고 WMV9 비디오 내의 비I 영상들에 대해 MB 계층에서 결정을 선택적으로 재적용한다. MB 계측에서 인트라 코딩 유형을 부합하기 위한 하나의 동기는 이것이 고려중인 MB에 대해 (더 높은 비트율을 대가로) 고화질을 보장하는 것이다.
F. 영상 수준에서 양자화 부합
MPEG-2와 WMV9 모두는 변환 계수의 균일 양자화를 사용한다. 계수는 유사하게 비트 정밀도, 허용된 양자화 스텝 크기 및 허용된 양자화 스텝 크기 범위로 유사하게 표현된다. 이는 MPEG-2 비디오와 WMV9 비디오 간의 화질을 부합하기 위한 구동 메커니즘으로 양자화의 사용을 촉진한다. MPEG-2 압축된 비디오와 WMV9 압축된 비디오 사이에서 양자화 수준을 추적해서, 트랜스코더는 WMV9 인코딩을 가이드를 해서 너무 적거나 너무 많은 비트가 사용되지 않게 한다. 각 영상을 압축하기 위한 적절한 수의 비트를 사용하는 것은 화질을 유지하고 트랜스코딩 손실을 줄일 때 도움이 된다.
트랜스코더 내에서 MPEG-2 파서는 MPEG-2 비디오 내의 소정의 영상 각 MB에 대한 양자화 척도를 추출한다. WMV9 비디오 내의 영상 수준 양자화에 대해, 트랜스코더는 MPEG-2 비디오의 영상 내의 생략되지 않은(non-skipped) MPEG-2 양자화 척도를 평균한다. 트랜스코더는 (영상 내의 MB에 대한 영상 수준 양자화 척도를 사용해서) WMV9 영상에 대한 영상 수준 양자화 척도에 대한 평균값을 사용한다.
트랜스코더가 비율 제어를 사용하면, 트랜스코더는 현재 비율 제한을 만족시기 위해 영상 수준 양자화기 척도를 조정할 수 있다. 임의의 경우에, 트랜스코더는 양자화 수준이 MPEG-2 비디오 내의 해당 양자화 수준의 허용치 이내에 있도록 관리한다.
G. 매크로블록 수준에서 양자화 부합
영상 수준 양자화 수준 제어는 파인 그레인(fine grain) 화질/비율 제어를 제공하지 않는다. MPEG-2 비디오와 WMV9 비디오 간의 화질을 더 가깝게 부합하기 위해, 트랜스코더는 MB 수준에서 양자화를 맞춘다. WMV9는 MB 수준에서 양자화 척도의 설정을 하게 한다(때때로 DQUANT 기능으로 불리기도 함).
DQANT로, WMV9인코더는 각각의 MB에 대해 양자화 수준을 조정할 수 있다. 트랜스코더는 WMV9 인코더가 MPEG-2 비디오에 대한 각 해당 MB에 대한 양자화기 값에 따라 양자화를 이용하게 한다. 만약 트랜스코더가 비율 제어를 사용하면, 트랜스코더는 MB 당 양자화기 수준에 부합해 현재 비율 제한을 만족시킨다. 다시, 임의의 경우에, 트랜스코더는 양자화 수준이 MPEG-2 비디오 내의 해당 양자화 수준의 허용치 이내에 있도록 관리한다.
결정을 생략한 WMV9 MB은 조정되지 않는다. 다른 말로, MB가 MPEG-2 비디오 내에서 코딩되었으므로 MB는 WMV9 비디오 내에서 코딩되도록 하지 않는다.
H. 고정 비트율 제어
많은 시나리오에서, 트랜스코더는 MPEG-2 입력의 비트율 아래의 가변 비트율로 출력 WMV9 비디오를 제작한다. 다른 시나리오에서, 트랜스코더는 WMV9 출력을 MPEG-2 입력의 비트율 또는 이보다 낮은 고정 또는 상대적으로 고정된 비트율로 생산한다. 이를 수행하기 위해, 트랜스코더는 WMV9 인코더의 기본 가변 비트율 모드 상에 비율 제어를 사용해서 가변하는 영상 유형과 화면의 복잡도에도 고정 출력 비트율을 유지하도록 돕는다.
트랜스코더는 비율 제어를 위해 3 단계 처리를 사용할 수 있다:(1) 타깃 비트 할당, (2) 가상 버퍼 기준에 기반해 양자화에 대한 개략 제어 및 (3) 국소적 변동에 대한 양자화 값을 조정하는 미세 적응 양자화(fine adaptive quantization). 타깃 비트 할당은 영상 유형과 영상 복잡도에 따라 변할 수 있다. 예를 들어, I 영상은 같은 화질의 P 영상보다 더 많은 비트를 할당받는데 P 영상은 동화질의 B 영상보다 더 많은 비트를 할당받는다. 추출된 영상 유형 값은 다른 영상에 비트를 할당하는데 사용될 수 있다. 복잡한 영상은 동화질의 간단한 영상보다 많은 비트를 할당받는데, 여기서 복잡도는 콘텐츠나 인코딩 결과의 분석으로부터 추정될 수 있다.
트랜스코더는 WMV9 인코더로부터 피드백을 사용해서 초과 또는 결손 비트의 함수로 양자화 수준을 조정한다. 구체적으로, 트랜스코더는 비율 버퍼의 충만도에 비례해 양자화 스텝 크기를 크기 조절한다. 이것은 출력이 원하는 비율을 따르게 하도록 하는 반면에 버퍼 오버플로어(overflow)나 언더플로어(underflow)를 피한다. 출력 비트율 타깃이 적당하면, 트랜스코더는 무결절성 트랜스코딩을 여전히 달성할 수 있다. 트랜스코딩은 사이코비주얼(psychovisual) 기준을 적용할 수 있다. 영상, 영상 그룹 또는 다른 콘텐츠의 계속에 대한 고정 비트율이 만족하는 한, 트랜스코더는 WMV9 인코더에 화질 제한을 만족하는 동안에 효율적으로 비트를 할당하는 유연성을 준다.
1. 제1 비례율 제어 구현
도 8은 제1 비례율 제어 기법(800)을 도시하는데 이는 타깃 비트 분배로부터의 변이에 따라 가중치를 사용하는 것이다. 최종 비트 분배는 인코드되는 영상이나 MB에 대해 가중된 양자화 스텝 크기로 표현된다. 할당된 비트와 실제 영상을 인코드하는데 사용되는 비트간의 변이는 양자화기 스텝 크기를 크기조절 하는데 사 용되는데(844), 여기서 타깃 양자화기 스텝 크기(844)는 소스 포맷 압축된 비디오로부터 유도된다.
여러 전략이 초기 비트 할당(802)에 사용된다. 간단한 접근은 프레임율(frame/sec)을 비트율(bits/sec)로 나눈 것에 기반해 각 유닛에 비트를 할당하는 것이다. 각 유닛에 대한 비트 할당은 타깃에 대한 소스 비트율의 비율로 크기조절된 소스 포맷에 사용된 해당 비트의 수에 기반할 수 있다. 또, 위와 같이 메커니즘이 시작되어도 타깃 포맷의 영상 유형에 기반해 할당을 변형하고 고정 비트율 기준을 따른다.
실제 영상을 인코드하는데 사용된 비트(882)는 영상에 대해 할당된 비트(802)에서 감해진 것이다. 이것은 할당된 비트와 사용된 비트간의 변이를 만든다. 지체 효과(lag effect)를 만들어서, 여러 과거 영상으로부터의 변이가 양자화 축척에 영향을 주고는 한다. 변이는 지연 버퍼(820, 830)에서 지연되고 임계치 축척 인자(822, 832)에 의해 가중된다. 예를 들어, 이전의 두 영상 각각에 대한 변이에 대해 같은 가중치를 주기 위한 임계치 축척 인자는 .5이다. 또는, 더 큰 가중치가 두 이전 영상 중 더 최근 것에 주어진다(예를 들어, .7 대 .3). 가중된 변이들은 결합이 되어 임계치 평가기(threshold evaluator)(840).
임계치 평가기(840)는 조정된 변이를 수신하고 양자화 축척 인자(842)를 계산해서 타깃 양자화 스텝 크기(844)에 적용한다. 도 8은 양자화 축척 인자(842)를 곱셈기로 도시하고 있으나, 인자(842)는 타깃 양자화 스텝 크기(844)에 더해지거나 감해진 양으로도 표현될 수 있다. 임계치 평가기(840)는 크기조정의 크기를 제한 해서 하나의 영상에서 다른 영상으로의 영상 화질의 큰 변화를 방지한다.
2. 제2 비례율 제어 구현
도 9는 제2 비례 비율 제어 메커니즘의 부분에 대한 의사코드(900)를 도시하는데, 이는 버퍼 충만 수준에 따라 가중치를 사용한다. 이 구현에서, 타깃 비트 할당 g_nAvgBPF는 고정된 것으로 가정되고 이는 초당 프레임으로 나눈 타깃 비트율과 같다. pIncomingParameter 용어는 마지막 영상을 인코딩하는 것에 소비되는 총 비트를 표현한다. 이 용어들은 고정 비율로 고갈되고 다양한 비율로 채워지는 가상 버퍼의 버퍼 수준인 g_nCurrentBufferLevel를 조정한다.
버퍼 수준은 0에서 g_nMaxBufSize까지 범위로 제한되어 있는데 이는 응용에 따라 다르다. 한 경우에, g_nMaxBufSize는 타깃 비트율에서 5초의 비디오로 초기화되어 있다. 버퍼의 충만은 실험적으로 유도된 값인 ADJUST_SCALE로 크기 조정의 정도가 정해진다. 예를 들어, ADJUST_SCALE이 20이면, 양자화 크기조절 인자 q_nQPAdjust는 -10에서 10까지의 범위에서 변한다. 버퍼가 반만 차있으면, nBufferFraction은 .5이고 q_nQPAdjust는 0이다. 버퍼 상태가 충만 상태에 근접할수록, q_nQPAdjust는 10에 접근하고 양자화 스텝 크기는 위로 크기조절(즉, 증가)해서 비트율을 줄여서 버퍼 충만을 정규화한다. 다른 한편으로, 버퍼 상태가 빈 상태에 근접할수록, q_nQPAdjust는 -10에 접근하고 양자화 스텝 크기는 아래로 크기조절(즉, 감소)해서 비트율을 늘려서 버퍼 충만을 정규화한다. 도 9의 의사코드(900)에서, 과거 인코드된 영상 이상으로는 가중치가 사용되지 않았다.
I. 제반 시스템 문제들
트랜스코딩에서의 이점을 생기게 하기 위해, 트랜스코딩 규칙은 트랜스코더가 사용되는 시스템 콘텍스트의 다양한 세부사항을 고려한다. 이런 세부사항 중 일부는 영상 화질에 영향을 준다. 다른 것은 구현의 속도와 효율에 영향을 준다.
1. 컬러 표본추출(color sampling)
MPEG-2는 비월 주사와 순차주사 영상들에 대한 4:2:0 컬러 표본추출을 사용한다. 추가로, 4:2:2 컬러 표본추출에 대한 분리된 프로파일이 표준 영상 비디오를 위해 지원된다. WMV9는 순차 주사나 비월 주사 비디오 모두에 대해 4:2:0 컬러 표본추출을 사용한다. 4:2:0 MPEG-2 비디오에서 4:2:0 WMV9 비디오로 트랜스코딩 시에, 트랜스코더는 표본추출 변환 없이, 디코드된 비디오를 처리하는데, 이는 압축된 스테이지 외부로부터의 인공물(artifact) 도입을 회피하도록 돕는다.
대신해, 타깃 포맷 인코더는 다른 컬러 표본추출 포맷을 사용할 수 있는데 예를 들어, 비월 주사에 대해 4:1:1이다. 4:2:0 표본추출로부터 4:1:1 표본추출로의 변환이 필요하면, 트랜스코더는 수직 방향으로 2 배 상향 표본추출하고 비월 주사 인공물을 줄이기 위해 필드에 기반한 수직 방향 필터링을 한다. 트랜스코더는 수평 방향으로 표준 반치폭 필터링(standard half-bandwidth filtering)을 사용해서 컬러 컴포넌트를 하향 표본추출을 한다. 4:2:2 컬러 표본 추출을 사용하는 소스 비디오에 대해, 4:1:1이 가장 간단한 타깃 모드이다.
비디오는 다중 컬러 표본추출 모드들 간에 전환될 때, 트랜스코더는 한 개의 컬러 표본추출 모드를 선택하고 사용해서 연속 방식(continuing basis) 상에서 다른 컬러 표본추출 처리를 다루는 복잡함을 피한다. 또는, 트랜스코더는 프레임 마 다 또는 다른 방식상에서 컬러 표본추출 모드를 전할 수 있다.
트랜스코더는 휘도/색상 색 공간과 빨/녹/청 색 공간 간과 같이 색 공간 변환을 피한다. MPEG-2와 WMV9 비디오 모두 휘도/색상 색 공간 내에서 동작해서 컬러 변환이 필요 없다.
2. 3:2 풀다운 패턴
텔레비전은 NTSC 비디오를 약 초당 60 필드로 디스플레이한다. 반대로, 필름 콘텐츠는 초당 24 프레임으로 디스플레이된다. 텔레시네(telecine) 변화 처리는 비디오를 텔레비전 비율로부터 필름 비율로 변환하고 역텔레시네 처리는 필름으로부터 텔레비전으로 변환한다. 필름은 자주 텔레비전 비율로 3:2 풀다운 패턴을 사용해서 세 필드가 다음 필름 프레임에서 뽑아지고 두 필드가 다음 필름 프레임으로부터 뽑아지는 등에 따라서 변환된다.
역텔레시네에 있어서, MPEG-2는 3:2 풀다운 패턴 정보를 기초 스트림(elementary stream) 내에 3:2 풀다운 한다. 이것은 디스플레이 장치가 초당 60 필드로 콘텐츠를 풀다운 하도록 한다. 유사하게, WMV9는 역텔레시네 검출과 처리를 기초 디코더 밖에서 수행한다. WMV의 일부 버전으로, 역텔레시네 정보가 WMV 비트열 내에 신호화가 된다. 다른 버전에선, 그러나, 기초 비트열의 구문은 역 텔레시네 정보에 대한 요소들을 포함하지 않고 역텔레시네 정보는 ASF 수준에서 통과되고 재생 장치의 컴포넌트로 적용된다.
트랜스코더는 초당 24 프레임 필름 콘텐츠를 다음과 같이 처리한다. 트랜스코더는 MPEG-2 비디오로부터 두 개의 "최상 필드 먼저(top field first)"와 "제1 필드 반복(repeat first field)" 표지로 3:2 풀다운 패턴을 유도한다. 하나 또는 이 표지들 둘은 비디오의 각 코드된 프레임에 대해 (기초 비트열 내에서 또는 ASF 수준에서) 보존된다. 결과적으로, 편집 또는 다른 이유에 의한 패턴의 파괴가 보존된다. 트랜스코더는 다양한 트랜스코딩 규칙으로 프레임을 재압축한다. 디스플레이 장치에서, 콘텐츠는 보존된 역 텔레신 정보를 사용해서 초당 약 60 필드로 재생된다. 이 솔루션은 순수 필름 콘텐츠에 대해 효과 있다. 필름과 텔레비젼 콘텐츠가 혼합된 것에 대해선, 트랜스코더는 필름 콘텐츠를 텔레비젼 콘텐츠로 간단한 처리를 위해 다룬다.
3. 루프 필터링
루프 필터링은 블로킹 인공물과 관련된 양자화 효과를 평활화(smoothing)해서 영상 화질을 향상시킨다. 이것은 참조도면을 후속 움직임 예측과 보상에 대해 더 양호하게 동작한다. WMV9 내에서 루프 필터링을 사용은 이전 압축 사이클로부터의 압축 인공물을 완화하고 루프 필터링 없이 그런 인공물은 후속 압축의 유효성을 줄일 수 있다. 트랜스코더는 WMV9 인코너 내에서 루프 필터링을 가능하게 한다.
4. 양자화 척도와 양자화 매트릭스
MPEG-2는 특정 영상 유형에 사용되기 위해 비트열의 시퀸스 헤더에 명시 양자화 매트릭스를 제공한다. MPEG-2 내의 기본 양자화 매트릭스는 I 영상에 대해 비평면(non-flat)이고 다른 유형의 영상에 대해 평면이다. 이에 대비해, WMV9는 평면 양자화 매트릭스를 모든 영상 유형에 걸쳐 사용하나 평면 양자화에 대해 0 주 위에서 비사용구역(dead zone) 폭에 대해 두 가지 변동을 제공한다. (비평면 양자화는 WMV9 내에서 인코더만의 처리와 같이 여전히 구현될 수 있다.)
트랜스코딩을 목적으로, 인트라 코드된 블럭에 대한 미세 양자화 척도는 영상 화질을 향상시키지 않는 것으로 보이는데, 왜냐하면, 이전 압축에서 손실된 정보가 미세 양자화로 복원될 수 없기 때문이다. 그래서, 트랜스코딩 규칙으로, WMV9 인코더는 해당 MPEG-2 인코더된 MB의 양자화 척도를 초과하지 않는다(적절한 양자화 매트릭스에 대해 조정함). 비인트라(non-intra) 블럭에 대해, WMV9 인코더에 사용되는 양자와 척도는 해당 MPEG-2 MB의 그것을 무리 없이 초과하는데, 왜냐하면, WMV9는 좀더 복잡한 예측 모드와 좀 더 정확한 움직임 벡터를 지원하기 때문이다. 트랜스코더는 다른 비사용영역 폭간에서 운하는 화질에 기반해 양자화를 미세하게 조정할 수 있는 설정을 선택한다.
5. MV 모드
MPEG-2는 일반적으로 MB당 하나의 움직임 벡터를 제공한다. 필드 코드된 MB에 대해, 하나의 움직임 벡터는 MB의 각 필드에 대해 생성된다. WMV9는 MB당 4개의 움직임 벡터를 가능하게 하고, 이는 움직임 벡터를 신호하기 위한 추가적인 비트를 대가로 국소 변화를 수용하는 더 파인 그레인 움직임 보상을 하도록 한다. 트랜서코더는 WMV9 인코더에서 MB당 4개의 움직임 벡터를 가능하게 한다.
6. 고속 정수 변환
MPEG-2는 표준 DCT(discrete cosine transform; 이산 코사인 변환)를 사용한다. WMV9는 일부 모드에서 DCT를 허용하나 다른 모드에선 MPEG-2 스타일의 DCT를 사용하는 것에 비해 처리 속도가 신속한 고속 정수 기반형 변환을 사용한다. 양의 관점에서 보아, 이 고속 정수 기반형 변환의 전체 성능은 표준 DCT와 유사하다(초당 고속 정수 기반형 변환은 그 자체로서 DCT에 비해 화질을 향상시키는 것은 아님).
변환 간의 차이에 의해, MPEG-2에서 유도된 DCT 계수는 단순히 WMV9에서 재사용할 수 없다. 이것은 중요한 불리한 조건이 아닌데, 왜냐하면 WMV9는 새로운 움직임 추측과 보상 후에 변환 계수를 어떤 식으로든 재계산하고, 고속 정수 기반형 변환은 계산시간에서 페널티가 적기 때문이다.
7. 세기 보상
세기 보상은 영상을 참조해 픽셀을 리매핑을 해서 픽셀 값을 크기 조정 및/또는 이동한다. 이것은 페이드인 및 페이드아웃 시퀸스의 비트를 보존하도록 한다. MPEG-2는 세기 보정을 사용하지 않음에도, 트랜스코더는 WMV9 인코더에서 세기 보정을 하도록 한다.
8. 가변 크기 변환
WMV9 인코더는 가변 크기 변환을 사용할 수 있는데, 이것은 MPEG-2로부터의 중요한 이탈이다. 이 변환의 블록크기는 국부 적응성 대 코딩 오버 헤더를 트레이드오프하는 매개변수이다. 국부 적응성이 필요하면, 더 작은 변환 크기가 선호된다. 적정한 변화 크기의 선정은 블록에 대한 고주파수 변환 계수의 개략 양자화에 의한 물결현상(ringing)과 다른 인공물을 줄일 수 있다(블록은 그렇지 않으면 콘텐츠 경계를 포함함).
9. 움직임 벡터 정밀도
MPEG-2에서, 움직임 벡터는 반 픽셀 정밀도(half-pixel precision)에 한정된다(4분의 1 정밀도 움직임 벡터는 WMV9에서 가능함). 4분의 1 정밀도 포텐셜은 코딩 효율에서 이점을 준다. MPEG-2 비디오의 화질은 이전 손실이 있는 압축 후에 향상될 수 없음에도, 4분의 1 정밀도 움직임 보상은 동일 또는 더 낮은 비트율에서 화질을 보존하는데 도움이 된다.
10. 중첩과 다른 예측 모드들
움직임 벡터, 예측 오류 및 다른 값들에 대한 WMV9 내에서의 예측 모드의 풍부한 이용가능성은 MPEG-2로부터 WMV9를 분리시킨다. 일반적으로, 트랜스코더는 WMV9 인코더 내의 이런 모드들의 선택을 제한하지 않는다. 하나의 예외는 필드 인코드된 MB에 대한 것이다. MPEG-2 비디오는 MB의 필드 코딩을 이용하면, WMV9가 동일한 모드를 채택하도록 강요하는 것은 트랜스코딩 손실을 줄일 수 있다.
11. 긴 또는 연장된 범위 움직임 벡터
긴 또는 연장된 범위 움직임 벡터는 P 영상에 대한 수평과 수직 방향의 움직임 벡터의 범위를 연장한다.
MPEG-2 비트열 내에 신호화된 움직임 벡터 정보는 트랜스코딩 동안 WMV9 인코더 내의 움직임 추측을 위한 시작점으로 사용할 수 있어 잠재적으로 WMV9 인코더내의 움직임 추정 처리를 가속화한다. 가이드로서 MPEG-2 움직임 벡터로 WMV9 인코더는 움직임 추측 탐색 영역의 크기를 줄일 수도 있다.
VII. 결과
이전의 기술로, 트랜스코더는 MPEG-2에서 WMV9로의 고충실도 변환을 달성한다. 고충실도 변환은 (낮은 충실도를 견디지 못하는) 고화질 비디오의 제작자나 방송업자에게 매우 중요하다. 참조로, 45 dB PSNR은 트랜스코딩에 있어 높다고 생각될 수 있고 MPEG-2로부터 WMV9로의 트랜스코더는 자주 이를 넘는다.
제1 테스트 세트는 원시적인 트랜스코더를 사용한 WMV9 비디오 대 MPEG-2 비디오에 대한 영상 사이즈를 비교했다. WMV9 비디오의 많은 영상에 대해, 사용된 비트의 수는 해당 MPEG-2 영상에 사용된 비트의 수보다 매우 높거나 매우 낮다.
제2 테스트 세트는 향상된 트랜스코더를 사용한 WMV9 비디오 대 MPEG-2 비디오에 대한 영상 사이즈를 비교했다. 이것으로, WMV9 영상당 사용된 비트수는 MPEG-2 영상당 사용된 비트 수보다 작고, 전체 사용 패턴의 봉오리와 골짜기가 두 비디오 시퀸스 간에 대략 일치된다.
후속 테스트는 비율 제어 없이 다양한 비트율에서, 원시 트랜스코딩과 향상된 트랜스코딩의 화질을 비교했다. 이 테스트는 동일한 MPEG-2 콘텐츠에 대한 단순 트랜스코딩보다 향상된 트랜스코딩에 대한 실질적이고 일관된 이득을 보였다. 이런 테스트에서, I 영상과 P 영상에 대해, MPEG-2 양자화 척도 매개변수는 WMV9 비디오내의 MB 수준에서 부합되었다. B 영상에 대해, 영상 수준 부합이 사용되었다. 단(5초) 및 장(30초) 시퀸스가 테스트 되었다. WMV9 비디오에 대한 결과 비트율은 평균적으로 MPEG-2 비디오보다 약 25 % 낮다. 단순 트랜스코딩과 향상된 트랜스코딩에 대해, 평균 PSNR은 MPEG-2 비디오에 비해 트랜스코드된 WMV9에 대해서 40 dB을 넘는다. 단순 트랜스코딩에 비해, 향상된 트랜스코딩은 일관 되게 휘 도에 관해 평균 .5 dB 이상 더 양호하다. 이 차이는 10%와 20% 간의 비트율 이득에 해당하는데, 이는 향상된 트랜스코딩에 비해 단순 트랜스코딩에서는 화질을 획득하기 위해선 10%에서 20% 비트를 더 사용해야 한다는 것을 의미한다. 뷰어 테스크는 이를 재확인하고, 뷰어로 일관 되게 동일 비트열에 대한 단순 트랜스코딩 결과보다 향상된 트랜스코딩 결과가 우수하다고 판정한다.
다른 테스트는 MB 코딩 유형에 대해 트랜스코딩 규칙을 사용한 것과 사용하지 않은 결과를 비교했다. I 영상이 아닌 것에 대해, 트랜스코더는 MPEG-2 인트라 MB를 WMV9 비디오 내에서 해당 인트라 MB를 갖도록 하지만, WMV9 인코더가 MPEG-2 비디오 내에서 인터 유형이었던 MB를 어떻게 코드 하는지를 결정하도록 한다. 트랜스코더는 모든 영상 유형에서 필드와 프레임 코딩 결정들을 부합도 한다. 이런 규칙들로, 향상된 트랜스코딩 화질은 단순 트랜스코딩보다 더 높으나 PSNR 이득은 매크로블록 유형 규칙이 없는 것보다 더 작았다. PSNR 향상은 휘도에 대해 평균적으로 .2 dB과 .3 dB 사이이다(단색 광에 대해 0.8 dB).
다른 테스트는 다른 규칙과 결합해 비례율 제어를 평가했다. 출력 비트율은 타깃 비율 매개변수의 1 %이내였고 버퍼의 오버플로어와 언더플로어를 회피했다. 만약 출력 비트율이 실질적으로 MPEG-2 양자화 수준을 부합 때 획득되는 비트율보다 실질적으로 낮으면, 상기 트랜스코더의 화질 보존 관점은 실패한다. 그러나 비율 제어는 비율과 화질을 조절하기 위해선 유용한 특성이다. 일반적으로, 트랜스코더의 출력은 WMV9 인코더의 압축 요율의 장점을 취해서 입력 압축된 비디오보다 25 % 정도 낮은 비율로 설정될 수 있는데 화질을 여전히 보존하고 트랜스코딩 손실 을 회피한다.
기술된 실시예를 참조해 본 발명의 원리가 기술되고 도시되었고, 기술된 실시예는 그 원리를 벗어나지 않고 배열과 상세함에서 변형될 수 있음이 인식될 수 있다. 여기에 기술된 프로그램, 처리 또는 방법은 지적되지 않으면, 임의의 특정 계싼 환경과 관련이나 제한되어 있지 않다. 범용 또는 특별한 계산 환경의 다양한 유형이 사용될 수 있더나 여기에 기술된 교육에 따라 동작을 수행할 수 있다. 소프트웨어 내의 본 실시예의 요소는 역으로 하드웨어로 구현될 수 있다.
본 발명의 원리가 적용될 수 있는 많은 가능한 실시예의 관점에서, 모든 그런 실시예가 후술하는 본 발명의 청구항 및 그와 동일한 것의 범주 및 사상 내로 올 수 있다.
트랜스코더가 트랜스코딩 손실을 줄이면서 소스와 타깃 포맷 간의 압축된 비디오의 화질을 부합하도록 함과 동시에, 트랜스코더는 타깃 포맷 인코더에 전체 비트율을 줄일 수 있는 추가적인 압축을 할 수 있다.

Claims (56)

  1. 소스 포맷으로부터 타깃 포맷으로 더 낮은 비트율로 비디오를 트랜스코딩 하는 방법에 있어서,
    상기 소스 포맷으로 압축된 비디오의 복수 유닛들(plural units)에 대한 유형 값들(type values)을 획득하는 단계;
    상기 소스 포맷으로 상기 압축된 비디오를 압축해제하는 단계; 및
    상기 타깃 포맷으로 압축된 비디오를 제작하기 위해 상기 비디오를 재압축하는 단계-상기 재압축하는 단계는 상기 타깃 및 소스 포맷으로 각기 압축된 비디오 간의 화질 부합을 돕기 위해 최소 부분적으로 상기 획득한 유형 값들에 기반해 제1 코딩 결정들(coding decisions)을 하는 단계와 나아가 상기 타깃 포맷의 압축 효율을 이용해 비트율을 줄이기 위해 독립적으로 제2 코딩 결정들을 하는 단계를 더 포함-
    를 포함하는 방법.
  2. 제1항에서, 상기 유형 값들을 획득하는 단계는 상기 소스 포맷으로 상기 압축된 비디오를 파서(parse) 하는 단계를 포함하는 방법.
  3. 제1항에서, 상기 독립적으로 제2 코딩 결정들을 만드는 단계는 움직임 보상(motion compensation)을 위해 새 움직임 벡터들을 계산하는 단계-상기 계산하 는 단계는 상기 소스 포맷으로 상기 압축된 비디오로부터 움직임 벡터 정보의 사용은 상기 새 움직임 벡터들을 계산하기 위한 움직임 추측을 신속하게 함 -
    를 포함하는 방법.
  4. 제3항에서, 상기 움직임 추측 및 보상은 루프 필터링(loop filtering) 및 세기 보상(intensity compensation)을 사용하는 방법.
  5. 제3항에서, 상기 움직임 추측 및 보상은 매크로블록당 4개의 움직임 벡터 및 4분의 1 움직임 벡터 정밀도를 사용하는 방법.
  6. 제1항에서, 상기 독립적으로 제2 코딩 결정들을 만드는 단계는 가변크기(variable-size) 주파수 변환의 크기를 선택하는 단계를 포함하는 방법.
  7. 제1항에서, 상기 독립적으로 제2 코딩 결정들을 만드는 단계는 움직임 벡터들 또는 예측 오차들(prediction residuals)에 대한 예측 모드들을 선택하는 단계를 포함하는 방법.
  8. 제1항에서, 상기 압축해제하는 단계는 상기 압축된 비디오를 전체 압축해제하는 단계를 포함하는 방법.
  9. 제1항에서, 상기 소스 포맷으로 압축 및 상기 타깃 포맷으로 압축은 다른 주파수 변환을 사용하는 방법.
  10. 제1항에서, 상기 소스 포맷으로 압축 및 상기 타깃 포맷으로 압축은 다른 엔트로피 인코딩을 사용하는 방법.
  11. 프로그램된 컴퓨터 시스템이 제1항의 상기 방법을 수행하도록 하는 컴퓨터 실행 가능 명령어들을 저장하는 컴퓨터 판독 가능 매체.
  12. 제1항에서, 상기 복수 유닛들은 비디오 영상들이고 상기 유형 값들은 I 영상, P 영상 및 B 영상을 포함하는 영상 유형 값들인 방법.
  13. 제1항에서, 상기 타깃 포맷으로 상기 압축된 비디오의 상기 비트율은 상기 하나이상의 비디오 영상들의 실질적으로 전부에 대한 영상마다 방식에서 상기 소스 포맷으로 상기 압축된 비디오의 비트율과 같거나 작은 방법.
  14. 제1항에서, 상기 복수 유닛들은 매크로볼록들(macroblocks)이고 상기 복수 유형 값들은 매크로블록 코딩 유형 값들인 방법.
  15. 제14항에서, 상기 매크로볼록은 인트라 코드된(intra coded) 매크로블록 및 인터 코드된(inter coded) 매크로블록을 포함하고, 상기 매크로볼록 코딩 유형 값들은 인트라 및 인터를 포함하는 방법.
  16. 제1항에서, 상기 소스 포맷은 MPEG-2 포맷이고 상기 타깃 포맷은 WMV9 포맷인 방법.
  17. 제1 포맷으로부터 제2 포맷으로 더 낮은 비트율로 비디오를 트랜스코딩 하는 방법에 있어서,
    상기 제1 포맷으로 압축된 비디오의 복수 영상들에 대한 영상 유형 값들을 획득하는 단계;
    상기 제1 포맷으로 상기 압축된 비디오를 전체 압축해제하는 단계; 및
    상기 제2 포맷으로 압축된 비디오를 제작하기 위해 상기 비디오를 재압축하는 단계-상기 재압축하는 단계는 최소 부분적으로 상기 획득한 영상 유형 값들에 기반해 영상 유형 결정을 만드는 단계와 나아가 상기 제2 포맷의 압축 효율을 이용해 비트율을 줄이기 위해 움직임 추측 및 보상을 수행하는 단계를 더 포함-
    를 포함하는 방법.
  18. 제17항에서, 상기 제2 포맷의 상기 움직임 추측 및 보상은 루프 필터링의 사용, 매크로 블록당 움직임 벡터들의 수, 세기 보상의 사용 및/또는 움직임 벡터 정밀도의 관점에서 상기 제1 포맷의 움직임 추측 및 보상과 다른 방법.
  19. 제17항에서, 상기 제1 포맷 및 제2 포맷은 다른 주파수 변환을 사용하는 방법.
  20. 프로그램된 컴퓨터 시스템이 제17항의 상기 방법을 수행하도록 하는 컴퓨터 실행 가능 명령어들을 저장하는 컴퓨터 판독 가능 매체.
  21. 제17항에서, 상기 영상 유형 값들은 I 영상, P 영상 및 B 영상을 포함하는 방법.
  22. 제17항에서, 상기 재압축하는 단계는 상기 제1 포맷으로 상기 압축된 비디오와 상기 제2 포맷으로 상기 압축된 비디오 간의 하나 이상의 영상 위치(picture position)들을 부합시키기 위해 상기 영상 유형 값들을 사용하는 단계를 포함하는 방법.
  23. 제17항에서, 상기 재압축하는 단계는 상기 제1 포맷으로 상기 압축된 비디오와 상기 제2 포맷으로 상기 압축된 비디오 간의 영상 구조의 그룹(group of picture structure)을 부합시키기 위해 상기 영상 유형 값들을 사용하는 단계를 포함하는 방법.
  24. 비디오를 트랜스코딩 하는 방법에 있어서,
    제1 포맷으로 압축된 비디오에 대해 프레임/필드를 획득하는 단계;
    상기 제1 포맷으로 상기 압축된 비디오를 전체 압축해제하는 단계; 및
    상기 제1 포맷과 다른 제2 포맷으로 압축된 비디오를 제작하기 위해 상기 비디오를 재압축하는 단계-상기 재압축하는 단계는 상기 제2 포맷으로 상기 압축된 비디오의 화질을 상기 제1 포맷으로 상기 압축된 비디오의 화질과 부합하는 것을 돕기 위해 최소 부분적으로 상기 획득한 프레임/필드 정보에 기반해 코딩 결정하는 단계를 포함 -
    를 포함하는 방법.
  25. 제24항에서, 상기 재압축하는 단계는 필드/프레임 유형들을 상기 제2 포맷으로 상기 압축된 비디오 내의 매크로블록 수준에 설정하는 단계를 포함하는 방법.
  26. 제24항에서, 상기 재압축하는 단계는 필드/프레임 유형들을 상기 제2 포맷으로 상기 압축된 비디오 내의 영상 계층(layer)에 설정하는 단계를 포함하는 방법.
  27. 제24항에서, 상기 제2 소스 포맷으로 상기 압축된 비디오는 상기 제1 소스 포맷으로 상기 압축된 비디오의 상기 비트율보다 낮은 비트율을 갖는 방법.
  28. 제24항에서, 상기 재압축하는 단계는 상기 제2 포맷의 압축 효율을 이용해 비트율을 줄이기 위해 움직임 추측 및 보상을 수행하는 단계를 포함하는 방법.
  29. 프로그램된 컴퓨터 시스템이 제24항의 상기 방법을 수행하도록 하는 컴퓨터 실행 가능 명령어들을 저장하는 컴퓨터 판독 가능 매체.
  30. 비디오를 트랜스코딩 하는 방법에 있어서,
    제1 포맷으로 압축된 비디오에 대해 양자화 수준들을 획득하는 단계;
    상기 제1 포맷으로 상기 압축된 비디오를 압축해제하는 단계; 및
    제2 포맷으로 압축된 비디오를 제작하기 위해 상기 비디오를 재압축하는 단계-상기 재압축하는 단계는 최소 부분적으로 상기 획득한 양자화 수준들에 기반해 상기 제2 포맷으로 상기 압축된 비디오에 대해 양자화 수준을 설정하는 단계를 포함하는데, 상기 제1 포맷으로 압축 및 상기 제2 포맷으로 압축은 다른 주파수 변환을 사용함 -
    를 포함하는 방법.
  31. 제30항에서, 상기 제1 포맷으로 압축은 이산 코사인 변환(DCT)을 사용하고 상기 제2 포맷으로 압축은 고속 정수 변환(fast integer transform)을 사용하는 방법.
  32. 프로그램된 컴퓨터 시스템이 제30항의 상기 방법을 수행하도록 하는 컴퓨터 실행 가능 명령어들을 저장하는 컴퓨터 판독 가능 매체.
  33. 제30항에서, 상기 획득한 양자화 수준들은 상기 제1 포맷으로 상기 압축된 비디오의 매크로블록들에 대한 것인 방법.
  34. 제30항에서, 상기 재압축하는 단계는 최소 부분적으로 상기 획득한 양자화 수준들의 평균에 기반해 상기 제2 포맷으로 상기 압축된 비디오의 비디오 영상에 대해 양자화 수준을 설정하는 단계를 포함하는 방법.
  35. 제30항에서, 상기 재압축하는 단계는 최소 부분적으로 상기 획득한 양자화 수준들중 하나에 기반해 상기 제2 포맷으로 상기 압축된 비디오의 매크로블록에 대해 양자화 수준을 설정하는 단계를 포함하는 방법.
  36. 제30항에서, 상기 양자화 수준들을 적용하기 전에 비율 제어(rate control)를 위해 상기 획득한 양자화 수준들을 조절하는 단계를 더 포함하는 방법.
  37. 제30항에서, 상기 획득한 양자화 수준들을 고려하는 것은 상기 제2 포맷으로 상기 압축된 비디오의 상기 화질을 상기 제1 포맷으로 상기 압축된 비디오의 상기 화질과 부합하는 것을 돕는 방법.
  38. 비디오를 트랜스코딩 하는 방법에 있어서,
    제1 포맷으로 압축된 비디오의 복수 매크로블록들에 대한 매크로블록당 양자화 수준들을 획득하는 단계;
    상기 제1 포맷으로 상기 압축된 비디오를 압축해제하는 단계; 및
    제2 포맷으로 압축된 비디오를 제작하기 위해 상기 비디오를 재압축하는 단계-상기 재압축하는 단계는 최소 부분적으로 상기 획득한 양자화 수준들에 기반해 상기 제2 포맷으로 상기 압축된 비디오의 해당 매크로블록들에 대해 양자화 수준들을 설정하는 단계를 포함 -
    를 포함하는 방법.
  39. 프로그램된 컴퓨터 시스템이 제38항의 상기 방법을 수행하도록 하는 컴퓨터 실행 가능 명령어들을 저장하는 컴퓨터 판독 가능 매체.
  40. 제38항에서, 상기 제2 포맷은 상기 매크로블록 계층에서 차동(differential) 양자화 수준 신호를 사용하는 방법.
  41. 제38항에서, 상기 양자화 수준들은 양자화 스텝 크기들인 방법.
  42. 제38항에서, 상기 양자화 수준들을 적용하기 전에 비율 제어를 위해 상기 획 득한 양자화 수준들을 조절하는 단계를 더 포함하는 방법.
  43. 비디오를 트랜스코딩 하는 방법에 있어서,
    제1 포맷으로 압축된 비디오의 양자화 수준들을 획득하는 단계;
    상기 제1 포맷으로 상기 압축된 비디오를 압축해제하는 단계; 및
    제2 포맷으로 압축된 비디오를 제작하기 위해 상기 비디오를 재압축하는 단계-상기 재압축하는 단계는 각기 제1 포맷 및 제2 포맷으로 압축된 비디오 간의 화질 차이를 줄이기 위해, 상기 획득한 양자화 수준들에 상응할만한 상기 제2 포맷의 상기 압축된 비디오의 양자화 단계를 포함-
    를 포함하는 방법으로서, 상기 제2 포맷의 압축 효율은 상기 제1 포맷으로 압축된 상기 비디오와 비교해 상기 제2 포맷으로 압축된 상기 비디오의 비트열을 실질적으로 줄이는 방법.
  44. 제43항에서, 상기 제1 및 제2 포맷들로 각기 압축된 비디오에 대한 상기 영상 수준에서 양자화 또는 비트열을 추적하는 단계를 포함하는 방법.
  45. 제43항에서, 상기 제1 및 제2 포맷들로 각기 압축된 비디오에 대한 상기 매크로블록 수준에서 양자화 또는 비트열을 추적하는 단계를 포함하는 방법.
  46. 제43항에서, 상기 제2 포맷의 상기 압축 효율은 상기 제2 포맷으로 상기 압 축된 비디오의 비트열이 상기 제1 포맷으로 상기 압축된 비디오에 비해, 최소 20% 감소한 방법.
  47. 제43항에서, 상기 제2 포맷으로 상기 압축된 비디오와 상기 제1 포맷으로 상기 압축된 비디오 간의 전체 화질 차이는 가시성 임계치(visibility threshold) 미만인 방법.
  48. 제43항에서, 상기 제2 포맷의 움직임 추측 및 보상은 루프 필터링의 사용, 매크로 블록당 움직임 벡터들의 수, 세기 보상의 사용 및/또는 움직임 벡터 정밀도의 관점에서 상기 제1 포맷의 움직임 추측 및 보상과 다른 방법.
  49. 제43항에서, 상기 제2 포맷으로 압축은 가변크기 주파수 변환을 사용하는 방법.
  50. 제43항에서, 상기 제2 포맷으로 압축 및 상기 제1 포맷으로 압축은 움직임 벡터 및/또는 예측 오차들에 대해 다른 예측 모드들을 사용하는 방법.
  51. 제43항에서, 상기 제2 포맷으로 압축 및 상기 제1 포맷으로 압축은 다른 엔트로피 인코딩을 사용하는 방법.
  52. 프로그램된 컴퓨터 시스템이 제43항의 상기 방법을 수행하도록 하는 컴퓨터 실행 가능 명령어들을 저장하는 컴퓨터 판독 가능 매체.
  53. 비디오를 트랜스코딩 하는 방법에 있어서,
    제1 포맷으로 압축된 비디오를 압축해제하는 단계; 및
    제2 포맷으로 압축된 비디오를 제작하기 위해 기본 단일 가변 비트열 인코딩(default one-pass variable bitrate encoding)으로 제2 포맷 인코더를 사용해 상기 비디오를 재압축하는 단계-상기 재압축하는 단계는 하나 이상의 비율 제어 기준(rate control criteria)에 비례해 화질 및 비트열을 변화시켜서 고정 또는 상대적으로 고정된 비트열로 상기 제2 소스 포맷으로 상기 압축된 비디오를 제작하기 위해 상기 제2 포맷 인코더의 압축 매개변수를 조절하는 단계를 포함-
    를 포함하는 방법.
  54. 제53항에서, 상기 하나 이상의 비율 제어 기준은 최소 부분적으로 버퍼 충만 값들(buffer fullness values)에 기반하는 방법.
  55. 제53항에서, 상기 하나 이상의 비율 제어 기준은 최소 부분적으로 이전 비디오에 대해 사용된 비트들과 할당된 비트들 간의 변이들(deviation)에 기반하는 방법.
  56. 프로그램된 컴퓨터 시스템이 제53항의 상기 방법을 수행하도록 하는 컴퓨터 실행 가능 명령어들을 저장하는 컴퓨터 판독 가능 매체.
KR1020050031134A 2004-04-15 2005-04-14 고충실도 트랜스코딩 KR20060045719A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/826,974 US20050232497A1 (en) 2004-04-15 2004-04-15 High-fidelity transcoding
US10/826,974 2004-04-15

Publications (1)

Publication Number Publication Date
KR20060045719A true KR20060045719A (ko) 2006-05-17

Family

ID=34939172

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050031134A KR20060045719A (ko) 2004-04-15 2005-04-14 고충실도 트랜스코딩

Country Status (10)

Country Link
US (1) US20050232497A1 (ko)
EP (1) EP1587327A2 (ko)
JP (1) JP2005323353A (ko)
KR (1) KR20060045719A (ko)
CN (1) CN1684518A (ko)
AU (1) AU2005201439A1 (ko)
BR (1) BRPI0501305A (ko)
CA (1) CA2504185A1 (ko)
MX (1) MXPA05004071A (ko)
RU (1) RU2005110996A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101045191B1 (ko) * 2009-06-09 2011-06-30 (주)제너시스템즈 개선된 영상 트랜스코더 및 트랜스코딩 방법

Families Citing this family (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3753726B1 (ja) * 2004-10-13 2006-03-08 シャープ株式会社 動画像再符号化装置、動画像編集装置、プログラム、及び記録媒体
CA2594118C (en) * 2004-12-08 2015-07-21 Imagine Communications Ltd. Distributed statistical multiplexing of multi-media
JP2006203682A (ja) * 2005-01-21 2006-08-03 Nec Corp 動画像圧縮符号化ビットストリームシンタックス変換装置及び動画像通信システム
WO2007010779A1 (ja) * 2005-07-15 2007-01-25 Matsushita Electric Industrial Co., Ltd. パケット送信装置
US20070033144A1 (en) * 2005-08-03 2007-02-08 Microsoft Corporation Binding components
US7881384B2 (en) * 2005-08-05 2011-02-01 Lsi Corporation Method and apparatus for H.264 to MPEG-2 video transcoding
US8208540B2 (en) * 2005-08-05 2012-06-26 Lsi Corporation Video bitstream transcoding method and apparatus
US7903739B2 (en) * 2005-08-05 2011-03-08 Lsi Corporation Method and apparatus for VC-1 to MPEG-2 video transcoding
US7912127B2 (en) * 2005-08-05 2011-03-22 Lsi Corporation H.264 to VC-1 and VC-1 to H.264 transcoding
US8045618B2 (en) * 2005-08-05 2011-10-25 Lsi Corporation Method and apparatus for MPEG-2 to VC-1 video transcoding
US8155194B2 (en) * 2005-08-05 2012-04-10 Lsi Corporation Method and apparatus for MPEG-2 to H.264 video transcoding
US8447121B2 (en) 2005-09-14 2013-05-21 Microsoft Corporation Efficient integrated digital video transcoding
KR20070108433A (ko) * 2006-01-09 2007-11-12 한국전자통신연구원 청크 디스크립터를 이용한 svc 파일포맷에서의 비디오데이터 공유방법
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
CA2643495A1 (en) * 2006-03-27 2007-10-04 Nec Corporation Moving image storage system, moving image storage method, and moving image storage program
US8862759B2 (en) * 2006-04-05 2014-10-14 Agiledelta, Inc. Multiplexing binary encoding to facilitate compression
US7659897B1 (en) * 2006-06-30 2010-02-09 Nvidia Corporation System, method, and computer program product for video benchmarking
CN101119483B (zh) * 2006-07-31 2011-11-02 联想(北京)有限公司 一种基于源质量的视频流传输速率调整方法
JP5112787B2 (ja) * 2006-09-01 2013-01-09 株式会社リコー 情報処理装置、プログラム更新方法及びプログラム
US8194744B2 (en) * 2006-09-20 2012-06-05 Lsi Corporation Method and/or apparatus for implementing reduced bandwidth high performance VC1 intensity compensation
US20080101473A1 (en) * 2006-10-26 2008-05-01 Matsushita Electric Industrial Co., Ltd. Transcoding apparatus and transcoding method
US8311114B1 (en) 2006-12-06 2012-11-13 Zenverge, Inc. Streamlined transcoder architecture
FR2908259A1 (fr) * 2007-02-16 2008-05-09 Thomson Licensing Sas Procede de reduction de debit d'un premier flux de donnees video codees en un deuxieme flux
JP4847890B2 (ja) * 2007-02-16 2011-12-28 パナソニック株式会社 符号化方式変換装置
US20080316995A1 (en) * 2007-06-20 2008-12-25 Motorola, Inc. Broadcast channel signal and apparatus for managing the transmission and receipt of broadcast channel information
US8098732B2 (en) * 2007-10-10 2012-01-17 Sony Corporation System for and method of transcoding video sequences from a first format to a second format
US8233727B2 (en) * 2007-10-19 2012-07-31 Research In Motion Limited Arbitrary ratio image resizing in the DCT domain
US8457958B2 (en) * 2007-11-09 2013-06-04 Microsoft Corporation Audio transcoder using encoder-generated side information to transcode to target bit-rate
US8265168B1 (en) 2008-02-01 2012-09-11 Zenverge, Inc. Providing trick mode for video stream transmitted over network
WO2009097284A1 (en) * 2008-02-01 2009-08-06 Zenverge, Inc. Intermediate compression of reference frames for transcoding
CN101621685B (zh) * 2008-07-04 2011-06-15 株式会社日立制作所 编码装置和编码方法
WO2010036995A1 (en) * 2008-09-29 2010-04-01 Dolby Laboratories Licensing Corporation Deriving new motion vectors from existing motion vectors
US20100118982A1 (en) * 2008-10-24 2010-05-13 Chanchal Chatterjee Method and apparatus for transrating compressed digital video
US20100104015A1 (en) * 2008-10-24 2010-04-29 Chanchal Chatterjee Method and apparatus for transrating compressed digital video
US20100104022A1 (en) * 2008-10-24 2010-04-29 Chanchal Chatterjee Method and apparatus for video processing using macroblock mode refinement
EP2371066A4 (en) * 2008-12-03 2014-06-04 Nokia Corp SWITCHING BETWEEN CODING MODES FOR DCT COEFFICIENTS
US20100166060A1 (en) * 2008-12-31 2010-07-01 Texas Instruments Incorporated Video transcoder rate control
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
US20100246688A1 (en) * 2009-03-26 2010-09-30 Apple Inc. Blind noise analysis for video compression
US8270473B2 (en) 2009-06-12 2012-09-18 Microsoft Corporation Motion based dynamic resolution multiple bit rate video encoding
US20110046761A1 (en) * 2009-08-19 2011-02-24 Paul Frederick Titchener Recorded Media Enhancement Method
US8879623B2 (en) * 2009-09-02 2014-11-04 Sony Computer Entertainment Inc. Picture-level rate control for video encoding a scene-change I picture
CN102055966B (zh) * 2009-11-04 2013-03-20 腾讯科技(深圳)有限公司 一种媒体文件的压缩方法和系统
US8897370B1 (en) * 2009-11-30 2014-11-25 Google Inc. Bitrate video transcoding based on video coding complexity estimation
KR101529992B1 (ko) 2010-04-05 2015-06-18 삼성전자주식회사 픽셀 그룹별 픽셀값 보상을 위한 비디오 부호화 방법과 그 장치, 및 픽셀 그룹별 픽셀값 보상을 위한 비디오 복호화 방법과 그 장치
US8705616B2 (en) 2010-06-11 2014-04-22 Microsoft Corporation Parallel multiple bitrate video encoding to reduce latency and dependences between groups of pictures
US8825886B2 (en) * 2010-07-28 2014-09-02 Hong Kong Applied Science and Technology Research Institute Company Limited System and method for evaluating network transport effects on delivery of media content
US8533166B1 (en) * 2010-08-20 2013-09-10 Brevity Ventures LLC Methods and systems for encoding/decoding files and transmission thereof
US9094685B2 (en) 2010-09-21 2015-07-28 Dialogic Corporation Efficient coding complexity estimation for video transcoding systems
CN102014284B (zh) * 2010-12-10 2014-09-10 中兴通讯股份有限公司 转码业务中获取视频码流的参数集值的方法、系统及装置
US8902973B2 (en) * 2011-04-05 2014-12-02 Dialogic Corporation Perceptual processing techniques for video transcoding
SG10201408715UA (en) 2011-06-28 2015-02-27 Samsung Electronics Co Ltd Video encoding method using offset adjustments according to pixel classification and apparatus therefor, video decoding method and apparatus therefor
US9369723B2 (en) * 2011-07-14 2016-06-14 Comcast Cable Communications, Llc Preserving image quality in temporally compressed video streams
KR101928910B1 (ko) 2011-08-30 2018-12-14 쏘닉 아이피, 아이엔씨. 복수의 최대 비트레이트 레벨들을 사용하여 인코딩된 비디오를 인코딩하고 스트리밍하기 위한 시스템들 및 방법들
US9591318B2 (en) 2011-09-16 2017-03-07 Microsoft Technology Licensing, Llc Multi-layer encoding and decoding
US8934538B2 (en) 2011-10-17 2015-01-13 Google Inc. Rate-distortion-complexity optimization of video encoding
US8885702B2 (en) * 2011-10-17 2014-11-11 Google Inc. Rate-distortion-complexity optimization of video encoding guided by video description length
JP5760950B2 (ja) * 2011-10-28 2015-08-12 富士通株式会社 動画像再符号化装置、動画像再符号化方法及び動画像再符号化用コンピュータプログラム
US9432704B2 (en) * 2011-11-06 2016-08-30 Akamai Technologies Inc. Segmented parallel encoding with frame-aware, variable-size chunking
SI3249926T1 (sl) * 2011-12-13 2019-04-30 JVC Kenwood Corporation Naprava za dekodiranje videa, postopek za dekodiranje videa in program za dekodiranje videa
US11089343B2 (en) 2012-01-11 2021-08-10 Microsoft Technology Licensing, Llc Capability advertisement, configuration and control for video coding and decoding
CN103220550B (zh) 2012-01-19 2016-12-07 华为技术有限公司 视频转换的方法及装置
US10021409B2 (en) * 2012-05-09 2018-07-10 Integrated Device Technology, Inc. Apparatuses and methods for estimating bitstream bit counts
US9532080B2 (en) 2012-05-31 2016-12-27 Sonic Ip, Inc. Systems and methods for the reuse of encoding information in encoding alternative streams of video data
US20140037005A1 (en) * 2012-08-02 2014-02-06 Penne Y. LEE Transcoding video data
US9591355B2 (en) * 2012-10-19 2017-03-07 Broadcom Corporation Decoding video streams using decoders supporting a different encoding profile
US9357210B2 (en) 2013-02-28 2016-05-31 Sonic Ip, Inc. Systems and methods of encoding multiple video streams for adaptive bitrate streaming
WO2014190308A1 (en) * 2013-05-24 2014-11-27 Sonic Ip, Inc. Systems and methods of encoding multiple video streams with adaptive quantization for adaptive bitrate streaming
US10205955B2 (en) * 2013-07-26 2019-02-12 Riversilica Technologies Pvt Ltd Method and system for transcoding a digital video
US9137285B2 (en) 2013-10-21 2015-09-15 Broadcom Corporation Adaptive audio video (AV) stream processing
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
CN105187835B (zh) * 2014-05-30 2019-02-15 阿里巴巴集团控股有限公司 基于内容的自适应视频转码方法及装置
US20160041993A1 (en) * 2014-08-05 2016-02-11 Time Warner Cable Enterprises Llc Apparatus and methods for lightweight transcoding
JP6341078B2 (ja) * 2014-12-09 2018-06-13 富士通株式会社 サーバ装置、プログラム及び情報処理方法
US10148989B2 (en) 2016-06-15 2018-12-04 Divx, Llc Systems and methods for encoding video content
US10776659B2 (en) * 2016-08-26 2020-09-15 Goodrich Corporation Systems and methods for compressing data
CN110393011B (zh) 2017-03-10 2022-02-18 联发科技股份有限公司 用于视频编解码中具有帧内方向预测模式的内含帧内编解码工具设定的方法和装置
US10771789B2 (en) 2017-05-19 2020-09-08 Google Llc Complexity adaptive rate control
US10958948B2 (en) 2017-08-29 2021-03-23 Charter Communications Operating, Llc Apparatus and methods for latency reduction in digital content switching operations
US10652296B2 (en) * 2017-10-06 2020-05-12 Arris Enterprises Llc Method and apparatus to efficiently smooth adaptive content playback in HTTP live streaming
CN111199743B (zh) * 2020-02-28 2023-08-18 Oppo广东移动通信有限公司 音频编码格式确定方法、装置、存储介质及电子设备

Family Cites Families (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2389277A1 (fr) * 1977-04-29 1978-11-24 Ibm France Procede de quantification a allocation dynamique du taux de bits disponible, et dispositif de mise en oeuvre dudit procede
FR2412987A1 (fr) * 1977-12-23 1979-07-20 Ibm France Procede de compression de donnees relatives au signal vocal et dispositif mettant en oeuvre ledit procede
EP0064119B1 (fr) * 1981-04-30 1985-08-28 International Business Machines Corporation Perfectionnement aux procédés de codage de la voix et dispositif de mise en oeuvre du procédé perfectionné
JPH0556275A (ja) * 1990-08-30 1993-03-05 Sharp Corp 画像符号化装置及び画像復号装置
DE4211945C1 (ko) * 1992-04-09 1993-05-19 Institut Fuer Rundfunktechnik Gmbh, 8000 Muenchen, De
JP3508146B2 (ja) * 1992-09-11 2004-03-22 ソニー株式会社 ディジタル信号符号化復号化装置、ディジタル信号符号化装置及びディジタル信号復号化装置
JP3185413B2 (ja) * 1992-11-25 2001-07-09 ソニー株式会社 直交変換演算並びに逆直交変換演算方法及びその装置、ディジタル信号符号化及び/又は復号化装置
US5463424A (en) * 1993-08-03 1995-10-31 Dolby Laboratories Licensing Corporation Multi-channel transmitter/receiver system providing matrix-decoding compatible signals
NL9301358A (nl) * 1993-08-04 1995-03-01 Nederland Ptt Transcodeerinrichting.
US5537440A (en) * 1994-01-07 1996-07-16 Motorola, Inc. Efficient transcoding device and method
US5515107A (en) * 1994-03-30 1996-05-07 Sigma Designs, Incorporated Method of encoding a stream of motion picture data
US5541852A (en) * 1994-04-14 1996-07-30 Motorola, Inc. Device, method and system for variable bit-rate packet video communications
US5617142A (en) * 1994-11-08 1997-04-01 General Instrument Corporation Of Delaware Method and apparatus for changing the compression level of a compressed digital signal
US5623424A (en) * 1995-05-08 1997-04-22 Kabushiki Kaisha Toshiba Rate-controlled digital video editing method and system which controls bit allocation of a video encoder by varying quantization levels
US5970173A (en) * 1995-10-05 1999-10-19 Microsoft Corporation Image compression and affine transformation for image motion compensation
US5835495A (en) * 1995-10-11 1998-11-10 Microsoft Corporation System and method for scaleable streamed audio transmission over a network
US6957350B1 (en) * 1996-01-30 2005-10-18 Dolby Laboratories Licensing Corporation Encrypted and watermarked temporal and resolution layering in advanced television
US5996022A (en) * 1996-06-03 1999-11-30 Webtv Networks, Inc. Transcoding data in a proxy computer prior to transmitting the audio data to a client
SE515535C2 (sv) * 1996-10-25 2001-08-27 Ericsson Telefon Ab L M En transkoder
JPH11275592A (ja) * 1998-01-22 1999-10-08 Victor Co Of Japan Ltd 動画像符号列変換装置及びその方法
US6466623B1 (en) * 1998-03-27 2002-10-15 Industrial Technology Research Institute Method and apparatus for motion estimation for high performance transcoding
US6434197B1 (en) * 1999-01-07 2002-08-13 General Instrument Corporation Multi-functional transcoder for compressed bit streams
US6259741B1 (en) * 1999-02-18 2001-07-10 General Instrument Corporation Method of architecture for converting MPEG-2 4:2:2-profile bitstreams into main-profile bitstreams
US6463414B1 (en) * 1999-04-12 2002-10-08 Conexant Systems, Inc. Conference bridge processing of speech in a packet network environment
US6370502B1 (en) * 1999-05-27 2002-04-09 America Online, Inc. Method and system for reduction of quantization-induced block-discontinuities and general purpose audio codec
US6426977B1 (en) * 1999-06-04 2002-07-30 Atlantic Aerospace Electronics Corporation System and method for applying and removing Gaussian covering functions
US7315815B1 (en) * 1999-09-22 2008-01-01 Microsoft Corporation LPC-harmonic vocoder with superframe structure
US6300973B1 (en) * 2000-01-13 2001-10-09 Meir Feder Method and system for multimedia communication control
JP4432188B2 (ja) * 2000-02-22 2010-03-17 ソニー株式会社 符号化フォーマット変換装置、符号化フォーマット変換システム及び方法
US6522693B1 (en) * 2000-02-23 2003-02-18 International Business Machines Corporation System and method for reencoding segments of buffer constrained video streams
US6404814B1 (en) * 2000-04-28 2002-06-11 Hewlett-Packard Company Transcoding method and transcoder for transcoding a predictively-coded object-based picture signal to a predictively-coded block-based picture signal
US6650705B1 (en) * 2000-05-26 2003-11-18 Mitsubishi Electric Research Laboratories Inc. Method for encoding and transcoding multiple video objects with variable temporal resolution
US6647061B1 (en) * 2000-06-09 2003-11-11 General Instrument Corporation Video size conversion and transcoding from MPEG-2 to MPEG-4
US6934334B2 (en) * 2000-10-02 2005-08-23 Kabushiki Kaisha Toshiba Method of transcoding encoded video data and apparatus which transcodes encoded video data
US7039116B1 (en) * 2000-11-07 2006-05-02 Cisco Technology, Inc. Methods and apparatus for embedding and format conversion of compressed video data
US7058127B2 (en) * 2000-12-27 2006-06-06 International Business Machines Corporation Method and system for video transcoding
JP3800965B2 (ja) * 2001-02-06 2006-07-26 日本ビクター株式会社 データレート変換装置
US20030028386A1 (en) * 2001-04-02 2003-02-06 Zinser Richard L. Compressed domain universal transcoder
US6925501B2 (en) * 2001-04-17 2005-08-02 General Instrument Corporation Multi-rate transcoder for digital streams
JP4038996B2 (ja) * 2001-04-27 2008-01-30 松下電器産業株式会社 信号処理装置および信号処理方法
US6757648B2 (en) * 2001-06-28 2004-06-29 Microsoft Corporation Techniques for quantization of spectral data in transcoding
JP4574090B2 (ja) * 2001-09-21 2010-11-04 三菱電機株式会社 動画データ変換装置および動画データ変換プログラム
US7027982B2 (en) * 2001-12-14 2006-04-11 Microsoft Corporation Quality and rate control strategy for digital audio
JP4193406B2 (ja) * 2002-04-16 2008-12-10 三菱電機株式会社 映像データ変換装置および映像データ変換方法
US20030206597A1 (en) * 2002-04-19 2003-11-06 Droplet Technology, Inc. System, method and computer program product for image and video transcoding
JP4275358B2 (ja) * 2002-06-11 2009-06-10 株式会社日立製作所 画像情報変換装置およびビットストリーム変換機ならびに画像情報変換送信方法
US6944224B2 (en) * 2002-08-14 2005-09-13 Intervideo, Inc. Systems and methods for selecting a macroblock mode in a video encoder
WO2004038921A2 (en) * 2002-10-23 2004-05-06 Divxnetworks, Inc. Method and system for supercompression of compressed digital video
US6961377B2 (en) * 2002-10-28 2005-11-01 Scopus Network Technologies Ltd. Transcoder system for compressed digital video bitstreams
US7318027B2 (en) * 2003-02-06 2008-01-08 Dolby Laboratories Licensing Corporation Conversion of synthesized spectral components for encoding and low-complexity transcoding
US7142601B2 (en) * 2003-04-14 2006-11-28 Mitsubishi Electric Research Laboratories, Inc. Transcoding compressed videos to reducing resolution videos
JP2004032796A (ja) * 2003-07-22 2004-01-29 Toshiba Corp 情報伝送システム
US7295612B2 (en) * 2003-09-09 2007-11-13 Apple Inc. Determining the number of unidirectional and bidirectional motion compensated frames to be encoded for a video sequence and detecting scene cuts in the video sequence
US7460990B2 (en) * 2004-01-23 2008-12-02 Microsoft Corporation Efficient coding of digital media spectral data using wide-sense perceptual similarity
US7440626B2 (en) * 2004-12-02 2008-10-21 Mitsubishi Electric Research Laboratories, Inc. Image transcoding
US20060245491A1 (en) * 2005-04-28 2006-11-02 Mehrban Jam Method and circuit for transcoding transform data
US8447121B2 (en) * 2005-09-14 2013-05-21 Microsoft Corporation Efficient integrated digital video transcoding
US8265157B2 (en) * 2007-02-07 2012-09-11 Lsi Corporation Motion vector refinement for MPEG-2 to H.264 video transcoding

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101045191B1 (ko) * 2009-06-09 2011-06-30 (주)제너시스템즈 개선된 영상 트랜스코더 및 트랜스코딩 방법

Also Published As

Publication number Publication date
CN1684518A (zh) 2005-10-19
CA2504185A1 (en) 2005-10-15
RU2005110996A (ru) 2006-10-20
EP1587327A2 (en) 2005-10-19
BRPI0501305A (pt) 2005-12-06
MXPA05004071A (es) 2005-10-19
US20050232497A1 (en) 2005-10-20
JP2005323353A (ja) 2005-11-17
AU2005201439A1 (en) 2005-10-27

Similar Documents

Publication Publication Date Title
KR20060045719A (ko) 고충실도 트랜스코딩
US8170097B2 (en) Extension to the AVC standard to support the encoding and storage of high resolution digital still pictures in series with video
US8300688B2 (en) Method for video transcoding with adaptive frame rate control
EP1145558B1 (en) System for editing compressed image sequences
US6081295A (en) Method and apparatus for transcoding bit streams with video data
US6650705B1 (en) Method for encoding and transcoding multiple video objects with variable temporal resolution
US8311095B2 (en) Method and apparatus for transcoding between hybrid video codec bitstreams
US6441754B1 (en) Apparatus and methods for transcoder-based adaptive quantization
KR100620270B1 (ko) 압축된 비디오 비트스트림들을 트랜스코딩하는 방법 및 장치
US20090141809A1 (en) Extension to the AVC standard to support the encoding and storage of high resolution digital still pictures in parallel with video
RU2313190C2 (ru) Способ и устройство для генерации масштабируемого кодированного видеосигнала из немасштабируемого кодированного видеосигнала
JP4163006B2 (ja) ドリフト補正を備えたビデオトランスコーダ
JP2003032682A (ja) 部分的に復号された入力ビットストリームのマクロブロック群を変換符号化する方法及び装置
KR101147744B1 (ko) 비디오 트랜스 코딩 방법 및 장치와 이를 이용한 pvr
US6961377B2 (en) Transcoder system for compressed digital video bitstreams
US20100020883A1 (en) Transcoder, transcoding method, decoder, and decoding method
US20050135486A1 (en) Transcoding method, medium, and apparatus
US8243798B2 (en) Methods and apparatus for scalable video bitstreams
KR100969908B1 (ko) 편집 장치 및 방법, 그리고 기록 매체
WO2004112397A1 (ja) 画像処理装置および画像処理方法、情報処理装置および情報処理方法、情報記録装置および情報記録方法、情報再生装置および情報再生方法、記録媒体、並びに、プログラム
JP2001148852A (ja) 画像情報変換装置及び画像情報変換方法
JP2002218470A (ja) 画像符号化データのレート変換方法、及び画像符号化レート変換装置
Tamanna Transcoding H. 265/HEVC
JP2004007571A (ja) 符号化装置および方法、復号装置および方法、編集装置および方法、記録媒体、並びにプログラム
JP2003219430A (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