KR20070040303A - 스케일러블 비디오 코딩 방법 및 그 코딩 방법을 이용하는코덱 - Google Patents

스케일러블 비디오 코딩 방법 및 그 코딩 방법을 이용하는코덱 Download PDF

Info

Publication number
KR20070040303A
KR20070040303A KR20060098098A KR20060098098A KR20070040303A KR 20070040303 A KR20070040303 A KR 20070040303A KR 20060098098 A KR20060098098 A KR 20060098098A KR 20060098098 A KR20060098098 A KR 20060098098A KR 20070040303 A KR20070040303 A KR 20070040303A
Authority
KR
South Korea
Prior art keywords
picture
key picture
key
current
upper layer
Prior art date
Application number
KR20060098098A
Other languages
English (en)
Other versions
KR100825737B1 (ko
Inventor
박광훈
박민우
정세윤
김규헌
홍진우
Original Assignee
한국전자통신연구원
학교법인 경희대학교
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to KR20060098098A priority Critical patent/KR100825737B1/ko
Application filed by 한국전자통신연구원, 학교법인 경희대학교 filed Critical 한국전자통신연구원
Priority to US12/089,419 priority patent/US20080232470A1/en
Priority to CN2006800465553A priority patent/CN101326828B/zh
Priority to JP2008535444A priority patent/JP5054015B2/ja
Priority to EP06799153A priority patent/EP1935180A4/en
Priority to EP20110185698 priority patent/EP2410751A1/en
Priority to CN2010102370448A priority patent/CN101964909B/zh
Priority to PCT/KR2006/004073 priority patent/WO2007043793A1/en
Publication of KR20070040303A publication Critical patent/KR20070040303A/ko
Application granted granted Critical
Publication of KR100825737B1 publication Critical patent/KR100825737B1/ko
Priority to JP2012101524A priority patent/JP2012182819A/ja
Priority to JP2012169947A priority patent/JP5497855B2/ja

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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2383Channel coding or modulation of digital bit-stream, e.g. QPSK modulation
    • 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/177Methods 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 group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • H04N19/29Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding involving scalability at the object level, e.g. video object layer [VOL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • H04N19/895Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder in combination with error concealment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2404Monitoring of server processing errors or hardware failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 GOP 단위를 구분하는 키 픽쳐들 간에 연속적인 예측에 의한 폐루프 코딩을 수행하는 스케일러블 비디오 코딩 방법 및 그 방법을 이용하는 코덱을 제공한다.
상기 스케일러블 비디오 코딩 방법은 상위 계층의 키 픽쳐에 순차적으로 번호를 부여하면서 인코딩하고, 상기 번호 인코딩되어 입력되는 상위 계층의 현재 키 픽쳐와 상기 현재 키 픽쳐 이전에 번호 인코딩되어 입력된 과거 키 픽쳐 사이에 키 픽쳐 손실을 검출하여 디코딩한다. 또한, 하위 기본 계층의 전송이 보장되는 경우 상기 키 픽쳐 손실시 하위계층의 정보를 이용하여 에러를 은닉하여 디코딩할 수 있다.
따라서, 키 픽쳐 넘버링을 통해 키 픽쳐의 손실의 여부를 알아내어 손실에 의한 에러에 효과적으로 대처할 수 있고, 하위 기본 계층의 전송이 보장되는 경우 상위 계층의 키 픽쳐 손실시 하위 계층의 대응 픽쳐의 디코딩된 영상 정보를 이용함으로써 잘못된 참조에 의해 발생하는 에러를 은닉함으로써 영상 품질 저하를 최소화할 수 있다.
SVC, 키 픽쳐, 넘버링, 에러 전파, 에러 은닉, 디코딩

Description

스케일러블 비디오 코딩 방법 및 그 코딩 방법을 이용하는 코덱{Method of Scalable Video Coding and the codec using the same}
도 1은 JSVC에서의 GOP 구조와 키 픽쳐를 나타낸 도면,
도 2는 P 픽쳐가 상실되었을 때 에러의 전파를 나타낸 도면,
도 3은 2개의 계층(layer) 구조를 갖는 JSVC 코딩의 일예를 나타낸 도면,
도 4는 도 3의 모든 계층에서 7.5Hz의 프레임율을 지원하는 구조를 나타낸 도면,
도 5는 도 4의 상위계층에서 하나의 P 픽쳐가 전송 과정에서 손실되었을 경우 에러 전파를 나타낸 도면,
도 6은 도 3의 상위계층에서 하나의 P 픽쳐가 전송 과정에서 손실되었을 경우 에러 전파를 나타낸 도면,
도 7은 본 발명의 일실시예에 따른 키 픽쳐의 넘버링을 갖는 인코딩 방법을 설명하는 흐름도,
도 8은 본 발명의 일실시예에 따른 키 픽쳐에 넘버링하였을 경우 P 픽쳐 손실 여부를 알아내는 방법의 개념도,
도 9는 본 발명의 일실시예에 따른 키 픽쳐에 넘버링하였을 경우 디코딩하는 방법을 설명하는 흐름도,
도 10은 도 5의 상위계층이 키 픽쳐 넘버링되었을 때 하나의 P 픽쳐가 전송 과정에서 손실되었을 경우 본 발명의 일실시예에 따른 에러 전파의 예를 나타낸 도면,
*도 11은 도 10에서와 같이 키 픽쳐의 넘버링을 통해 P 픽쳐의 손실을 알았을 경우 본 발명의 일실시예에 따른 하위계층의 정보를 이용하여 에러가 전파되는 것을 차단하는 방법을 나타내는 개념도,
도 12는 본 발명의 일실시예에 따른 상위 계층에서 앞서는 P 픽쳐의 손실을 알았을 경우에 하위 계층의 정보를 이용하는 방법을 설명하는 흐름도,
도 13은 “sequence parameter set”에 ‘error_concealment_flag’를 추가하여, ‘error_concealment_flag’값이 '1'인 경우에만 키 픽쳐 넘버링이 수행된 경우 본 발명의 일실시예에 따른 디코딩 방법을 설명하는 흐름도,
도 14는 AGS 코딩 결과 서브 GOP(sub-GOP) 모드가 기본 계층에서 [8, 2, 2, 2]로 선택되어 코딩된 상황과 ‘temporal_level’코딩의 일 예를 나타낸 도면,
도 15는 도 14의 상위계층에서 ‘temporal_level’이 5인 픽쳐를 드롭시켜 15Hz의 프레임율을 갖는 모습을 나타낸 일실시예 도면,
도 16은 도 14의 상위계층에서 ‘temporal_level’이 4 이상인 픽쳐를 드롭시켜 7.5Hz의 프레임율을 갖는 모습을 나타낸 일실시예 도면,
도 17은 도 14의 상위계층에서 ‘temporal_level’이 3 이상인 픽쳐를 드롭시켜서 3.75Hz의 프레임율을 지원하여야 할 때 키 픽쳐의 드롭으로 인한 에러의 모 습을 나타낸 일실시예 도면,
도 18은 실제 풋볼 CIF 3.75Hz 영상에서 잘못된 참조에 의해 깨진 디코딩 결과(0 ~ 7 픽쳐)를 나타낸 일실시예 도면,
도 19는 도 17의 상위계층의 키 픽쳐에 넘버링이 된 경우 키 픽쳐의 손실을 알았을 때에 본 발명의 일실시예에 따른 기본 계층의 정보를 이용하는 모습을 나타낸 일실시예 도면,
도 20은 실제 풋볼 CIF 3.75Hz 영상에서 에러 은닉을 통하여 디코딩한 결과를 나타낸 일실시예 도면,
도 21은 본 발명의 일실시예에 따른 ‘use_ags_flag’와 ‘key_picture_num’를 3비트를 이용하여 코딩하였을 경우에 키 픽쳐 넘버링된 비디오의 디코딩 방법을 설명하는 흐름도.
도 22는 본 발명의 일실시예에 따른 키 픽쳐 넘버링을 적용하여 인코딩을 수행하는 인코더를 나타내는 개략도,
도 23은 본 발명의 일실시예에 따른 키 픽쳐의 번호로부터 키 픽쳐의 손실을 검출하고 에러를 은닉하여 디코딩을 수행하는 디코더를 나타내는 개략도,
도 24는 본 발명의 일실시예에 따른 키 픽쳐 넘버링과 에러 은닉을 수행하는 코덱을 나타내는 개략도이다.
본 발명은 스케일러블 비디오 코딩(scalable video coding; SVC) 방법에 관한 것으로, 보다 상세하게는 키 픽쳐에 번호를 부여하여 디코딩시 키 픽쳐의 손실을 검출함으로써 에러를 은닉할 수 있는 스케일러블 비디오 코딩 방법 및 그 코딩 방법을 이용한 코덱에 관한 것이다.
도 1은 JSVC(Joint Scalable Video Coding; JSVC)에서의 GOP 구조와 키 픽쳐를 나타낸 도면이고, 도 2는 P 픽쳐가 상실되었을 때 에러의 전파를 나타낸 도면이다. 도 2의 (a)는 에러 전파 도중에 I 픽쳐가 있는 경우이고, (b)는 에러 전파 도중에 I 픽쳐가 없는 경우를 나타낸다.
도 1을 참조하면, JSVC에서 GOP(Group of Picture) 단위를 구분하는 마지막 위치의 픽쳐를 키 픽쳐(key picture)라고 한다. 상기 키 픽쳐의 간격, 즉 GOP 사이즈는 고정적이거나 가변적일 수 있는데, 시간적 스케일러빌리티(temporal scalability)가 사용되면 상기 키 픽쳐의 간격은 가변적이다.
JSVC에서는 키 픽쳐들이 I나 P 픽쳐로 코딩되는데 키 픽쳐가 P 픽쳐로 코딩될 경우에는 키 픽쳐 간에 폐루프(close-loop) 코딩을 수행한다. 폐루프는 도 2의 예와 같이 P 픽쳐들이 연속적으로 이전 P 픽쳐를 참조하여 예측하면서 코딩이 이루어지는 구조를 의미한다. 이와 같이 P 픽쳐가 폐루프로 코딩되어 있을 경우 전송선로 상의 에러로 인해 P 픽쳐가 손실될 수 있다.
도 2의 (a)는 P1 픽쳐와 P11 픽쳐가 전송 과정에서 손실되었을 경우에 에러가 전파되는 양상을 보여준다. 손실한 P1 픽쳐를 참조하여 예측 디코딩을 수행하는 P2 픽쳐는 손실한 P1 픽쳐 대신 P1 픽쳐 이전에 디코딩된 I0 픽쳐를 참조하여 예측 디코딩을 수행하게 되므로 P2 픽쳐는 에러를 포함하게 되며 그 뒤에 계속되는 P 픽쳐들에게 I8 픽쳐가 전송되기까지 계속해서 에러가 전파된다. 그리고 역시 P11 픽쳐를 참조하여 예측 디코딩을 수행하는 P12 픽쳐는 손실한 P11 픽쳐 대신 P11 픽쳐 이전에 디코딩된 P10 픽쳐를 참조하여 예측 디코딩을 수행하게 되므로 P12 픽쳐는 에러를 포함하게 되며 그 뒤에 계속되는 P 픽쳐들에게 I16 픽쳐가 전송되기까지 계속해서 에러가 전파된다.
도 2의 (b)는 도 2의 (a)와 달리 도중에 I 픽쳐가 없이 계속해 P 픽쳐로만 인코딩되어 있는 경우에 P1 픽쳐 손실시 에러가 전파되는 양상을 보여준다. 손실한 P1 픽쳐를 참조하여 예측 디코딩을 수행하는 P2 픽쳐는 손실한 P1 픽쳐 대신 P1 픽쳐 이전에 디코딩된 I0 픽쳐를 참조하여 예측 디코딩을 수행하게 되므로 에러를 포함하게 되며 그 뒤에 계속되는 P 픽쳐들은 지속적으로 에러를 포함하게 된다.
도 3은 2개의 계층(layer) 구조를 갖는 전형적인 JSVC의 코딩의 예를 도시한다. 하위 계층(k-1 layer)은 15Hz의 프레임율을 갖고 GOP 크기가 2인 영상이며, 상위 계층(k layer)은 30Hz의 프레임율을 갖고 GOP 크기가 4인 영상을 보여준다.
도 3의 하위계층에서는 B1 픽쳐를 드롭(drop) 시킴으로써 7.5Hz의 프레임율을 지원할 수 있으며, 상위 계층에서는 B2 픽쳐를 드롭(drop) 시킴으로써 15Hz의 프 레임율을 지원할 수 있고 B2 픽쳐와 B1 픽쳐를 드롭(drop) 시킴으로써 7.5Hz의 프레임율을 지원할 수 있다.
도 4는 도 3의 모든 계층에서 7.5Hz의 프레임율을 지원하는 구조를 도시한 것으로, 도 3의 하위계층에서 B1 픽쳐가 드롭(drop) 되고, 상위계층에서 B2, B1 픽쳐가 드롭(drop) 되어 모든 계층에서 7.5Hz의 프레임율을 지원한다. 이 경우 모든 계층에서 키 픽쳐만 남게 되고 키 픽쳐들간 폐루프로 코딩되어 있는 것을 확인할 수 있다.
도 5는 도 4의 상위계층에서 하나의 P 픽쳐가 전송 과정에서 손실되었을 경우 에러 전파를 나타낸 도면이다.
도 2의 예에서와 마찬가지로 다음 P 픽쳐를 디코딩할 때, 손실되기 바로 전의 P 픽쳐를 참조하게 되어 에러가 발생하고, 이 에러는 I 픽쳐가 나오기 전까지 전파된다. 만약에 마지막 픽쳐 또한 P 픽쳐일 경우 에러는 계속해서 전파된다.
따라서 상기와 같은 예에서 에러가 발생한 것을 인식하고 효과적인 조치를 취할 수 있어야 한다(만약에 하위계층이 기본계층(base layer)일 경우에는 JSVC에서는 기존의 동영상 코딩 국제 표준인 H.264를 이용하여 코딩하기 때문에 특별한 조치를 취할 수 없다.). 하지만 현재 JSVC에서는 픽쳐 버퍼에 리스트 자료 구조를 이용하여 디코딩된 픽쳐를 저장한다. 따라서 하나의 P 픽쳐를 디코딩할 때는 리스트 자료 구조 안에서 픽쳐들이 POC(Picture of counter) 정보를 이용하여 디코딩할 P 픽쳐의 POC를 중심으로 정렬이 되고, 리스트 자료구조 안에서의 위치 정보를 이 용하여 특정한 디코딩된 픽쳐를 참조하여 디코딩을 수행한다. 이러한 구조는 앞에서의 예와 같이 하나의 픽쳐가 손실이 되었을 경우, 이어서 오는 P 픽쳐가 디코딩되어질 때 픽쳐 리스트 안에 존재하는 다른 픽쳐를 참조하게 되므로 디코딩은 가능하게 되나, 잘못된 참조로부터 예측을 수행하여 에러가 발생하게 되고 이러한 에러는 지속으로 전파되는 문제점이 있다.
도 6은 도 3의 B 픽쳐를 포함하는 상위계층에서 하나의 P 픽쳐가 전송 과정에서 손실되었을 경우 P 픽쳐에서의 에러 발생 및 전파를 나타낸다.
이 경우에는 손실된 P 픽쳐가 속해있는 GOP 안에서 B 픽쳐들은 디코딩된 픽쳐 버퍼(decoded picture buffer)에 시간적으로 앞선 list0 리스트와 시간적으로 뒤에 있는 list1 리스트를 갖는데, list1에 있어야 할 P 픽쳐가 손실이 되었으므로 리스트가 비어 있게 되어 디코딩 시에 에러가 발생하게 된다. 만약에 이런 에러를 무시하고 다음 GOP로 넘어갔을 경우 도 5에서와 같이 P 픽쳐는 잘못된 참조를 갖게 되며, 또한 같은 GOP 내의 B 픽쳐들도 잘못된 참조를 갖으면서 에러가 발생한 P 픽쳐의 영향을 받기 때문에 에러가 전파되며, 이어서 오는 연속되는 GOP에서도 역시 에러가 전파된다. 따라서 에러가 발생한 것을 인식하고 효과적인 조치를 취할 수 있어야 한다.
그러나, JSVC는 모든 픽쳐에 대해 디스플레이 순서에 따라 번호를 부여하는 체계를 사용하고 있기 때문에 키 픽쳐의 드롭 (또는 손실)을 검출하기가 어려워 키 픽쳐 손실에 의한 에러에 효과적으로 대처하지 못한다.
본 발명은 상기 문제점을 해결하기 위하여 제안된 것으로, P 픽쳐가 폐루프(close-loop) 구조를 갖는 JSVC(Joint Scalable Video Coding)에서 키 픽쳐를 넘버링(numbering)함으로써 키 픽쳐의 손실의 여부를 알아내고, 손실하였을 경우에 에러에 효과적으로 대처할 수 있도록 하는 코딩 방법 및 그 방법을 이용한 코덱을 제공하는데 그 목적이 있다.
본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
상기 목적을 달성하기 위한 본 발명의 바람직한 일실시예는, GOP 단위를 구분하는 키 픽쳐들 간에 연속적인 예측에 의한 폐루프 인코딩을 수행하는 스케일러블 비디오 인코딩 방법으로서, 입력되는 픽쳐가 키 픽쳐인지 여부를 확인하는 단계; 및 상기 픽쳐가 키 픽쳐인 경우 상기 키 픽쳐에 순차적으로 번호를 부여하는 단계;를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 바람직한 일실시예는, GOP 단위를 구분하는 키 픽쳐들 간에 연속적인 예측에 의한 폐루프 디코딩을 수행하는 스케일러블 비디오 디코딩 방법으로서, 입력되는 현재 픽쳐가 키 픽쳐인지 여부를 판단하는 단계; 상기 현재 픽쳐가 키 픽쳐인 경우 상기 현재 키 픽쳐에서 키 픽쳐 번호를 읽어오는 단계; 및 상 기 현재 키 픽쳐의 픽쳐 번호와 상기 현재 키 픽쳐 이전에 입력된 과거 키 픽쳐의 픽쳐 번호의 차분 값으로부터 상기 현재 키 픽쳐와 상기 과거 키 픽쳐 사이의 키 픽쳐 손실 여부를 검출하는 단계;를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 바람직한 일실시예는, GOP 단위를 구분하는 키 픽쳐들 간에 연속적인 예측에 의한 폐루프 디코딩을 수행하는 스케일러블 비디오 디코딩 방법으로서, 상위 계층의 입력되는 현재 키 픽쳐와 상기 현재 키 픽쳐 이전에 입력된 과거 키 픽쳐 사이에 키 픽쳐 손실이 검출되면 상기 상위 계층의 현재 키 픽쳐를 매크로블록 단위로 모드 유형을 판단하는 단계; 상기 매크로블록이 인터 모드인 경우 상기 상위 계층의 현재 키 픽쳐와 시간적으로 대응하는 하위 계층의 픽쳐의 디코딩된 영상으로부터 상기 상위 계층의 현재 키 픽쳐의 매크로블록에 해당하는 영역을 탐색하는 단계; 및 상기 탐색된 영역의 데이터를 복사하여 상기 현재 키 픽쳐의 매크로블록에 부가하여 데이터를 복구하는 단계;를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 바람직한 일실시예는, GOP 단위를 구분하는 키 픽쳐들 간에 연속적인 예측에 의한 폐루프 코딩을 수행하는 스케일러블 비디오 코딩 방법으로서, 키 픽쳐에 순차적으로 번호를 부여하면서 인코딩하는 단계; 및 상기 번호 인코딩되어 입력되는 현재 키 픽쳐와 상기 현재 키 픽쳐 이전에 번호 인코딩되어 입력된 과거 키 픽쳐의 키 픽쳐 번호의 차분 값으로부터 상기 현재 키 픽쳐와 상기 과거 키 픽쳐 사이의 키 픽쳐 손실을 검출하는 단계;를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 바람직한 일실시예는, GOP 단위를 구분하는 키 픽쳐들 간에 연속적인 예측에 의한 폐루프 코딩을 수행하는 스케일러블 비디오 코딩 방법으로서, 상위 계층의 키 픽쳐에 순차적으로 번호를 부여하면서 인코딩하는 단계; 및 상기 번호 인코딩되어 입력되는 상위 계층의 현재 키 픽쳐와 상기 현재 키 픽쳐 이전에 번호 인코딩되어 입력된 과거 키 픽쳐 사이에 키 픽쳐 손실이 검출되면 상기 상위 계층의 현재 키 픽쳐와 시간적으로 대응하는 하위 계층의 픽쳐의 디코딩된 영상의 데이터를 이용하여 상기 상위 계층의 현재 키 픽쳐를 디코딩하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 바람직한 일실시예는, GOP 단위를 구분하는 키 픽쳐들 간에 연속적인 예측에 의한 폐루프 인코딩을 수행하는 스케일러블 비디오 인코더로서, 입력되는 픽쳐가 키 픽쳐인지 여부를 확인하는 키 픽쳐 확인부; 및 상기 픽쳐가 키 픽쳐인 경우 상기 키 픽쳐에 순차적으로 번호를 부여하는 키 픽쳐 번호 부여부;를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 바람직한 일실시예는, GOP 단위를 구분하는 키 픽쳐들 간에 연속적인 예측에 의한 폐루프 디코딩을 수행하는 스케일러블 비디오 디코더로서, 입력되는 현재 픽쳐가 키 픽쳐인지 여부를 판단하는 키 픽쳐 판단부; 상기 현재 픽쳐가 키 픽쳐인 경우 상기 현재 키 픽쳐에서 키 픽쳐의 번호를 읽어오는 키 픽쳐 번호 검색부; 및 상기 현재 키 픽쳐의 픽쳐 번호와 상기 현재 키 픽쳐 이전에 입력된 과거 키 픽쳐의 픽쳐 번호의 차분 값으로부터 상기 현재 키 픽쳐와 상기 과거 키 픽쳐 사이의 키 픽쳐 손실 여부를 검출하는 에러 검출부;를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 바람직한 일실시예는, GOP 단위를 구분하는 키 픽쳐들 간에 연속적인 예측에 의한 폐루프 디코딩을 수행하는 스케일러블 비디오 디코더로서, 상위 계층의 현재 입력되는 키 픽쳐와 과거 키 픽쳐 간에 키 픽쳐 손실이 검출되면 상기 상위 계층의 현재 키 픽쳐의 매크로블록 단위로 모드 유형을 판단하는 모드 판단부; 상기 매크로블록이 인터 모드인 경우 상기 상위 계층의 현재 키 픽쳐와 시간적으로 대응하는 하위 계층의 픽쳐의 디코딩된 영상으로부터 상기 상위 계층의 현재 키 픽쳐의 매크로블록에 해당하는 영역을 탐색하는 영역 탐색부; 및 상기 탐색된 영역의 데이터를 복사하여 상기 현재 키 픽쳐의 매크로블록에 부가하여 데이터를 복구하는 데이터 복구부;를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 바람직한 일실시예는, GOP 단위를 구분하는 키 픽쳐들 간에 연속적인 예측에 의한 폐루프 코딩을 수행하는 스케일러블 비디오 코덱으로서, 키 픽쳐에 순차적으로 번호를 부여하면서 인코딩하는 인코더; 및 상기 번호 인코딩되어 입력되는 현재 키 픽쳐와 상기 현재 키 픽쳐 이전에 번호 인코딩되어 입력된 과거 키 픽쳐의 키 픽쳐 번호의 차분 값으로부터 상기 현재 키 픽쳐와 상기 과거 키 픽쳐 사이의 키 픽쳐 손실을 검출하는 디코더;를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 바람직한 일실시예는, GOP 단위를 구분하는 키 픽쳐들 간에 연속적인 예측에 의한 폐루프 코딩을 수행하는 스케일러블 비디오 코덱으로서, 상위 계층의 키 픽쳐에 순차적으로 번호를 부여하면서 인코딩하는 인코더; 및 상기 번호 인코딩되어 입력되는 상위 계층의 현재 키 픽쳐와 상기 현재 키 픽쳐 이전에 번호 인코딩되어 입력된 과거 키 픽쳐 사이에 키 픽쳐 손실이 검출되면 상기 상위 계층의 현재 키 픽쳐와 시간적으로 대응하는 하위 계층의 픽쳐의 디코딩된 영상의 데이터를 이용하여 상기 상위 계층의 현재 키 픽쳐를 디코딩하는 디코더;를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 바람직한 일실시예는, GOP 단위를 구분하는 키 픽쳐들 간에 연속적인 예측에 의한 폐루프 코딩을 수행하는 스케일러블 비디오 코딩 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 것을 특징으로 한다.
이하 본 발명의 바람직한 실시예가 첨부된 도면들을 참조하여 설명될 것이다. 도면들 중 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 참조번호들 및 부호들로 나타내고 있음에 유의해야 한다. 하기에서 본 발명을 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.
도 7은 본 발명의 일실시예에 따른 픽쳐 인코딩시 키 픽쳐를 넘버링하여 인코딩하는 방법을 도시하는 흐름도이다.
픽쳐가 입력되면, 입력되는 픽쳐가 GOP 단위를 구분하는 마지막 픽쳐인 키 픽쳐인지 여부를 확인한다(S710). 만일 키 픽쳐라면 키 픽쳐에 순차적으로 n 비트를 사용하여 순환하며 번호를 부여한다(S720). 상기 번호 부여는 n 비트에 대해 2n 모듈로 연산에 의해 0부터 (2n-1)까지 순환하며 차례로 증가하는 번호를 키 픽쳐에 부여할 수 있다. 다층 구조로 인코딩될 경우에는 상위계층의 키 픽쳐에만 키 픽쳐 번호를 부여한다. 인코딩을 완료한다(S730).
만일 키 픽쳐가 아니라면 픽쳐 모드 유형에 따라 번호 부여 없이 인코딩을 수행한다(S730).
실제 키 픽쳐의 넘버링(numbering of key picture)을 JSVC에 적용할 수 있는 일 예로 “slice header in scalable extension” 구문(syntax)에 키 픽쳐의 넘버링을 인코딩하는 3 비트의 ‘key_picture_num’ 구문(syntax)을 추가하여 변경할 수 있다. 구문은 다음과 같다.
Figure 112006072869967-PAT00001
Figure 112006072869967-PAT00002
‘key_picture_num’은 슬라이스 타입(slice type)이 상위계층의 P 픽쳐나 I 픽쳐일 때 코딩된다. 그래서 키 픽쳐가 손실되었을 때, 후술되는 바와 같이 하위 계층의 정보를 이용하여 에러를 은닉할 수 있도록 한다. JSVC에서 기본계층은 기존의 동영상 국제 표준인 H.264를 이용하므로 상위계층의 슬라이스 헤더(slice header)인 “slice header in scalable extension” 구문에 ‘key_picture_num’ 구문(syntax)을 추가한다.
도 8은 본 발명의 일실시예에 따른 키 픽쳐의 넘버링을 통한 P 픽쳐 손실 여부를 알아내는 방법의 개념도이다. 3번 P 픽쳐가 손실이 되었을 경우에 4번 P 픽쳐는 앞의 P 픽쳐의 번호가 2인 것을 알고 3번 P 픽쳐가 손실되었음을 인지할 수 있다. 즉 현재 입력되는 현재 키 픽쳐의 키 픽쳐 번호와 앞서 입력된 과거 키 픽쳐의 키 픽쳐 번호의 차분값이 1 또는 -(2n-1)이 아니면 키 픽쳐 손실로 판단한다. 상기 차분값은 인코딩시 n 비트로 0부터 2n-1까지 순차적으로 번호가 부여되었으므로, 현재 키 픽쳐와 과거 키 픽쳐의 키 픽쳐 사이에 키 픽쳐 손실이 없다면 0부터 2n-1의 범위 내에서는 키 픽쳐 번호 차분값은 1 이 되고, 2n-1의 번호를 갖는 키 픽쳐에 이은 다음 키 픽쳐의 번호는 0이 되므로, 0번의 키 픽쳐에서의 차분값은 -(2n-1)이 된다.
도 9는 위와 같이 키 픽쳐에 순차적으로 n 비트를 사용하여 순환하며 순서대로 넘버링하였을 경우 본 발명의 일실시예에 따른 디코딩 방법을 설명하는 흐름도이다.
인코더로 픽쳐 (또는 슬라이스)가 입력되면, 상기 입력되는 현재 픽쳐가 GOP를 구분하는 마지막 픽쳐인 키 픽쳐인지를 판단한다(S910).
만일 키 픽쳐라면 키 픽쳐에 n 비트로 인코딩된 키 픽쳐 번호를 읽어온 다(S920). 만일 키 픽쳐가 아니라면 상기 현재 픽쳐의 모드에 따라 디코딩을 수행한다(S950).
상기 현재 키 픽쳐의 키 픽쳐 번호와 바로 앞서 입력된 과거 키 픽쳐의 키 픽쳐 번호를 차분하고(key_picture_num - prev_key_picture_num), 그 차분값이 1 또는 -(2n-1) 인지를 판단한다(S930). 일예로서 키 픽쳐 번호가 3비트를 이용하여 인코딩되었을 경우에는 현재 키 픽쳐의 키 픽쳐 번호와 과거 키 픽쳐의 키 픽쳐 번호의 차분 값이 1 또는 -7 인지를 판단하게 될 것이다.
만일 상기 차분값이 1 또는 -(2n-1)이면 상기 현재 픽쳐의 매크로블록별로 모드에 따라 디코딩을 수행하여 완료한다(S950).
만일 상기 차분값이 1 또는 -(2n-1)이 아니라면 상기 현재 키 픽쳐와 상기 과거 키 픽쳐 사이에 키 픽쳐가 손실된 것으로 인지하고 키 픽쳐 손실 정보를 에러 처리부(에러 은닉부)에 전달하여 에러를 처리한다(S940). 디코딩을 완료한다(S950).
도 10은 도 5의 상위계층이 키 픽쳐 넘버링되었을 때 하나의 P 픽쳐가 전송 과정에서 손실되었을 경우 에러 전파의 예를 나타낸 도면이다.
상위 계층에서 키 픽쳐가 넘버링이 되어있고, 전송 과정에서 3번 P 픽쳐가 손실된 경우, 뒤에 오는 4번 P 픽쳐는 이전의 키 픽쳐의 넘버가 2번이므로 키 픽쳐의 차분 값이 2가 되기 때문에 P 픽쳐가 손실 되었음을 인지하게 되는 것이다.
이하에서는 전술한 바와 같이 키 픽쳐의 넘버링(Numbering of key picture) 를 이용하여 에러를 인지하였을 경우에, 발생한 에러에 대처하기 위한 효과적인 구현의 일 예로 SVC를 위한 에러 은닉(Error concealment) 방법을 설명하겠다.
도 11은 도 10에서와 같이 키 픽쳐의 넘버링을 통해 P 픽쳐의 손실을 알았을 경우에 하위계층의 정보를 이용하여 에러가 전파되는 것을 차단하는 방법을 나타내는 개념도이다.
다층 구조를 갖는 스케일러블 비디오 코딩에서 상위계층의 P 픽쳐 손실시 하위계층의 정보를 이용할 수 있는 경우 하위계층의 정보를 이용하여 P 픽쳐 손실에 의한 에러를 처리할 수 있다. 상위 계층의 메크로블록이 인터 모드(inter mode)(픽쳐 간의 상관 관계를 이용하여 예측 인코딩을 수행한 모드)로 인코딩된 블록에 대해서는 참조가 손실되었기 때문에 하위계층의 디코딩된 영상을 그대로 사용을 하고, 인트라 모드(intra mode)(픽쳐 내의 상관 관계를 이용하여 코딩을 수행한 모드)로 인코딩된 블록에 대해서는 기존의 디코딩 방법으로 코딩을 한다. 이로써 현재 P 픽쳐 이후에 오는 P 픽쳐들에게 에러 전파를 최소화할 수 있게 된다.
도 12는 상위 계층에서 앞서는 P 픽쳐의 손실을 알았을 경우에 하위 계층의 정보를 이용하는 방법을 설명하는 본 발명의 일실시예 흐름도이다.
키 픽쳐가 입력되면, 입력되는 현재 키 픽쳐와 상기 현재 키 픽쳐 이전에 입력된 과거 키 픽쳐의 키 픽쳐 번호 차분값을 통해 상기 현재 키 픽쳐와 상기 과거 키 픽쳐 사이에 P 픽쳐가 손실되었는지 여부를 확인한다(S1210).
키 픽쳐가 손실되지 않았다면 상기 현재 키 픽쳐의 매크로블록(macroblock) 별로 모드 유형에 따라 디코딩을 수행한다(S1270). 키 픽쳐가 손실되었다면, 상기 현재 키 픽쳐를 매크로블록 단위로 인터 모드인지 인트라 모드인지 모드 유형을 판단한다(S1220).
상기 현재 키 픽쳐의 매크로블록이 인터 모드가 아니라면 현재 모드에 따라 디코딩을 수행한다(S1270). 상기 현재 키 픽쳐의 매크로블록이 인터 모드인 경우 상기 현재 키 픽쳐와 시간적으로 대응하는 하위 계층의 픽쳐의 디코딩된 영상으로부터 상기 현재 키 픽쳐의 매크로블록에 해당하는 영역을 탐색한다(S1230).
영역 탐색 후 상기 상위계층과 상기 하위계층의 공간적 해상도(spatial resolution)를 비교하여 동일 여부를 판단한다(S1240).
상기 상위계층과 상기 하위계층의 공간적 해상도가 동일하면 상기 하위계층의 탐색된 영역의 영상 데이터를 그대로 복사하여 현재 디코딩하는 상위계층 픽쳐의 매크로블록에 부가하여 데이터를 복구한다(S1260).
만일 상기 상위계층과 상기 하위계층의 공간적 해상도가 동일하지 않다면 상기 하위계층의 탐색된 영역을 상위계층의 크기와 같은 크기로 업 샘플링(up-sampling)한다(S1250).
다음으로 상기 업 샘플링된 영역의 영상 데이터를 복사하여 현재 디코딩하는 상위계층 키 픽쳐의 매크로블록에 부가하여 데이터를 복구한다(S1260).
한편 네트워크 특성상 키 픽쳐 손실에 의한 에러가 발생할 확률이 낮은 경우에는 에러 은닉 방법을 사용하는 것이 불필요할 수 있다. 이 경우에는 키 픽쳐 넘버링을 선택적으로 사용하여 특정 비트 양을 줄이도록 하는 것이 바람직하다. 즉, 키 픽쳐의 손실을 예상하여 에러 은닉을 처리할 필요성이 있을 경우에만 키 픽쳐 넘버링시 “sequence parameter set”에 ‘error_concealment_flag’를 추가하여 구현할 수 있다. "sequence parameter set”의 구문(syntax)은 다음과 같다.
Figure 112006072869967-PAT00003
Figure 112006072869967-PAT00004
Figure 112006072869967-PAT00005
또한 “slice header in scalable extension” 구문에서 키 픽쳐의 넘버링을 ‘error_concealment_flag’가 1일 경우에만 수행할 수 있도록 다음과 같이 변경할 수 있다.
Figure 112006072869967-PAT00006
Figure 112006072869967-PAT00007
도 13은 “sequence parameter set”에 ‘error_concealment_flag’를 추가하여, ‘error_concealment_flag’값이 '1'인 경우에만 키 픽쳐 넘버링이 수행된 경우 본 발명의 일실시예에 따른 디코딩 방법을 설명하는 흐름도이다.
상기 실시예는 'error_concealment_flag’와 ‘key_picture_num’를 3비트를 이용하여 코딩하였을 경우이다.
픽쳐가 입력되면, 픽쳐 (또는 슬라이스)의 타입이 키 픽쳐이고, 'error_concealment_flag’가 1인지 여부를 판단한다(S1310).
상기 ‘error_concealment_flag’가 0이거나 픽쳐 타입이 키 픽쳐가 아니라면 정해진 모드에 따라 디코딩을 하고 디코딩을 종료한다(S1350).
만일 ‘error_concealment_flag’가 1이고, 또한 픽쳐 타입이 키 픽쳐라면 키 픽쳐에 n 비트로 코딩된 키 픽쳐 번호(key_picture_num)를 읽어온다(S1320).
다음으로 현재 키 픽쳐의 키 픽쳐 번호(key_picture_num)와 상기 현재 키 픽쳐 이전에 입력된 과거 키 픽쳐의 키 픽쳐 번호(prev_key_picture_num)의 차분값이 1 또는 -7인지를 판단한다(S1330).
상기 차분값이 1 또는 -7이라면 정해진 모드에 따라 디코딩을 하고 디코딩을 종료한다(S1350).
만일 상기 차분값이 1 또는 -7이 아니라면 상기 현재 키 픽쳐와 과거 키 픽쳐 사이에 키 픽쳐 손실에 의한 에러를 인지하고, 에러 정보를 전달하여 에러를 처리한다(S1340). 디코딩을 종료한다(S1350).
이하에서는 키 픽쳐 넘버링를 이용하여 에러에 대처하기 위한 효과적인 구현의 일 예로 본 발명의 코딩 방법을 AGS(adaptive GOP structure)에 사용하는 방법을 설명한다. 현재 MPEG-4 JSVC JSVM 3.0의 엔코더 이슈로 채용된 AGS(Adaptive GOP Structure) 코딩 방법은, 시간축 상으로 7.5Hz 미만의 시간적 스케일러빌리티(temporal scalability)를 지원하지 않는다.
도 14는 AGS 코딩의 일 예로 기본계층은 15Hz의 프레임율을 갖고 16 크기의 GOP를 단위로 AGS 코딩하여 sub-GOP 모드가 [8, 2, 2, 2, 2]로 선택이 되었고, 상위 강화계층에서는 기본계층의 sub-GOP모드를 따라서 [16, 4, 4, 4]로 코딩된 상황과 시간적 스케일러빌리티를 제공하기 위한 정보인 ‘temporal_level’의 코딩된 값을 보여주고 있다.
상기 예는 시간적 스케일러빌리티는 높은 ‘tempora_level’값을 갖는 픽쳐를 익스트랙터(extractor)에서 차례로 제거하며 각각 1/2의 시간적 해상도(temporal resolution)를 가질 수 있도록 설계되어 있다. 참고로 기본 계층에서는 기존의 동영상 국제 표준인 H.264이기 때문에 ‘temporal_level’을 가질 수 없으며 NAL unit header의 ‘nal_ref_idc’ 정보를 이용하여, 어떤 영상에도 참조가 되지 않는 픽쳐를 익스트랙터에서 드롭(drop)시켜 줌으로 1/2 시간적 해상도까지 가질 수 있도록 한다.
도 15는 도 14의 상위 계층에서 ‘temporal_level’값이 5인 픽쳐를 익스트랙터에서 드롭시켜 15Hz의 프레임율을 갖는 영상의 일실시예를 도시한다.
도 16은 도 15의 상위 계층에서‘temporal_level’값이 4 이상인 픽쳐를 익스트랙터에서 드롭시켜 7.5Hz의 프레임율을 갖는 영상의 일실시예를 도시한다.
도 17은 전송 선로 상의 제약에 의하여 예상치 못하게 7.5Hz 미만 (3.75 Hz 또는 1.875 Hz 등)의 시간적 스케일러빌리티가 요구되었을 경우에 하나의 예로 3.75Hz의 프레임율을 제공하기 위해 도 16의 상위 계층에서‘temporal_level’값이 3 이상인 2번째와 4번째 GOP의 키 픽쳐를 함께 드롭시킨 일실시예를 도시한다. 즉 도 17은 도 13에서 ‘temporal_level’이 3 이상인 픽쳐를 드롭시켜서 3.75Hz의 프레임율을 가지려 할 때 키 픽쳐의 드롭으로 인한 에러의 모습을 나타낸 일실시예 도면이다.
익스트랙터는 visual bitstream의 내부 구문(syntax)를 살펴보지 않고, NAL unit header의 정보만 가지고 처리하기 때문에 키 픽쳐도 함께 드롭이 될 수 있다. 또한 키 픽쳐가 드롭이 되었지만 디코더에서는 키 픽쳐의 드롭의 사실을 알 수 없어 잘못된 참조를 이용하여 디코딩하게 되므로 에러가 발생하는 것을 막을 수 없다.
도 18은 실제 풋볼 CIF 3.75Hz 영상에서 잘못된 참조에 의한 깨진 디코딩 결과(0 ~ 7 picture)를 나타낸 일실시예 도면이다.
도 19는 도 17에서 키 픽쳐의 넘버링에 의해 상위 계층의 키 픽쳐 손실을 알았을 때에 하위 기본 계층의 정보를 이용하여 에러에 대처하는 모습을 나타낸 일실시예 도면이다.
즉, AGS 사용의 경우에도 상기와 같이 요구되는 프레임율에 따라 키 픽쳐의 드롭이 발생함으로써 발생하는 에러를 키 픽쳐의 넘버링을 사용해서 해결할 수 있을 것이다. 도 19를 참조하면, 키 픽쳐 번호(key_picture_num)가 2인 키 픽쳐가 손실이 된 경우, 키 픽쳐 번호가 3인 키 픽쳐는 앞선 키 픽쳐의 키 픽쳐 번호가 1이기 때문에 참조해야 할 키 픽쳐가 손실이 되었다는 사실을 인식하게 되고 에러 은닉의 한 방법으로서 인터 매크로블록에 대해서 하위 기본계층의 디코딩되어 재구성된 영상에서 상기 상위 계층의 인터 매크로블록과 같은 영역에 해당하는 부분의 데 이터를 그대로 가져와서 현재 디코딩하는 상기 상위 계층의 인터 매크로블록에 채워 넣는다.
이와 같은 방법을 통하여 도 18에 대응하는 풋볼 CIF 3.75Hz 시퀀스를 디코딩한 결과가 도 20에 도시되어 있다. 도 20에서 기본계층으로부터 데이터를 가지고 와서 에러를 은닉한 결과를 확인할 수 있다.
위의 방법을 이용하여 JSVC의 실시 일 예로 “sequence parameter set” 구문과 “slice header in scalable extension” 구문을 변경할 수 있다. AGS에서 낮은 시간적 스케일러빌리티를 지원할 때 (7.5Hz 미만), 키 픽쳐의 손실이 있으므로 AGS를 코딩할 때는 AGS 사용 여부에 대한 정보인 ‘use_ags_flag’를 “sequence parameter set”에 추가하여 구현할 수 있다. “sequence parameter set”의 구문은 다음과 같다.
Figure 112006072869967-PAT00008
Figure 112006072869967-PAT00009
Figure 112006072869967-PAT00010
“slice header in scalable extension” 구문서 키 픽쳐의 넘버링을 ‘ use_ags_flag가 1일 경우에만 수행할 수 있도록 다음과 같이 변경할 수 있다.
Figure 112006072869967-PAT00011
Figure 112006072869967-PAT00012
도 21은 ‘use_ags_flag’와 ‘key_picture_num’를 3비트를 이용하여 코딩하였을 경우에 본 발명의 일실시예에 따라 디코딩하는 방법을 나타내는 순서도이다.
픽쳐가 입력되면, 'use_ags_flag’가 1이고 픽쳐 (또는 슬라이스)의 타입이 키 픽쳐인지를 판단한다(S2110).
‘use_ags_flag’가 0이거나 픽쳐 타입이 키 픽쳐가 아니라면 픽쳐의 매크로블록 모드에 따라 디코딩을 수행하여 완료한다(S2160).
‘use_ags_flag’가 1이거나 픽쳐 타입이 키 픽쳐라면 키 픽쳐에 n 비트로 코딩된 키 픽쳐 번호(key_picture_num)를 읽어온다(S2120).
바로 앞 키 픽쳐의 키 픽쳐 번호(prev_key_picture_num)와 현재 키 픽쳐의 키 픽쳐 번호(key_picture_num)의 차분 값(key_picture_num-prev_key_picture_num)이 1 또는 -7 인지를 판단한다(S2130).
상기 차분값이 1 또는 -7이 아니라면 상기 현재 키 픽쳐와 바로 앞의 과거 키 픽쳐 사이에 키 픽쳐의 손실이 있음을 인지하고 에러에 대한 처리를 수행한다(S2140).
에러 은닉과 함께 현재 키 픽쳐의 디코딩을 종료한다(S2150).
키 픽쳐 넘버링을 이용하여 에러를 인지하였을 경우, 발생한 에러를 대처하기 위한 효과적인 구현의 일실시예로 에러 은닉 방법과 AGS를 함께 처리하기 위해 구문(syntax)을 다음과 같이 JSVC “sequence parameter set”에서 에러 은닉(Error concealment) 비트와 AGS 사용 비트를 공유해서 사용할 수 있다. 방법은 구문(syntax)에 에러 은닉(error concealment) 정보 비트인 ‘error_concealment_flag’를 추가하고 AGS를 사용하게 될 경우에는 무조건 1로 설정하여 낮은 프레임율(7.5Hz 미만)을 지원할 수 있도록 구현할 수 있다. “sequence parameter set”의 구문은 다음과 같다.
Figure 112006072869967-PAT00013
Figure 112006072869967-PAT00014
Figure 112006072869967-PAT00015
“slice header in scalable extension” 구문에서 키 픽쳐의 넘버링을 ‘error_concealment_flag’가 1일 경우에만 수행할 수 있도록 다음과 같이 변경할 수 있다.
Figure 112006072869967-PAT00016
Figure 112006072869967-PAT00017
‘error_concealment_flag’와 ‘key_picture_num’를 3비트를 이용하여 코딩하였을 경우에 본 발명의 일실시예에 따른 디코딩 방법은 도 13과 같다.
도 22는 본 발명의 일실시예에 따른 키 픽쳐 넘버링을 포함한 인코딩 방법이 구현되는 인코더의 개략도를 나타낸다.
도 22를 참조하면, 키 픽쳐 넘버링을 포함한 인코딩을 수행하는 인코더(2200)는 키 픽쳐 확인부(2210) 및 키 픽쳐 번호 부여부(2250)를 포함한다.
키 픽쳐 확인부(2210)는 입력되는 현재 픽쳐가 앞선 픽쳐를 참조하는 GOP를 구분하는 마지막 픽쳐인 키 픽쳐(key picture)인지 여부를 확인한다.
키 픽쳐 번호 부여부(2250)는 입력되는 현재 픽쳐가 키 픽쳐로 확인되면 n 비트를 사용하여 2n 모듈로 연산에 의해 0 에서 2n-1 까지 순차적으로 키 픽쳐 번호를 부여한다. 상기 키 픽쳐 번호 부여부(2250)는 에러 은닉을 요구하면서 키 픽쳐인 경우에만 또는 AGS를 사용하면서 키 픽쳐인 경우에만 n 비트로 순차적으로 키 픽쳐 번호를 부여할 수도 있다.
키 픽쳐에 번호를 부여하여 인코딩을 수행함으로써 디코딩시 키 픽쳐 간에 연속적으로 참조하며 디코딩을 수행하는 경우 키 픽쳐 간의 번호 차분값으로부터 키 픽쳐의 손실을 파악하여 에러 은닉 등의 에러 처리를 할 수 있게 된다. 이로 인해 잘못된 참조로 인한 에러 전파로 인한 영상 품질 저하를 최소화할 수 있게 된다.
도 23은 본 발명의 일실시예에 따른 키 픽쳐 넘버링을 포함한 인코딩된 비디오의 디코딩 방법이 구현되는 디코더의 개략도를 나타낸다.
도 23을 참조하면, 키 픽쳐 넘버링된 비디오를 디코딩하는 디코더(2300)는 키 픽쳐 판단부(2310), 키 픽쳐 번호 검색부(2330), 에러 검출부(2350) 및 에러 은닉부(2370)를 포함한다.
키 픽쳐 판단부(2310)는 현재 입력되는 픽쳐가 앞선 픽쳐를 참조하는 GOP를 구분하는 마지막 픽쳐인 키 픽쳐인지 여부를 판단한다.
키 픽쳐 번호 검색부(2330)는 상기 키 픽쳐 판단부(2310)에서 현재 픽쳐가 키 픽쳐로 판단된 경우 현재 키 픽쳐에 인코딩된 키 픽쳐 번호를 읽어온다.
에러 검출부(2350)는 차분값 비교부(2351) 및 에러 정보 전달부(2352)를 포함한다. 상기 에러 검출부(2350)는 현재 키 픽쳐의 키 픽쳐 번호(key_picture_num)와 앞서 입력된 과거 키 픽쳐의 키 픽쳐 번호(prev_key_picture_num)의 차분값을 상기 차분값 비교부(2351)에서 비교하여 그 값이 1 또는 -(2n-1)인지 여부를 판단한다. 상기 차분값이 1 또는 -(2n-1)이 아닐 경우 상기 에러 정보 전달부(2352)는 현재 키 픽쳐와 과거 키 픽쳐 사이에 키 픽쳐 손실이 있음을 인지하고 이러한 에러 정보를 에러 처리 및/또는 에러 은닉부에 전달한다. 에러 처리 및/또는 에러 은닉부는 상기 에러 정보를 수신하여 설정된 방법에 따라 에러를 처리하여 에러 전파를 최소화한다.
에러 은닉부(2370)는 다 계층 구조를 갖는 스케일러블 비디오 코딩이 수행되어 상위 계층이 하위 계층의 정보를 이용할 수 있는 경우 적용될 수 있는 본 발명의 일실시예에 따른 에러 은닉 방법을 수행한다.
상기 에러 은닉부(2370)는 모드 판단부(2371), 영역 탐색부(2372), 해상도 비교부(2373), 업 샘플링부(2374) 및 데이터 복구부(2375)를 포함한다.
에러 검출부에 의해 상위 계층의 현재 키 픽쳐와 과거 키 픽쳐 사이에 키 픽 쳐 손실이 있다고 인지된 경우, 현재 키 픽쳐의 참조 키 픽쳐가 손실되었으므로, 과거 키 픽쳐를 참조하여 디코딩을 수행함으로써 에러가 전파되는 것을 방지하여야 한다.
모드 판단부(2371)는 상기와 같이 상위 계층의 키 픽쳐 손실에 의한 에러가 검출된 경우, 현재 키 픽쳐를 매크로블록 별로 인터 모드인지 인트라 모드인지 모드를 판단한다.
영역 탐색부(2372)는 판단 대상 매크로블록이 인터 모드로 판단된 경우 현재 키 픽쳐와 시간적으로 대응하는 하위 계층의 픽쳐를 선택하고 상기 대응하는 하위 계층 픽쳐의 디코딩된 영상에서 상기 상위 계층의 현재 키 픽쳐의 매크로블록에 해당하는 영역을 탐색한다.
해상도 비교부(2373)는 상기 하위 계층 픽쳐에서 현재 키 픽쳐의 매크로블록에 해당하는 영역이 탐색된 후 상기 상위 계층과 하위 계층의 공간적 해상도(spatial resolution)가 동일한지를 비교한다.
데이터 복구부(2375)는 두 계층의 공간적 해상도가 동일한 경우 하위 계층 픽쳐의 탐색된 영역의 디코딩된 영상 데이터를 복사하여 상위 계층의 현재 키 픽쳐의 해당 매크로블록 영역에 부가함으로써 디코딩을 수행한다. 만일 두 계층의 공간적 해상도가 동일하지 않은 경우, 업 샘플링부(2374)에서 상기 하위 계층 픽쳐의 탐색된 영역을 상위 계층의 해상도와 동일한 크기로 업 샘플링하고(interpolation) 업 샘플링된 영역의 디코딩된 영상 데이터를 복사하여 상위 계층의 현재 키 픽쳐의 해당 매크로블록 영역에 부가함으로써 디코딩을 수행한다.
상기와 같이 하위 계층의 시간적으로 대응하는 픽쳐의 영상 정보를 상위 계층의 디코딩에 적용하는 에러 은닉 방법에 의해 디코딩을 수행함으로써 손실된 키 픽쳐 대신 손실된 키 픽쳐 이전의 키 픽쳐를 참조함으로써 발생되는 에러를 은닉할 수 있게 된다.
도 24는 본 발명의 일실시예에 따른 코딩을 수행하는 코덱의 개략도를 나타낸다.
도 24를 참조하면, 상기 코덱(2400)은 크게 인코더(2410)와 디코더(2450)로 구성된다.
인코더(2410)는 GOP 단위를 구분하는 키 픽쳐에 순차적으로 번호를 부여하여 인코딩한 후 디코더로 전송한다.
디코더(2450)는 키 픽쳐를 전송받아 키 픽쳐 간에 키 픽쳐 손실이 있는지 여부를 검출하고 키 픽쳐가 손실된 상위 계층에 대해 하위 계층이 존재하여 하위 계층의 영상 정보를 이용할 수 있는 경우 이에 의해 에러를 은닉하여 픽쳐를 복호화하는 디코딩을 수행한다.
상기 인코더(2410)는 키 픽쳐 확인부(2411) 및 키 픽쳐 번호 부여부(2412)를 포함한다.
키 픽쳐 확인부(2410)는 입력되는 현재 픽쳐가 키 픽쳐(key picture)인지 여부를 확인한다. 키 픽쳐 번호 부여부(2250)는 입력되는 현재 픽쳐가 키 픽쳐로 확인되면 n 비트를 사용하여 2n 모듈로 연산에 의해 0 에서 2n-1 까지 순차적으로 키 픽쳐 번호를 부여한다. 상기 키 픽쳐 번호 부여부(2250)는 에러 은닉을 요구하면서 키 픽쳐인 경우에만 또는 AGS를 사용하면서 키 픽쳐인 경우에만 n 비트로 순차적으로 키 픽쳐 번호를 부여할 수도 있다.
상기 디코더(2450)는 키 픽쳐 판단부(2451), 키 픽쳐 번호 검색부(2452), 에러 검출부(2453) 및 에러 은닉부(2455)를 포함한다.
키 픽쳐 판단부(2451)는 현재 입력되는 픽쳐가 키 픽쳐인지 여부를 판단한다. 키 픽쳐 번호 검색부(2452)는 상기 키 픽쳐 판단부(2451)에서 현재 픽쳐가 키 픽쳐로 판단된 경우 현재 키 픽쳐에 인코딩된 키 픽쳐 번호를 읽어온다.
에러 검출부(2453)는 현재 키 픽쳐의 키 픽쳐 번호(key_picture_num)와 앞서 입력된 과거 키 픽쳐의 키 픽쳐 번호(prev_key_picture_num)의 차분값을 차분값 비교부(미도시)에서 비교하여 그 값이 1 또는 -(2n-1)인지 여부를 판단한다. 상기 차분값이 1 또는 -(2n-1)이 아닐 경우 에러 정보 전달부(미도시)는 현재 키 픽쳐와 과거 키 픽쳐 사이에 키 픽쳐 손실이 있음을 인지하고 이러한 에러 정보를 에러 처리 및/또는 에러 은닉부에 전달한다. 에러 처리 및/또는 에러 은닉부는 상기 에러 정보를 수신하여 설정된 방법에 따라 에러를 처리하여 에러 전파를 최소화한다.
에러 은닉부(2454)는 다 계층 구조를 갖는 스케일러블 비디오 코딩이 수행되어 상위 계층이 하위 계층의 정보를 이용할 수 있는 경우 적용될 수 있는 본 발명의 일실시예에 따른 에러 은닉 방법을 수행하며, 모드 판단부(2455), 영역 탐색부(2456), 해상도 비교부(2457), 업 샘플링부(2458) 및 데이터 복구부(2459)를 포 함한다.
모드 판단부(2455)는 상위 계층의 키 픽쳐 손실에 의한 에러가 검출된 경우, 현재 키 픽쳐를 매크로블록 별로 인터 모드인지 인트라 모드인지 모드를 판단한다.
영역 탐색부(2456)는 대상 매크로블록이 인터 모드로 판단된 경우 현재 키 픽쳐와 시간적으로 대응하는 하위 계층의 픽쳐를 선택하고 상기 대응하는 하위 계층 픽쳐의 디코딩된 영상에서 상기 상위 계층의 현재 키 픽쳐의 매크로블록에 해당하는 영역을 탐색한다.
해상도 비교부(2457)는 상기 하위 계층 픽쳐에서 현재 키 픽쳐의 매크로블록에 해당하는 영역이 탐색된 후 상기 상위 계층과 하위 계층의 공간적 해상도(spatial resolution)가 동일한지를 비교한다.
데이터 복구부(2459)는 두 계층의 공간적 해상도가 동일한 경우 하위 계층 픽쳐의 탐색된 영역의 디코딩된 영상 데이터를 복사하여 상위 계층의 현재 키 픽쳐의 해당 매크로블록 영역에 부가함으로써 디코딩을 수행한다. 만일 두 계층의 공간적 해상도가 동일하지 않은 경우, 업 샘플링부(2458)에서 상기 하위 계층 픽쳐의 탐색된 영역을 상위 계층의 해상도와 동일한 크기로 업 샘플링하고(interpolation) 업 샘플링된 영역의 디코딩된 영상 데이터를 복사하여 상위 계층의 현재 키 픽쳐의 해당 매크로블록 영역에 부가함으로써 디코딩을 수행한다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
지금까지 본 발명에 대하여 바람직한 실시예들을 중심으로 살펴보았다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다.
그러므로 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 따라서 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
본 발명은 GOP 단위를 구분하는 키 픽쳐들 간에 연속적인 예측에 의한 폐루프 인코딩을 수행하는 JSVC(Joint Scalable Video Coding)에서 키 픽쳐에 순차적으 로 번호를 부여하는 인코딩에 의해 디코딩시 키 픽쳐의 손실의 여부를 알아내어 손실에 의한 에러에 효과적으로 대처할 수 있도록 한다.
본 발명은 다 계층 구조의 비디오 스트림으로 하위 기본 계층의 전송이 보장되는 경우 상위 계층의 키 픽쳐 손실시 하위 계층의 대응 픽쳐의 디코딩된 영상 정보를 이용함으로써 잘못된 참조에 의해 발생하는 에러를 은닉함으로써 영상 품질 저하를 최소화할 수 있다.
그리고 본 발명은 시스템 특성상 에러 발생이 희박한 경우, 에러 검출 및 에러 은닉을 위한 키 픽쳐 번호 부여를 위한 추가 비트 사용 여부를 선택케 함으로써 비트량을 절감할 수도 있다.
또한 본 발명의 키 픽쳐 넘버링에 의한 코딩 방법은 AGS 사용의 경우 7.5Hz 이하의 프레임율을 지원해야 함에 따라 키 픽쳐의 드롭이 발생하는 경우에 적용할 수 있어 에러 검출 및 에러 은닉을 효과적으로 수행할 수 있게 한다.

Claims (23)

  1. GOP 단위를 구분하는 키 픽쳐들 간에 연속적인 예측에 의한 폐루프 인코딩을 수행하는 스케일러블 비디오 인코딩 방법에 있어서,
    입력되는 픽쳐가 키 픽쳐인지 여부를 확인하는 단계; 및
    상기 픽쳐가 키 픽쳐인 경우 상기 키 픽쳐에 순차적으로 번호를 부여하는 단계;를 포함하는 스케일러블 비디오 인코딩 방법.
  2. 제1항에 있어서, 상기 키 픽쳐 번호 부여 단계는
    상기 키 픽쳐에 n비트를 사용하여 2n 모듈로 연산에 의해 순환하며 순서대로 키 픽쳐 번호를 부여하는 단계를 포함하는 스케일러블 비디오 인코딩 방법.
  3. GOP 단위를 구분하는 키 픽쳐들 간에 연속적인 예측에 의한 폐루프 디코딩을 수행하는 스케일러블 비디오 디코딩 방법에 있어서,
    입력되는 현재 픽쳐가 키 픽쳐인지 여부를 판단하는 단계;
    상기 현재 픽쳐가 키 픽쳐인 경우 상기 현재 키 픽쳐에서 키 픽쳐 번호를 읽어오는 단계; 및
    상기 현재 키 픽쳐의 픽쳐 번호와 상기 현재 키 픽쳐 이전에 입력된 과거 키 픽쳐의 픽쳐 번호의 차분 값으로부터 상기 현재 키 픽쳐와 상기 과거 키 픽쳐 사이 의 키 픽쳐 손실 여부를 검출하는 단계;를 포함하는 스케일러블 비디오 디코딩 방법.
  4. 제3항에 있어서, 상기 키 픽쳐 손실 검출 단계는
    상기 현재 키 픽쳐의 픽쳐 번호와 상기 과거 키 픽쳐의 픽쳐 번호의 차분 값이 1 또는 -(2n-1)인지 판단하는 단계; 및
    상기 차분 값이 1 또는 -(2n-1)이 아닌 경우 키 픽쳐 손실의 에러 정보를 전달하는 단계;를 포함하는 스케일러블 비디오 디코딩 방법.
  5. GOP 단위를 구분하는 키 픽쳐들 간에 연속적인 예측에 의한 폐루프 디코딩을 수행하는 스케일러블 비디오 디코딩 방법에 있어서,
    상위 계층의 입력되는 현재 키 픽쳐와 상기 현재 키 픽쳐 이전에 입력된 과거 키 픽쳐 사이에 키 픽쳐 손실이 검출되면 상기 상위 계층의 현재 키 픽쳐를 매크로블록 단위로 모드 유형을 판단하는 단계;
    상기 매크로블록이 인터 모드인 경우 상기 상위 계층의 현재 키 픽쳐와 시간적으로 대응하는 하위 계층의 픽쳐의 디코딩된 영상으로부터 상기 상위 계층의 현재 키 픽쳐의 매크로블록에 해당하는 영역을 탐색하는 단계; 및
    상기 탐색된 영역의 데이터를 복사하여 상기 현재 키 픽쳐의 매크로블록에 부가하여 데이터를 복구하는 단계;를 포함하는 스케일러블 비디오 디코딩 방법.
  6. 제5항에 있어서, 상기 데이터 복구 단계는
    상기 상위 계층과 상기 하위 계층의 공간적 해상도를 비교하는 단계;
    상기 두 계층의 공간적 해상도가 동일한 경우 상기 탐색된 영역의 데이터를 그대로 복사하여 상기 현재 키 픽쳐의 매크로블록에 부가하여 데이터를 복구하는 단계; 및
    상기 두 계층의 공간적 해상도가 동일하지 않은 경우 상기 탐색된 영역을 상기 상위 계층과 같은 크기로 업 샘플링하고, 상기 업 샘플링된 영역의 데이터를 복사하여 상기 현재 키 픽쳐의 매크로블록에 부가하여 데이터를 복구하는 단계;를 포함하는 스케일러블 비디오 디코딩 방법.
  7. GOP 단위를 구분하는 키 픽쳐들 간에 연속적인 예측에 의한 폐루프 코딩을 수행하는 스케일러블 비디오 코딩 방법에 있어서,
    키 픽쳐에 순차적으로 번호를 부여하면서 인코딩하는 단계; 및
    상기 번호 인코딩되어 입력되는 현재 키 픽쳐와 상기 현재 키 픽쳐 이전에 번호 인코딩되어 입력된 과거 키 픽쳐의 키 픽쳐 번호의 차분 값으로부터 상기 현재 키 픽쳐와 상기 과거 키 픽쳐 사이의 키 픽쳐 손실을 검출하는 단계;를 포함하는 스케일러블 비디오 코딩 방법.
  8. 제7항에 있어서, 상기 키 픽쳐 손실 검출 단계는,
    상기 현재 키 픽쳐의 픽쳐 번호와 상기 과거 키 픽쳐의 픽쳐 번호의 차분 값이 1 또는 -(2n-1)인지 판단하는 단계; 및
    상기 차분 값이 1 또는 -(2n-1)이 아닌 경우 키 픽쳐 손실 에러 정보를 전달하는 단계;를 포함하는 스케일러블 비디오 코딩 방법.
  9. GOP 단위를 구분하는 키 픽쳐들 간에 연속적인 예측에 의한 폐루프 코딩을 수행하는 스케일러블 비디오 코딩 방법에 있어서,
    상위 계층의 키 픽쳐에 순차적으로 번호를 부여하면서 인코딩하는 단계; 및
    상기 번호 인코딩되어 입력되는 상위 계층의 현재 키 픽쳐와 상기 현재 키 픽쳐 이전에 번호 인코딩되어 입력된 과거 키 픽쳐 사이에 키 픽쳐 손실이 검출되면 상기 상위 계층의 현재 키 픽쳐와 시간적으로 대응하는 하위 계층의 픽쳐의 디코딩된 영상의 데이터를 이용하여 상기 상위 계층의 현재 키 픽쳐를 디코딩하는 단계를 포함하는 스케일러블 비디오 코딩 방법.
  10. 제9항에 있어서, 상기 디코딩 단계는,
    상위 계층의 현재 키 픽쳐와 과거 키 픽쳐 사이에 키 픽쳐 손실이 검출되면 상기 상위 계층의 현재 키 픽쳐를 매크로블록 단위로 모드 유형을 판단하는 단계;
    상기 매크로블록이 인터 모드인 경우 상기 상위 계층의 현재 키 픽쳐와 하위 계층의 대응 픽쳐의 디코딩된 영상으로부터 상기 상위 계층의 현재 키 픽쳐의 매크 로블록에 해당하는 영역을 탐색하는 단계; 및
    상기 탐색된 영역의 데이터를 복사하여 상기 현재 키 픽쳐의 매크로블록에 부가하여 데이터를 복구하는 단계;를 포함하는 스케일러블 비디오 코덱.
  11. 제10항에 있어서, 상기 데이터 복구 단계는,
    상기 상위 계층과 상기 하위 계층의 공간적 해상도를 비교하는 단계;
    상기 두 계층의 공간적 해상도가 동일한 경우 상기 탐색된 영역의 데이터를 그대로 복사하여 상기 현재 키 픽쳐의 매크로블록에 부가하여 데이터를 복구하는 단계; 및
    상기 두 계층의 공간적 해상도가 동일하지 않은 경우 상기 탐색된 영역을 상기 상위 계층과 같은 크기로 업 샘플링하고, 상기 업 샘플링된 영역의 데이터를 복사하여 상기 현재 키 픽쳐의 매크로블록에 부가하여 데이터를 복구하는 단계;를 포함하는 스케일러블 비디오 코딩 방법.
  12. GOP 단위를 구분하는 키 픽쳐들 간에 연속적인 예측에 의한 폐루프 인코딩을 수행하는 스케일러블 비디오 인코더에 있어서,
    입력되는 픽쳐가 키 픽쳐인지 여부를 확인하는 키 픽쳐 확인부; 및
    상기 픽쳐가 키 픽쳐인 경우 상기 키 픽쳐에 순차적으로 번호를 부여하는 키 픽쳐 번호 부여부;를 포함하는 스케일러블 비디오 인코더.
  13. 제12항에 있어서, 상기 키 픽쳐 번호 부여부는
    상기 키 픽쳐에 n비트를 사용하여 2n 모듈로 연산에 의해 순환하며 순서대로 키 픽쳐 번호를 부여하는 스케일러블 비디오 인코더.
  14. GOP 단위를 구분하는 키 픽쳐들 간에 연속적인 예측에 의한 폐루프 디코딩을 수행하는 스케일러블 비디오 디코더에 있어서,
    입력되는 현재 픽쳐가 키 픽쳐인지 여부를 판단하는 키 픽쳐 판단부;
    상기 현재 픽쳐가 키 픽쳐인 경우 상기 현재 키 픽쳐에서 키 픽쳐의 번호를 읽어오는 키 픽쳐 번호 검색부; 및
    상기 현재 키 픽쳐의 픽쳐 번호와 상기 현재 키 픽쳐 이전에 입력된 과거 키 픽쳐의 픽쳐 번호의 차분 값으로부터 상기 현재 키 픽쳐와 상기 과거 키 픽쳐 사이의 키 픽쳐 손실 여부를 검출하는 에러 검출부;를 포함하는 스케일러블 비디오 디코더.
  15. 제14항에 있어서, 상기 에러 검출부는,
    상기 현재 키 픽쳐의 픽쳐 번호와 상기 과거 키 픽쳐의 픽쳐 번호의 차분 값이 1 또는 -(2n-1)인지 판단하는 차분값 비교부; 및
    상기 차분 값이 1 또는 -(2n-1)이 아닌 경우 키 픽쳐 손실의 에러 정보를 전달하는 에러 정보 전달부;를 포함하는 스케일러블 비디오 디코더.
  16. GOP 단위를 구분하는 키 픽쳐들 간에 연속적인 예측에 의한 폐루프 디코딩을 수행하는 스케일러블 비디오 디코더에 있어서,
    상위 계층의 현재 입력되는 키 픽쳐와 과거 키 픽쳐 간에 키 픽쳐 손실이 검출되면 상기 상위 계층의 현재 키 픽쳐의 매크로블록 단위로 모드 유형을 판단하는 모드 판단부;
    상기 매크로블록이 인터 모드인 경우 상기 상위 계층의 현재 키 픽쳐와 시간적으로 대응하는 하위 계층의 픽쳐의 디코딩된 영상으로부터 상기 상위 계층의 현재 키 픽쳐의 매크로블록에 해당하는 영역을 탐색하는 영역 탐색부; 및
    상기 탐색된 영역의 데이터를 복사하여 상기 현재 키 픽쳐의 매크로블록에 부가하여 데이터를 복구하는 데이터 복구부;를 포함하는 스케일러블 비디오 디코더.
  17. 제16항에 있어서,
    상기 영역 탐색 후 상기 상위 계층과 상기 하위 계층의 공간적 해상도를 비교하는 해상도 비교부; 및
    상기 두 계층의 공간적 해상도가 동일하지 않은 경우 상기 탐색된 영역을 상기 상위 계층과 같은 크기로 업 샘플링하는 업 샘플링부;를 더 포함하고,
    상기 데이터 복구부는 상기 두 계층의 공간적 해상도가 동일한 경우 상기 탐색된 영역의 데이터를 그대로 복사하여 상기 현재 키 픽쳐의 매크로블록에 부가하 여 데이터를 복구하고, 상기 두 계층의 공간적 해상도가 동일하지 않은 경우 상기 업 샘플링된 영역의 데이터를 복사하여 상기 현재 키 픽쳐의 매크로블록에 부가하여 데이터를 복구하는 스케일러블 비디오 디코더.
  18. GOP 단위를 구분하는 키 픽쳐들 간에 연속적인 예측에 의한 폐루프 코딩을 수행하는 스케일러블 비디오 코덱에 있어서,
    키 픽쳐에 순차적으로 번호를 부여하면서 인코딩하는 인코더; 및
    상기 번호 인코딩되어 입력되는 현재 키 픽쳐와 상기 현재 키 픽쳐 이전에 번호 인코딩되어 입력된 과거 키 픽쳐의 키 픽쳐 번호의 차분 값으로부터 상기 현재 키 픽쳐와 상기 과거 키 픽쳐 사이의 키 픽쳐 손실을 검출하는 디코더;를 포함하는 스케일러블 비디오 코덱.
  19. 제18항에 있어서, 상기 디코더는,
    상기 현재 키 픽쳐의 픽쳐 번호와 상기 과거 키 픽쳐의 픽쳐 번호의 차분 값이 1 또는 -(2n-1)인지 판단하는 차분 값 비교부; 및
    상기 차분 값이 1 또는 -(2n-1)이 아닌 경우 키 픽쳐 손실의 에러 정보를 전달하는 에러 정보 전달부;를 포함하는 스케일러블 비디오 코덱.
  20. GOP 단위를 구분하는 키 픽쳐들 간에 연속적인 예측에 의한 폐루프 코딩을 수행하는 스케일러블 비디오 코덱에 있어서,
    상위 계층의 키 픽쳐에 순차적으로 번호를 부여하면서 인코딩하는 인코더; 및
    상기 번호 인코딩되어 입력되는 상위 계층의 현재 키 픽쳐와 상기 현재 키 픽쳐 이전에 번호 인코딩되어 입력된 과거 키 픽쳐 사이에 키 픽쳐 손실이 검출되면 상기 상위 계층의 현재 키 픽쳐와 시간적으로 대응하는 하위 계층의 픽쳐의 디코딩된 영상의 데이터를 이용하여 상기 상위 계층의 현재 키 픽쳐를 디코딩하는 디코더;를 포함하는 스케일러블 비디오 코덱.
  21. 제20항에 있어서, 상기 디코더는,
    상위 계층의 현재 입력되는 키 픽쳐와 과거 키 픽쳐 간에 키 픽쳐 손실이 검출되면 상기 상위 계층의 현재 키 픽쳐의 매크로블록 단위로 모드 유형을 판단하는 모드 판단부;
    상기 매크로블록이 인터 모드인 경우 상기 하위 계층의 대응 픽쳐의 디코딩된 영상으로부터 상기 상위 계층의 현재 키 픽쳐의 매크로블록에 해당하는 영역을 탐색하는 영역 탐색부; 및
    상기 탐색된 영역의 데이터를 복사하여 상기 현재 키 픽쳐의 매크로블록에 부가하여 데이터를 복구하는 데이터 복구부;를 포함하는 스케일러블 비디오 코덱.
  22. 제21항에 있어서,
    상기 영역 탐색 후 상기 상위 계층과 상기 하위 계층의 공간적 해상도를 비교하는 해상도 비교부; 및
    상기 두 계층의 공간적 해상도가 동일하지 않은 경우 상기 탐색된 영역을 상기 상위 계층과 같은 크기로 업 샘플링하는 업 샘플링부;를 더 포함하고,
    상기 데이터 복구부는 상기 두 계층의 공간적 해상도가 동일한 경우 상기 탐색된 영역의 데이터를 그대로 복사하여 상기 현재 키 픽쳐의 매크로블록에 부가하여 데이터를 복구하고, 상기 두 계층의 공간적 해상도가 동일하지 않은 경우 상기 업 샘플링된 영역의 데이터를 복사하여 상기 현재 키 픽쳐의 매크로블록에 부가하여 데이터를 복구하는 스케일러블 비디오 코덱.
  23. 제1항 내지 제11항 중 어느 한 항에 기재된 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR20060098098A 2005-10-11 2006-10-09 스케일러블 비디오 코딩 방법 및 그 코딩 방법을 이용하는코덱 KR100825737B1 (ko)

Priority Applications (10)

Application Number Priority Date Filing Date Title
KR20060098098A KR100825737B1 (ko) 2005-10-11 2006-10-09 스케일러블 비디오 코딩 방법 및 그 코딩 방법을 이용하는코덱
CN2006800465553A CN101326828B (zh) 2005-10-11 2006-10-10 分层视频编码的方法及使用该方法的编解码器
JP2008535444A JP5054015B2 (ja) 2005-10-11 2006-10-10 スケーラブルビデオコーディング方法及びそのコーディング方法を利用するコーデック
EP06799153A EP1935180A4 (en) 2005-10-11 2006-10-10 SCALABLE VIDEO CODING METHOD AND CODEC USING THE SAME
US12/089,419 US20080232470A1 (en) 2005-10-11 2006-10-10 Method of Scalable Video Coding and the Codec Using the Same
EP20110185698 EP2410751A1 (en) 2005-10-11 2006-10-10 Method of scalable video coding and the codec using the same
CN2010102370448A CN101964909B (zh) 2005-10-11 2006-10-10 分层视频编码和解码的方法
PCT/KR2006/004073 WO2007043793A1 (en) 2005-10-11 2006-10-10 Method of scalable video coding and the codec using the same
JP2012101524A JP2012182819A (ja) 2005-10-11 2012-04-26 スケーラブルビデオコーディング方法及びそのコーディング方法を利用するコーデック
JP2012169947A JP5497855B2 (ja) 2005-10-11 2012-07-31 スケーラブルビデオコーディング方法及びそのコーディング方法を利用するコーデック

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR20050095222 2005-10-11
KR1020050095222 2005-10-11
KR20060098098A KR100825737B1 (ko) 2005-10-11 2006-10-09 스케일러블 비디오 코딩 방법 및 그 코딩 방법을 이용하는코덱

Publications (2)

Publication Number Publication Date
KR20070040303A true KR20070040303A (ko) 2007-04-16
KR100825737B1 KR100825737B1 (ko) 2008-04-29

Family

ID=37942990

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20060098098A KR100825737B1 (ko) 2005-10-11 2006-10-09 스케일러블 비디오 코딩 방법 및 그 코딩 방법을 이용하는코덱

Country Status (6)

Country Link
US (1) US20080232470A1 (ko)
EP (2) EP2410751A1 (ko)
JP (3) JP5054015B2 (ko)
KR (1) KR100825737B1 (ko)
CN (2) CN101326828B (ko)
WO (1) WO2007043793A1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9560367B2 (en) * 2004-09-03 2017-01-31 Nokia Technologies Oy Parameter set and picture header in video coding
KR100825737B1 (ko) 2005-10-11 2008-04-29 한국전자통신연구원 스케일러블 비디오 코딩 방법 및 그 코딩 방법을 이용하는코덱
CN101371312B (zh) * 2005-12-08 2015-12-02 维德约股份有限公司 用于视频通信系统中的差错弹性和随机接入的系统和方法
FR2895172A1 (fr) * 2005-12-20 2007-06-22 Canon Kk Procede et dispositif de codage d'un flux video code suivant un codage hierarchique, flux de donnees, procede et dispositif de decodage associes
FR2932050B1 (fr) * 2008-06-03 2010-05-21 Canon Kk Procede et dispositif de transmission de donnees video
KR101739821B1 (ko) * 2008-07-22 2017-05-25 톰슨 라이센싱 스케일러블 비디오 코딩(svc)디코딩에서 향상 계층의 패킷 분실에 기인한 오류 은폐를 위한 방법
US11496760B2 (en) 2011-07-22 2022-11-08 Qualcomm Incorporated Slice header prediction for depth maps in three-dimensional video codecs
US9521418B2 (en) 2011-07-22 2016-12-13 Qualcomm Incorporated Slice header three-dimensional video extension for slice header prediction
WO2013022281A2 (ko) 2011-08-09 2013-02-14 삼성전자 주식회사 다시점 비디오 예측 부호화 방법 및 그 장치, 다시점 비디오 예측 복호화 방법 및 그 장치
US9288505B2 (en) 2011-08-11 2016-03-15 Qualcomm Incorporated Three-dimensional video with asymmetric spatial resolution
US9485503B2 (en) 2011-11-18 2016-11-01 Qualcomm Incorporated Inside view motion prediction among texture and depth view components
US10536726B2 (en) 2012-02-24 2020-01-14 Apple Inc. Pixel patch collection for prediction in video coding system
US20130223524A1 (en) * 2012-02-29 2013-08-29 Microsoft Corporation Dynamic insertion of synchronization predicted video frames
US9451288B2 (en) * 2012-06-08 2016-09-20 Apple Inc. Inferred key frames for fast initiation of video coding sessions
KR20140092198A (ko) 2013-01-07 2014-07-23 한국전자통신연구원 계층적 비디오 부호화에서의 스케일러빌리티 정보 표현방식
WO2014163467A1 (ko) * 2013-04-05 2014-10-09 삼성전자 주식회사 랜덤 엑세스를 위한 멀티 레이어 비디오 부호화 방법 및 그 장치, 랜덤 엑세스를 위한 멀티 레이어 비디오 복호화 방법 및 그 장치
US11438609B2 (en) 2013-04-08 2022-09-06 Qualcomm Incorporated Inter-layer picture signaling and related processes
CN116309913B (zh) * 2023-03-16 2024-01-26 沈阳工业大学 一种基于生成对抗网络asg-gan文本描述生成图像方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2343321B (en) * 1998-11-02 2003-03-26 Nokia Mobile Phones Ltd Error concealment in a video signal
JP2003519971A (ja) * 1999-12-30 2003-06-24 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ カット検出におけるフォールスポジティブを低減するための方法及び装置
GB2362531A (en) * 2000-05-15 2001-11-21 Nokia Mobile Phones Ltd Indicating the temporal order of reference frames in a video sequence
JP2001359103A (ja) * 2000-06-12 2001-12-26 Ntt Docomo Inc 動画像データ符号化装置、動画像データ伝送方法および動画像データ復号装置
EP1371225B1 (en) * 2001-03-12 2014-08-13 Polycom, Inc. Video encoding and transporting method for concealing the effects of packet loss in multi-channel packet switched networks
FR2828979A1 (fr) * 2001-08-23 2003-02-28 Cit Alcatel Compresseur, decompresseur, bloc de donnees et procede de gestion de ressources
US20030118097A1 (en) * 2001-12-21 2003-06-26 Koninklijke Philips Electronics N.V. System for realization of complexity scalability in a layered video coding framework
CN1444398A (zh) * 2002-03-12 2003-09-24 中国科学院计算技术研究所 基于关键帧的视频流索引播放系统
EP1359722A1 (en) * 2002-03-27 2003-11-05 BRITISH TELECOMMUNICATIONS public limited company Data streaming system and method
KR20050075578A (ko) * 2004-01-16 2005-07-21 삼성전자주식회사 폐루프 최적화를 지원하는 스케일러블 비디오 엔코딩 방법및 장치
KR20050078099A (ko) * 2004-01-30 2005-08-04 삼성전자주식회사 적응적으로 키 프레임을 삽입하는 비디오 코딩 장치 및 방법
KR100825737B1 (ko) 2005-10-11 2008-04-29 한국전자통신연구원 스케일러블 비디오 코딩 방법 및 그 코딩 방법을 이용하는코덱

Also Published As

Publication number Publication date
JP5497855B2 (ja) 2014-05-21
JP2012231537A (ja) 2012-11-22
JP2009512317A (ja) 2009-03-19
KR100825737B1 (ko) 2008-04-29
EP1935180A4 (en) 2011-05-11
JP2012182819A (ja) 2012-09-20
CN101964909B (zh) 2012-07-04
US20080232470A1 (en) 2008-09-25
EP2410751A1 (en) 2012-01-25
CN101326828A (zh) 2008-12-17
CN101326828B (zh) 2011-06-08
JP5054015B2 (ja) 2012-10-24
CN101964909A (zh) 2011-02-02
EP1935180A1 (en) 2008-06-25
WO2007043793A1 (en) 2007-04-19

Similar Documents

Publication Publication Date Title
KR100825737B1 (ko) 스케일러블 비디오 코딩 방법 및 그 코딩 방법을 이용하는코덱
US8612498B2 (en) Channel switch frame
US20090161762A1 (en) Method of scalable video coding for varying spatial scalability of bitstream in real time and a codec using the same
AU2003203271B2 (en) Image coding method and apparatus and image decoding method and apparatus
KR101352978B1 (ko) 향상된 계층간 참조 영상 지정, 복호 방법 및 그 장치
EP1905242A1 (en) Method for decoding video signal encoded through inter-layer prediction
US20090103613A1 (en) Method for Decoding Video Signal Encoded Using Inter-Layer Prediction
JP5502798B2 (ja) チャネル交換フレーム
US20100303151A1 (en) Method for decoding video signal encoded using inter-layer prediction
KR20050074812A (ko) 전송 에러가 발생한 지점을 탐지하여 바르게 디코딩된데이터를 복원하는 디코딩 방법 및 그 디코딩 장치
KR101366244B1 (ko) 레지듀얼 데이터를 이용한 영상의 에러 은닉 방법 및 장치
US20130230108A1 (en) Method and device for decoding a bitstream
CA2474931A1 (en) Video processing
Lin et al. Frame based redundant-macro-block error resilient in scalable video coding
TW201342930A (zh) 動態影像編碼裝置、動態影像編碼方法、動態影像編碼程式、送訊裝置、送訊方法及送訊程式、以及動態影像解碼裝置、動態影像解碼方法、動態影像解碼程式、收訊裝置、收訊方法及收訊程式
JP2006121732A (ja) 動画像復号化装置及び動画像復号化方法
JP2001309391A (ja) 動画像復号化装置及び動画像復号化方法

Legal Events

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

Payment date: 20120330

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20130325

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160330

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170327

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20180406

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190325

Year of fee payment: 12