KR101345015B1 - 비디오 데이터 코딩 장치, 방법, 시스템 및 비디오 데이터디코딩 방법 - Google Patents

비디오 데이터 코딩 장치, 방법, 시스템 및 비디오 데이터디코딩 방법 Download PDF

Info

Publication number
KR101345015B1
KR101345015B1 KR1020060125469A KR20060125469A KR101345015B1 KR 101345015 B1 KR101345015 B1 KR 101345015B1 KR 1020060125469 A KR1020060125469 A KR 1020060125469A KR 20060125469 A KR20060125469 A KR 20060125469A KR 101345015 B1 KR101345015 B1 KR 101345015B1
Authority
KR
South Korea
Prior art keywords
slices
decoding
video data
coding
picture
Prior art date
Application number
KR1020060125469A
Other languages
English (en)
Other versions
KR20070062428A (ko
Inventor
브루노 가르니어
프레데릭 파스퀴에르
실바인 파브르
Original Assignee
톰슨 라이센싱
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 톰슨 라이센싱 filed Critical 톰슨 라이센싱
Publication of KR20070062428A publication Critical patent/KR20070062428A/ko
Application granted granted Critical
Publication of KR101345015B1 publication Critical patent/KR101345015B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • 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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • 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/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
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4348Demultiplexing of additional data and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • H04N21/6336Control signals issued by server directed to the network components or client directed to client directed to decoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8451Structuring of content, e.g. decomposing content into time segments using Advanced Video Coding [AVC]

Landscapes

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

Abstract

본 발명은 비디오 데이터를 코딩하는 장치 및 방법에 관한 것이다. 상기 장치는 각 픽처를 픽처 슬라이스로 코딩하는 수단을 포함하고, 각 슬라이스는 다른 슬라이스와 독립적으로 코딩된다. 본 발명에 따라, 상기 장치는 픽처를 슬라이스로 분해하는 것에 관련하는 구조를 지시하는 적어도 하나의 메시지(SEI)를 데이터 스트림에 삽입하는 수단을 포함한다.
본 발명은 또한 비디오 데이터를 디코딩하는 시스템 및 방법에 관한 것으로, 상기 비디오 데이터는 슬라이스로 코딩되고, 슬라이스 각각은 다른 슬라이스와 독립적으로 코딩된다. 본 발명에 따라, 코딩 시스템은, 데이터를 슬라이스로 분해한 것을 확인하기 위해 비디오 데이터를 분석하는 수단, 비디오 데이터를 슬라이스별로 디코딩하는 수단, 디코딩된 비디오 데이터를 재구성하기 위해 슬라이스들을 디코딩한 후에 다양한 비디오 데이터를 재구성하는 수단을 포함한다.
H.264 표준에 적용된다.
코딩, 디코딩, 슬라이스, 픽처, 분해, 비디오 데이터

Description

비디오 데이터 코딩 장치, 방법, 시스템 및 비디오 데이터 디코딩 방법{DEVICE FOR CODING, METHOD FOR CODING, SYSTEM FOR CODING, METHOD FOR DECODING VIDEO DATA}
도 1은 본 발명에 따라 코딩된 스트림 구조를 도시하는 도면.
도 2는 본 발명에 따른 코딩 장치를 도시하는 도면.
도 3은 본 발명에 따른 디코딩 장치를 도시하는 도면.
도 4는 GOP 디코딩 중 스트림 분석을 나타내는 플로차트.
<도면의 주요 부분에 대한 부호의 설명>
101: 움직임 추정 모듈
102: 움직임 보상 모듈
103: 차감기
104: 변환 모듈
105: 양자화 모듈
106: 역 양자화 모듈
107: 역 변환 모듈
108: 인트라 예측 모듈
109: 인트라 예측 선택 모듈
110: 필터
본 발명은 비디오 데이터를 코딩하는 장치 및 방법, 디코딩하는 방법 및 시스템에 관한 것이다.
본 발명은, 보다 상세하게는, 코딩된 픽처를 용이하게 디코딩할 수 있도록 하는 임의의 수의 정보 요소와 함께 코딩된 픽처가 전송되는 코딩 표준에 관한 것이다.
MPEG-2 및 보다 최근에는 H.264 같은 압축 표준은 코딩 픽처를 GOP(group of picture) 형태로 전송하며, 후자는 또한 GOP의 구조를 설명하는 정보를 포함하고, 이 정보는 후속하여 픽처의 디코딩을 위한 디코더에 의해 사용된다.
H.264 표준은 슬라이스 유형 구조의 픽처 그룹을 전송한다. 슬라이스는 픽처 전체 또는 일부를 포함할 수 있다. 인코더는 픽처를 슬라이스로 분해하지만(대부분의 시간을 프로즌(frozen) 구성에 기초함), 디코더는 일반적으로 그 슬라이스 구조를 알지 못하며, 따라서, 디코딩 프로세스 동안 그 구조를 발견하게 된다.
슬라이스는 NAL(Network Adaptation Layer) 유형의 유닛으로 캡슐화된다.
슬라이스로 분해함으로써 픽처에 부가의 동기 포인트를 삽입할 수 있는 잇점이 있다. 따라서, 슬라이스 "0"를 포함하는 NAL의 전송 중에 전송 계층에 에러가 도입되면, 디코딩은 슬라이스 "1"부터 재개할 수 있다. 픽처가 슬라이스로 분해되지 않았다면, 디코더는 그 픽처를 전체적으로 무시한다.
대부분의 디코더는 완전한 비디오 시퀀스의 모든 픽처에 대하여 슬라이스로의 동일한 분해를 사용하지만, 이것은 단지 일반적인 것이고 그 분해는 순전히 코딩 장치에 의존하게 된다.
본 발명자는 슬라이스가 디코더와는 독립적으로 인코딩되고, 따라서, 그 슬라이스들이 병렬로 용이하게 디코딩될 수 있는 것을 확립하였다. 따라서, 프로세서 "0"는 슬라이스 "0"를 처리하고, 프로세서 "1"는 슬라이스 "1"을 처리하며, 디코딩 시에 병렬로 동작할 수 있는 프로세서가 있으면, 그 이하도 마찬가지다. 그러나, 슬라이스로의 분해는 디코더에 공지되어 있지 않다. 따라서, 디코더가 그 분해를 예측할 수 없기 때문에 그러한 병렬화는 디코딩에서는 불가능하다.
간단한 해결책으로는 인코더에서 슬라이스로의 분해의 동일한 구조를 항상 사용하는 것이다. 그러나, 이것은 몇가지 제약을 받는다. 코딩된 모든 스트림이 시판되고 있는 임의의 디코더에 의해 디코딩될 수 있기를 원한다면, 표준에 부합하는 모든 디코더에 대하여 상기 분해가 표준화될 필요가 있다.
본 발명은 코딩된 임의의 스트림이 임의의 디코더에 의해 디코딩될 수 있도록 하는 해결책을 제안함으로써, 전술한 단점 중 적어도 하나를 해결하는 것을 제안한다.
따라서, 본 발명은 각 픽처를 픽처의 슬라이스로 코딩하는 수단을 포함하는 비디오 데이터 코딩 장치에 관한 것으로, 각 슬라이스는 다른 슬라이스와 독립적으 로 코딩된다. 본 발명에 따라, 상기 코딩 장치는 픽처를 슬라이스로 분해하는 것과 관련되는 구조를 지시하는 적어도 하나의 메시지를 데이터 스트림에 삽입하는 수단을 포함한다.
이와 같은 방식에서, 스트림은 그 구조와 관련되는 정보를 포함한다. 이것은 비디오 데이터를 코딩 장치에 의해 선택되지만 디코딩 장치에는 공지되지 않은 방식으로 코딩하는 것을 가능하게 한다.
본 발명의 바람직한 실시예에 따라, 상기 메시지를 삽입하는 수단은 코딩될 픽처 그룹에 대하여 상기 메시지를 삽입한다.
본 발명의 또 다른 실시예에 따라, 상기 메시지를 삽입하는 수단은 코딩될 각 픽처에 대하여 상기 메시지를 삽입한다.
또 다른 양상에 따라, 본 발명은 각 픽처를 픽처의 슬라이스로 코딩하는 단계를 포함하는 비디오 데이터 코딩 방법에 관한 것으로, 각 슬라이스는 다른 슬라이스와 독립적으로 코딩된다. 본 발명에 따라, 코딩 방법은 픽처를 슬라이스로 분해하는 것과 관련되는 구조를 지시하는 적어도 하나의 메시지를 데이터 스트림에 삽입하는 단계를 포함한다.
또 다른 양상에 따라, 본 발명은 또한 비디오 데이터 디코딩 시스템에 관한 것으로, 상기 비디오 데이터는 슬라이스로 코딩되고, 그 슬라이스 각각은 다른 슬라이스와 독립적으로 코딩된다. 본 발명에 따라, 상기 시스템은,
데이터를 슬라이스로 분해한 것을 확인하기 위해 비디오 데이터를 분석하는 수단,
비디오 데이터를 슬라이스별로 디코딩하는 수단,
디코딩된 비디오 데이터를 재구성하기 위해 슬라이스들을 디코딩한 후에 다양한 비디오 데이터를 재구성하는 수단을 포함한다.
본 발명의 바람직한 실시예에 따라, 비디오 데이터 디코딩 시스템은,
비디오 데이터를 슬라이스별로 디코딩하는 복수의 수단,
다양한 슬라이스를 복수의 디코딩 장치의 가용성에 따라 디코딩 장치로 지향시켜, 복수의 슬라이스를 동시에 디코딩하도록 하는 지향 수단을 포함한다.
따라서, 다양한 슬라이스는 병렬로 디코딩되는 이점이 있으며, 전체의 픽처는 동일한 픽처에 대응하는 모든 슬라이스가 디코딩될 때 재구성된다.
비디오 데이터를 분석하는 수단은, 슬라이스로의 분해와 관련되는 정보를 포함하는 적어도 하나의 메시지를 인식하고 추출할 수 있는 것이 바람직하다.
또 다른 양상에 따라, 본 발명은 또한 비디오 데이터 디코딩 방법에 관한 것으로, 상기 비디오 데이터는 슬라이스로 코딩되고, 슬라이스 각각은 다른 슬라이스와 독립적으로 코딩된다. 본 발명에 따라, 상기 방법은,
데이터를 슬라이스로 분해한 것을 확인하기 위해 비디오 데이터를 분석하는 단계,
다양한 방법의 가용성에 따라 다양한 슬라이스를 비디오 디코딩 방법으로 지향시키는 단계,
비디오 데이터 슬라이스를 병렬로 디코딩하는 단계,
디코딩된 비디오 데이터를 재구성하기 위해 슬라이스들을 디코딩한 후에 다 양한 비디오 데이터를 재구성하는 단계를 포함한다.
본 발명은 첨부 도면을 참조하여 예시적 실시예 및 이점이 있는 적용예에 의해 보다 잘 이해될 수 있고 설명될 수 있지만, 이에 한정되는 것은 아니다.
도면에 있는 모듈은 물리적으로 구별가능한 유닛일 수도 있고 그렇지 않을 수도 있는 기능 유닛이다. 예를 들면, 이들 모듈 또는 그들 중 일부는 단일 컴포넌트에 결합될 수 있거나, 동일한 소프트웨어 프로그램의 기능성을 구성할 수도 있다. 한편, 임의의 모듈은 필요하다면 개별 물리적 엔티티로 구성될 수 있다.
하기의 설명은 H.264 표준에 부합하는 데이터 코딩을 기초로 한다. 본 예시적 실시예는 그러한 유형의 코딩에 한정되는 것은 아니다. 본 발명은 후속하여 사용하기에 보다 용이하도록 하기 위해 스트림에 정보를 삽입하는 임의의 코딩 유형에 효과적으로 관련이 있다.
도 1은 본 발명의 바람직한 실시예에 따라 코딩된 스트림의 구조를 도시한다.
픽처는 분해 방식으로 코딩된다. 각 픽처는 슬라이스로서 보다 잘 공지된 섹션으로 분해된다. 슬라이스로의 분해는 코딩 중에 결정된다. 슬라이스로의 이러한 분해는 코딩 장치의 사용자에 의해 실행되며, 특히 프로그램 방송자에 의해 실행된다.
각각의 코딩 장치는 사용하는 분해의 유형을 단독으로 결정한다. 따라서, 디코더에 의해 사용되는 분해에 관한 정보는 이 디코더 외부에서는 알지 못한다. 따라서, 다른 장치들은 이 정보를 다른 목적용으로 사용할 수 없다.
따라서, 본 실시예에 따라, 몇몇 픽처의 그룹 앞에 SEI 메시지가 삽입된다. 이 SEI 메시지는 관련되는 그룹의 픽처의 슬라이스로의 분해를 지시한다. 새로운 픽처의 슬라이스로의 분해가 선행 픽처의 슬라이스로의 분해와 상이한 경우에는, 새로운 SEI 메시지가 삽입된다. 따라서, 픽처 0, 픽처 1 및 픽처 2에 대하여 단일 SEI 메시지가 삽입된다. 이들 세개의 픽처는 세개의 슬라이스로 각각 분해된다. 제2 SEI 메시지는 픽처 3 및 픽처 4에 대하여 삽입된다. 이들 두개의 픽처는 두개의 슬라이스로 각각 분해된다. 픽처 5 및 그 다음 픽처가 픽처 4와는 상이하게 분해되는 경우에는, 픽처 5의 슬라이스 앞에 새로운 SEI 메시지가 삽입된다.
도 2는 본 발명의 바람직한 실시예에 따른 코딩 장치를 도시한다.
현재 프레임(Fn)은 코더의 내부에서 코딩될 코더의 입력으로 도시되어 있다. 이 프레임은 16*16 픽셀 그룹에 대응하는 매크로블록으로 지칭되는 픽셀 그룹으로 코딩된다. 각각의 매크로블록은 인트라(intra) 모드 또는 인터(inter) 모드에서 코딩된다. 매크로블록이 인트라 모드 또는 인터 모드에서 코딩되건 간에, 매크로블록은 재구성된 프레임을 기초로 코딩된다. 모듈(109)은 픽처의 콘텐츠에 따라, 현재 픽처의 코딩 모드를 인트라 모드에서 결정한다. 인트라 모드에서, (도 2에 도시된) P는 이전에 코딩, 디코딩 및 재구성된 현재 프레임 Fn의 샘플(도 2의 uF'n, u는 미필터링을 의미함)로 구성된다. 인터 모드에서, P는 하나 이상의 프레임(F'n-1)을 기초로 움직임의 추정으로 구성된다.
움직임 추정 모듈(101)은 현재 프레임(Fn)과 적어도 하나의 이전 프레임(F'n-1)과의 움직임 추정을 확립한다. 이러한 움직임 추정을 기초로, 움직임 보상 모듈(102)은 현재 픽처(Fn)이 인터 모드에서 코딩되어야 할 때 프레임(P)를 생성한다.
차감기(103)는 코딩될 픽처(Fn)과 픽처(P) 간의 차의 신호(Dn)를 생성한다. 다음에, 이 픽처는 모듈(104)에서 DCT 변환에 의해 변환된다. 그 후, 변환된 픽처는 양자화 모듈(105)에 의해 양자화된다. 다음에, 픽처는 모듈(111)에 의해 재조직된다. 그 후, CABAC(Context-based Adaptive Binary Arithmetic Coding) 유형의 엔트로피 코딩 모듈(112)은 각 픽처를 코딩한다.
역 변환 및 양자화 모듈(106 및 107) 각각은 변환 및 양자화하고 역 양자화 및 역 변환한 후의 차(D'n)를 재구성하는 것을 가능하게 한다.
이미지가 인트라 모드에서 코딩되는 경우에는, 모듈(109)에 따라, 인트라 예측 모듈(108)이 픽처를 코딩한다. 픽처(uF'n)는 신호(D'n)와 신호(P)의 합으로서 가산기(114)의 출력에서 얻어진다. 이 모듈(108)은 또한 미필터링 재구성된 픽처(F'n)를 입력에서 수신한다.
필터링 모듈(110)은 픽처(uF'n)에 기초하여 재구성된 필터링 픽처(F'n)를 얻는 것을 가능하게 한다.
엔트로피 디코딩 모듈(112)은 NAL 유형의 유닛에서 캡슐화된 코딩된 슬라이스를 전송한다. NAL은 슬라이스에 부가하여, 예를 들면, 헤더에 관련되는 정보를 획득한다. NAL 유형의 유닛은 모듈(113)로 전송된다. 모듈(113)은 코딩된 다양한 픽처를 전송 네트워크로 전송하기 전에 SEI 메시지를 삽입한다.
SEI 메시지는 도 1에 지시된 바와 같이 스트림을 얻기 위해 삽입된다.
도 3은 본 발명에 따른 디코딩 시스템을 도시한다.
모듈(209)은 데이터 스트림에서 수신된 SEI 메시지를 분석한다. SEI 메시지는 서로 다른 종류일 수 있다. SEI 메시지는 디코딩 중에 유용할 수 있는 다른 데이터를 전송하는 다른 목적으로 효과적으로 사용될 수 있다.
SEI 메시지의 분석 후에, 데이터는 그 분석에 따라 다양한 디코딩 장치(D1, D2, D3, Di,..., Dn)로 전송된다. 사실상, 가용의 하드웨어 또는 소프트웨어 구성에 따라, 하나 이상의 디코딩 장치(D1, D2, D3, Di,..., Dn)가 유용하다. 디코딩 장치(D1, D2, D3, Di,..., Dn)의 수는 코딩된 픽처의 슬라이스의 최대 수와 동일한 것이 이점이 있다. 예를 들면, 네개의 슬라이스로의 분해를 사용하여 픽처가 코딩되는 경우에는, 디코딩 속도와 관련하여, 슬라이스가 픽처를 빠르게 재구성하도록 병렬로 디코딩되도록 하는 것이 특히 이점이 있다.
디코딩 장치(D1, D2, D3, Di,..., Dn)의 수가 픽처의 슬라이스로의 분해보다 작은 경우에, 그런 경우에도 슬라이스는 다양한 디코딩 모듈에서 병렬로 디코딩된다. 잔여 슬라이스는 디코딩 장치(D1, D2, D3, Di,..., Dn)가 이용가능하게 되면 후속하여 디코딩될 것이다. 따라서, 순간 t에서, 다양한 디코딩 모듈은 서로 다른 픽처에 속하는 슬라이스를 각각 디코딩하는 것이 가능하다.
다양한 디코딩 모듈로의 슬라이스 지향은 모듈(209)에 의해 결정된다. 이러 한 지향은 다양한 디코딩 모듈의 가용성, 그 수 및 입력되는 SEI 메시지에 의해 지시되는 값을 고려한다. 효과적으로는, SEI 메시지가 값 "3"을 지시한다면, 이것은 픽처 또는 후속될 픽처가 세개의 슬라이스로 각각 분해된다는 것을 의미한다. 다음에, 세개의 디코딩 모듈이 이용가능하면, 이 픽처 그룹에 대한 가장 바람직한 경우는, 각각의 슬라이스가 디코딩 모듈(D1, D2, D3)로 전송되는 것이다.
픽처 유형 NAL이 엔트로피 모듈(201)로 전송된다. 엔트로피 디코딩 모듈(201)은 도 2의 모듈(112)의 역 동작을 수행한다. 다음에, 데이터는 계수의 세트를 얻기 위해 리오더링(reordering) 모듈(202)로 전송된다. 이들 계수는 다음에모듈(203)에서 역 양자화를 수행하고 모듈(204)에서 역 DCT 변환이 수행되어, 모듈(204)의 출력에서 매크로블록(D'n)이 얻어지며, D'n은 Dn의 변형된 버전이다. 예측 블록(P)이 가산기(205)에 의해 D'n에 부가되어 매크로블록(uF'n)이 재구성된다. 블록(P)은 인터 모드에서는 코딩 중에 사전 디코딩 프레임의 모듈(208)에 의해 실행된 움직임 보상 후에, 또는 인트라 모드에서의 코딩의 경우에는 모듈(207)에 의한 매크로블록(uF'n)의 인트라 예측 후에 얻어진다. 필터(206)는 왜곡 영향을 줄이기 위해 신호(uF'n)에 적용되고, 재구성된 슬라이스(F'n)는 일련의 매크로블록으로부터 생성된다.
다양한 디코딩 모듈(D1, D2, D3, Di,..., Dn)에 의해 디코딩되면, 슬라이스는 차례로 위치되어, 예를 들면, 애플리케이션으로 전송되기 전에, 재구성 버퍼 메모리(210)에 그들 슬라이스를 기록함으로써, 완전한 픽처를 재구성한다.
도 4는 소프트웨어에 의해 디코딩 동작이 수행될 때, 본 발명에 따른 방법의 실시예를 도시한다.
단계(E1) 동안, 코딩된 데이터 스트림은 도 2에 도시된 바에 따라 코딩 장치로 수신된다. 코딩된 스트림은 도 1에 도시된 구조를 갖는다. 단계(E2) 동안, SEI 메시지가 분석된다. SEI 메시지의 분석은 SEI 메시지가 픽처를 슬라이스로 분해하는 것에 대한 정보를 포함하는지를 알 수 있도록 구성된다. 이 정보가 존재하는 경우에는, 단계(E3)에서, SEI 메시지가 분석되고, 서로 다른 디코딩 모듈(D1, D2, D3, Di,..., Dn)으로의 슬리이스 지향이 결정된다. 디코딩 모듈은 또한 소프트웨어(D1, D2, D3, Di,..., Dn)에 의해 생성된다.
단계(E4) 동안, 다양한 디코딩 모듈에 의해 다양한 디코딩 모듈이 병렬로 디코딩된다.
단계(E5) 동안, 픽처는, 예를 들면, 도 3의 재구성 버퍼 메모리(201)를 사용하여 재구성된다.
하기의 테이블은, H.264 표준에서, 하기의 테이블에 표현된 "user_data_unregistered" 유형의 페이로드에 대응하는 유형 6 페이로드를 사용하여 SEI 메시지의 페이로드 부분을 설명한다.
user_data_unregistered( payloadSize ) { Descriptor
uuid _ iso _ iec _11578 u(128)
for( i = 16; i < payloadSize; i++ )
user _ data _ payload _ byte b(8)
}
- 128-비트 워드 "uuid_iso_iec_11578"는 디코딩 단계 동안 메시지 유형을 디코더에 지시한다. H.264 표준은 그 의미에 따라 상기 워드에 대한 임의의 수의 값을 특정한다. 이들 값 중 하나의 값은 그것이 "user_data_payload" 유형의 메시 지라는 것을 지시한다.
- 워드 "user_data_payload_byte"는 SEI 메시지의 일부를 포함하는 8-비트 워드이다. 이 워드는 사유 애플리케이션에 관련하는 데이터를 코딩하고, 특히 본 명세서에서는 하기에 코딩되는 바와 같이 본 발명에 관련하는 데이터를 코딩하는데 사용된다.
PayloadSize는 17 바이트로서, 그 중 16 바이트는 UUID용이고, 나머지 1 바이트는 user_data_payload_byte용이다. 각각의 user_data_unregistered에는 상기 테이블에 지시된 바와 같이 일련의 User_data_payload_byte 바이트가 존재한다. 이 바이트 스트링은 사실상 3-바이트 구조(2 바이트 + 1 바이트)의 반복이다. 따라서, payloadsize의 값은 3의 배수이다.
워드 "user_data_payload_byte"는 픽처의 슬라이스의 수 및 매크로블록의 각 슬라이스의 사이즈 코딩을 가능하게 하며, 제1 바이트는 픽처의 슬라이스의 수를 나타내고 그 다음 2개의 바이트는 매크로블록의 슬라이스 사이즈 코딩을 가능하게 하며, 따라서, 전술한 2 바이트 + 1 바이트 구조를 사용한다.
Configuration_slice( payloadSize ) { Descriptor
Number of slices u(8)
for( i = 0; i <= number of slices; i++)
Size of the slice in macroblocks u(16)
}
디코딩 장치가 본 발명에서 설명된 바와 같이 SEI 메시지 분석 모듈을 구비하지 않는 경우에는, 그 디코딩 장치는 그들을 무시하는데, 이것은 H.264 표준의 특정 요청이라는 것을 주목하자. 따라서, 데이터가 동시에 디코딩되지만, 본 발명이 제공하는 이점, 즉, 특히 다양한 슬라이스의 병렬 디코딩의 이점은 얻지 못한 다. 이 방식에서, 시판되는 디코더와의 임의의 호환성은 유지된다.
따라서, 본 발명에 따라 임의로 코딩된 스트림이 임의의 디코더에 의해 디코딩될 수 있다.

Claims (8)

  1. H264 비디오 코딩 표준에 따라 각 픽처를 픽처 슬라이스로 코딩하는 수단을 포함하는 비디오 데이터 코딩 장치로서 - 각 슬라이스는 다른 슬라이스들과는 독립적으로 코딩됨 -,
    픽처들을 슬라이스들로 분해하는 것과 관련되는 구조를 지시하는 적어도 하나의 SEI 메시지를 데이터 스트림에 삽입하는 수단을 포함하고,
    상기 SEI 메시지는 코딩될 픽처들의 그룹에 대하여 삽입되는 것을 특징으로 하는 비디오 데이터 코딩 장치.
  2. 삭제
  3. 삭제
  4. H264 비디오 코딩 표준에 따라 각 픽처를 픽처 슬라이스로 코딩하는 단계를 포함하는 비디오 데이터 코딩 방법으로서 - 각 슬라이스는 다른 슬라이스들과는 독립적으로 코딩됨 -,
    픽처들을 슬라이스들로 분해하는 것과 관련되는 구조를 지시하는 적어도 하나의 SEI 메시지를 데이터 스트림에 삽입하는 단계를 포함하고,
    상기 SEI 메시지는 코딩될 픽처들의 그룹에 대하여 삽입되는 것을 특징으로 하는 비디오 데이터 코딩 방법.
  5. 비디오 데이터 디코딩 시스템으로서 - 상기 비디오 데이터는 H264 비디오 코딩 표준에 따라 슬라이스들로 코딩되고, 상기 슬라이스들 각각은 다른 슬라이스들과는 독립적으로 코딩됨 -,
    데이터 스트림에서 픽처들을 슬라이스들로 분해하는 것과 관련되는 구조를 지시하는 적어도 하나의 SEI 메시지를 추출 및 분석하는 수단 - 상기 SEI 메시지는 코딩될 픽처들의 그룹에 대하여 삽입됨 -,
    상기 비디오 데이터를 슬라이스별로(slice by slice) 디코딩하는 복수의 수단들,
    상기 픽처들의 그룹에 대해, 복수의 디코딩 장치들의 가용성, 상기 디코딩 장치들의 개수, 그리고 상기 픽처들을 슬라이스들로 분해한 것에 관한 분석에 따라 다양한 슬라이스들을 상기 디코딩 장치들로 지향시켜, 복수의 슬라이스들이 상기 픽처들의 그룹에 대하여 동시에 디코딩하도록 하는 지향 수단, 및
    상기 디코딩된 비디오 데이터를 재구성하기 위해 상기 비디오 데이터 슬라이스들을 디코딩한 후에 다양한 비디오 데이터를 재구성하는 수단
    을 포함하는 것을 특징으로 하는 비디오 데이터 디코딩 시스템.
  6. 삭제
  7. 삭제
  8. 비디오 데이터 디코딩 방법으로서 - 상기 비디오 데이터는 H264 비디오 코딩 표준에 따라 슬라이스들로 코딩되고, 상기 슬라이스들 각각은 다른 슬라이스들과는 독립적으로 코딩됨 -,
    데이터 스트림에서 픽처들을 슬라이스들로 분해하는 것과 관련되는 구조를 지시하는 적어도 하나의 SEI 메시지를 추출 및 분석하는 단계 - 상기 SEI 메시지는 코딩될 픽처들의 그룹에 대하여 삽입됨 -,
    상기 픽처들의 그룹에 대해, 다양한 방법들의 가용성, 상기 다양한 방법들의 개수, 그리고 상기 픽처들을 슬라이스들로 분해한 것에 관한 분석에 따라 다양한 슬라이스들을 상기 비디오 디코딩 방법들로 지향시켜, 복수의 슬라이스들이 상기 픽처들의 그룹에 대하여 동시에 디코딩하도록 하는 단계,
    비디오 데이터 슬라이스들을 병렬로 디코딩하는 단계, 및
    상기 디코딩된 비디오 데이터를 재구성하기 위해 상기 비디오 데이터 슬라이스들을 디코딩한 후에 다양한 비디오 데이터를 재구성하는 단계
    를 포함하는 것을 특징으로 하는 비디오 데이터 디코딩 방법.
KR1020060125469A 2005-12-12 2006-12-11 비디오 데이터 코딩 장치, 방법, 시스템 및 비디오 데이터디코딩 방법 KR101345015B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0553837A FR2894740A1 (fr) 2005-12-12 2005-12-12 Dispositif de codage, procede de codage, systeme de decodage procede de decodage de donnees video
FR0553837 2005-12-12

Publications (2)

Publication Number Publication Date
KR20070062428A KR20070062428A (ko) 2007-06-15
KR101345015B1 true KR101345015B1 (ko) 2013-12-24

Family

ID=36843286

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060125469A KR101345015B1 (ko) 2005-12-12 2006-12-11 비디오 데이터 코딩 장치, 방법, 시스템 및 비디오 데이터디코딩 방법

Country Status (6)

Country Link
US (1) US20070133674A1 (ko)
EP (1) EP1827022A3 (ko)
JP (1) JP2007166625A (ko)
KR (1) KR101345015B1 (ko)
CN (1) CN1984329B (ko)
FR (1) FR2894740A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020214899A1 (en) * 2019-04-19 2020-10-22 Beijing Dajia Internet Information Technology Co., Ltd. Supplemental enhancement information message for embedded image

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080115175A1 (en) * 2006-11-13 2008-05-15 Rodriguez Arturo A System and method for signaling characteristics of pictures' interdependencies
US8155207B2 (en) 2008-01-09 2012-04-10 Cisco Technology, Inc. Processing and managing pictures at the concatenation of two video streams
US8873932B2 (en) 2007-12-11 2014-10-28 Cisco Technology, Inc. Inferential processing to ascertain plural levels of picture interdependencies
US8416859B2 (en) 2006-11-13 2013-04-09 Cisco Technology, Inc. Signalling and extraction in compressed video of pictures belonging to interdependency tiers
US8875199B2 (en) 2006-11-13 2014-10-28 Cisco Technology, Inc. Indicating picture usefulness for playback optimization
US8958486B2 (en) 2007-07-31 2015-02-17 Cisco Technology, Inc. Simultaneous processing of media and redundancy streams for mitigating impairments
US8804845B2 (en) 2007-07-31 2014-08-12 Cisco Technology, Inc. Non-enhancing media redundancy coding for mitigating transmission impairments
KR100898769B1 (ko) * 2007-09-19 2009-05-20 전자부품연구원 실시간 스트리밍 서비스를 위한 svc 비디오 데이터추출기 및 방법
US8416858B2 (en) 2008-02-29 2013-04-09 Cisco Technology, Inc. Signalling picture encoding schemes and associated picture properties
US8886022B2 (en) 2008-06-12 2014-11-11 Cisco Technology, Inc. Picture interdependencies signals in context of MMCO to assist stream manipulation
US8699578B2 (en) * 2008-06-17 2014-04-15 Cisco Technology, Inc. Methods and systems for processing multi-latticed video streams
US8971402B2 (en) 2008-06-17 2015-03-03 Cisco Technology, Inc. Processing of impaired and incomplete multi-latticed video streams
US8705631B2 (en) 2008-06-17 2014-04-22 Cisco Technology, Inc. Time-shifted transport of multi-latticed video for resiliency from burst-error effects
US8311111B2 (en) 2008-09-11 2012-11-13 Google Inc. System and method for decoding using parallel processing
US8761266B2 (en) 2008-11-12 2014-06-24 Cisco Technology, Inc. Processing latticed and non-latticed pictures of a video program
US8326131B2 (en) 2009-02-20 2012-12-04 Cisco Technology, Inc. Signalling of decodable sub-sequences
US8782261B1 (en) 2009-04-03 2014-07-15 Cisco Technology, Inc. System and method for authorization of segment boundary notifications
US8949883B2 (en) 2009-05-12 2015-02-03 Cisco Technology, Inc. Signalling buffer characteristics for splicing operations of video streams
US8615039B2 (en) * 2009-05-21 2013-12-24 Microsoft Corporation Optimized allocation of multi-core computation for video encoding
US8279926B2 (en) 2009-06-18 2012-10-02 Cisco Technology, Inc. Dynamic streaming with latticed representations of video
KR20110068793A (ko) * 2009-12-16 2011-06-22 한국전자통신연구원 영상 부호화 및 복호화를 위한 장치 및 방법
US20110222837A1 (en) * 2010-03-11 2011-09-15 Cisco Technology, Inc. Management of picture referencing in video streams for plural playback modes
US9131033B2 (en) 2010-07-20 2015-09-08 Qualcomm Incoporated Providing sequence data sets for streaming video data
US20120106622A1 (en) * 2010-11-03 2012-05-03 Mediatek Inc. Method and Apparatus of Slice Grouping for High Efficiency Video Coding
US9497466B2 (en) 2011-01-17 2016-11-15 Mediatek Inc. Buffering apparatus for buffering multi-partition video/image bitstream and related method thereof
WO2013063982A1 (en) * 2011-10-31 2013-05-10 Mediatek Inc. Apparatus and method for buffering context arrays referenced for performing entropy decoding upon multi-tile encoded picture and related entropy decoder
US9100657B1 (en) 2011-12-07 2015-08-04 Google Inc. Encoding time management in parallel real-time video encoding
KR20150092105A (ko) * 2012-12-06 2015-08-12 소니 주식회사 복호 장치, 복호 방법, 및 프로그램
US11425395B2 (en) 2013-08-20 2022-08-23 Google Llc Encoding and decoding using tiling
US9794574B2 (en) 2016-01-11 2017-10-17 Google Inc. Adaptive tile data size coding for video and image compression
US10542258B2 (en) 2016-01-25 2020-01-21 Google Llc Tile copying for video compression
CN106713909A (zh) * 2016-11-16 2017-05-24 广州弘度信息科技有限公司 一种视频编码方法、装置及系统
CN109905715B (zh) * 2019-02-26 2021-07-06 北京世纪好未来教育科技有限公司 插入sei数据的码流转换方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5995146A (en) 1997-01-24 1999-11-30 Pathway, Inc. Multiple video screen display system
US20010021227A1 (en) 1998-10-15 2001-09-13 International Business Machines Corporation High definition television decoder
US20050074176A1 (en) 2003-10-01 2005-04-07 Detlev Marpe Coding of a syntax element contained in a pre-coded video signal

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3961654B2 (ja) * 1997-12-22 2007-08-22 株式会社東芝 画像データ復号化装置及び画像データ復号化方法
CN1065391C (zh) * 1998-07-08 2001-05-02 国家科学技术委员会高技术研究发展中心 高清晰度电视视频解码器的子图象合成装置及其方法
CN1225544A (zh) * 1998-12-15 1999-08-11 国家科学技术委员会高技术研究发展中心 数字信源解码器
JP2003505956A (ja) * 1999-07-15 2003-02-12 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 情報信号への補助データの組み込み
JP2003032679A (ja) * 2001-07-11 2003-01-31 Lsi Systems:Kk 復号装置、復号方法およびその方法をコンピュータに実行させるプログラム
EP1479235A1 (en) * 2002-02-07 2004-11-24 Koninklijke Philips Electronics N.V. Method for distributing a video split up in spatial pieces
US20040006575A1 (en) * 2002-04-29 2004-01-08 Visharam Mohammed Zubair Method and apparatus for supporting advanced coding formats in media files
KR100543700B1 (ko) * 2003-01-30 2006-01-20 삼성전자주식회사 영상의 중복 부호화 및 복호화 방법 및 장치
JP5280003B2 (ja) * 2003-09-07 2013-09-04 マイクロソフト コーポレーション 映像コーデックにおけるスライス層

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5995146A (en) 1997-01-24 1999-11-30 Pathway, Inc. Multiple video screen display system
US20010021227A1 (en) 1998-10-15 2001-09-13 International Business Machines Corporation High definition television decoder
US20050074176A1 (en) 2003-10-01 2005-04-07 Detlev Marpe Coding of a syntax element contained in a pre-coded video signal

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020214899A1 (en) * 2019-04-19 2020-10-22 Beijing Dajia Internet Information Technology Co., Ltd. Supplemental enhancement information message for embedded image

Also Published As

Publication number Publication date
KR20070062428A (ko) 2007-06-15
EP1827022A2 (en) 2007-08-29
FR2894740A1 (fr) 2007-06-15
US20070133674A1 (en) 2007-06-14
CN1984329A (zh) 2007-06-20
EP1827022A3 (en) 2010-08-18
JP2007166625A (ja) 2007-06-28
CN1984329B (zh) 2013-01-23

Similar Documents

Publication Publication Date Title
KR101345015B1 (ko) 비디오 데이터 코딩 장치, 방법, 시스템 및 비디오 데이터디코딩 방법
US11838558B2 (en) Methods, devices and systems for parallel video encoding and decoding
EP2535870B1 (en) Video-information decoding apparatus and method
US8787441B2 (en) Device and method for coding and decoding video data and data train
WO2008024181A2 (en) Method and apparatus for transferring digital data between circuits
CN101411203A (zh) 自适应编码器辅助帧速率上变换

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20161123

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171117

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20191210

Year of fee payment: 7