KR101166446B1 - 버퍼 제어 방법, 중계 장치, 통신 시스템 - Google Patents
버퍼 제어 방법, 중계 장치, 통신 시스템 Download PDFInfo
- Publication number
- KR101166446B1 KR101166446B1 KR20087021364A KR20087021364A KR101166446B1 KR 101166446 B1 KR101166446 B1 KR 101166446B1 KR 20087021364 A KR20087021364 A KR 20087021364A KR 20087021364 A KR20087021364 A KR 20087021364A KR 101166446 B1 KR101166446 B1 KR 101166446B1
- Authority
- KR
- South Korea
- Prior art keywords
- buffer
- video stream
- data
- video
- amount
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/141—Systems for two-way working between two video terminals, e.g. videophone
- H04N7/148—Interfacing a video terminal to a particular transmission medium, e.g. ISDN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/102—Gateways
- H04L65/1023—Media gateways
- H04L65/103—Media gateways in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/102—Gateways
- H04L65/1033—Signalling gateways
- H04L65/104—Signalling gateways in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/765—Media network packet handling intermediate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
본 발명은 전송로의 상태(대역(帶域)이나 데이터 손실, 오류 특성)이 상이한 네트워크간을 통하여, 영상을 수반하는 텔레비전 전화나 텔레비전 회의 등의 리얼 타임(real time) 통신을 행할 때에, 전송로의 상태의 차이에 의한 수신 측에서의 표시 영상의 깨짐을 최소한으로 하는 것을 가능하게 한다. 전송로의 상태가 상이한 네트워크간을 통한 통신을 중계하는 중계 장치에서, 전송로의 상태와 수신한 영상 스트림의 특성을 고려한 영상 버퍼 제어를 행한다. 그와 같이 함으로써, 수신 측에서 표시되는 영상의 깨짐을 완화한다. 중계 장치(101)의 영상 버퍼 제어부(207)는 명령 수신부(203)가 수신한 제어 명령, 임계값 설정부(204)가 설정한 임계값, 및 타이밍 생성부(205)가 설정한 타이밍에 따라, 영상 버퍼(208)를 제어한다. 또한, 영상 버퍼 제어부(207)는 세그먼트(segment) 해석부(206)의 해석 결과에 따라, 세그먼트 단위로 영상 버퍼(208)를 제어한다.
중계 장치, 외부 장치, 송신 장치, 임계값 설정부
Description
본 발명은 중계 장치가 구비하는 버퍼를 제어하는 버퍼 제어 방법에 관한 것으로서, 특히, 전송로의 상태(대역(帶域)이나 데이터 손실, 오류 특성)가 상이한 네트워크간을 통하여, 영상을 수반하는 텔레비전 전화나 텔레비전 회의 등의 통신을 행할 때에, 전송로의 상태의 영향에 의한 수신 측에서 표시되는 영상의 깨짐을 최소한으로 하는 것을 가능하게 하는 영상 버퍼 제어 방법에 관한 것이다. 또한, 본 발명은 버퍼 제어 방법을 적용한 중계 장치 및 통신 시스템에 관한 것이다.
최근, ADSL이나 광 통신 기술을 사용하는 것 등에 의한 네트워크의 고속화에 따라, 네트워크를 경유하여, 패킷(packet)을 사용하여, 화상이나 음성의 부호화 데이터를 통신하는 것이 행해지고 있다. 예를 들어, 소위 VoIP(Voice over IP)나 TVoIP(TV over IP)라고 하는 쌍방향 통신 시스템 및 회의 시스템이 급속히 보급되고 있다.
이러한 화상이나 음성의 부호화 데이터의 통신에 사용되는 부호화 방식에는, 몇가지의 종류가 있다. 예를 들어, 동영상의 부호화 방식으로서, 프레임간 예측에 의거한 고능률 압축에 의해 부호화한 부호화 데이터를 전송하는 방법이 많이 사용 되고 있다. 이들 프레임간 예측에 의거한 부호화 방식에서는, 시간적으로 전후에 위치하는 프레임으로부터 부호화 화상을 예측한다. 그리고, 부호화 화상을 예측하여 얻어진 예측 파라미터와 예측 잔차(殘差) 화상 데이터를 부호화함으로써, 시간 방향의 상관이 높은 동영상 데이터의 정보량을 삭감한다. 또한, 예측 잔차 화상 데이터를 변환 부호화하거나 양자화함으로써, 고능률로 압축 부호화함으로써, 적은 전송 대역에서의 통신을 가능하게 하고 있다.
또한, 제 3 세대 휴대 전화에서는, 회선 교환(CS) 방식에서의 TV 전화 서비스의 제공을 서포트하고 있는 휴대 전화 단말이 있다. 또한, 이들 TV 전화 서비스의 이용이 가능한 휴대 전화 단말과, IP 네트워크에 접속하는 TVoIP 클라이언트를 접속하는 게이트웨이도 존재하고 있다. 그리고, 이들 휴대 전화 단말이나 게이트웨이를 사용하여, CS망(회선 교환망)과 PS망(패킷 교환망)에 걸친 리얼 타임 통신을 행하는 것이 이미 이루어져 있다.
상기한 바와 같이 전송로의 상태(대역이나 데이터 손실, 오류 특성)가 상이한 네트워크간에서 리얼 타임 통신을 행할 경우, 쌍방의 네트워크를 연결(중계)하기 위해 중계 장치가 사용된다. 이 경우, 중계 장치는 네트워크 상에서의 지터(jitter)를 흡수하는 지터 버퍼를 구비하거나, 지터를 흡수할 때의 전송 지연을 삭감하는 지연 삭감 처리를 행한다.
또한, 부호화 데이터를 중계하는 중계 장치로서, 예를 들어 특허문헌 1에는, 부호화 스트림으로부터 취득한 부호화 정보를 부호화 스트림에 삽입하는 부호화 스트림 중계 장치가 기재되어 있다.
특허문헌 1: 일본국 공개특허2006-13583호 공보(단락 0029-0042, 도 6)
비특허문헌 1: H.Schulzrinne, S.Casner, R.Frederick, V.Jacobson, "RTP: A Transport Protocol for Real-Time Applications", RFC 3550, July 2003, 인터넷<URL: http://www.ietf.org/rfc/rfc3550.txt>
비특허문헌 2: TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU, "ITU-T Recommendation H.223", 03/1996
그러나, 영상 스트림에 대해 지연 삭감 처리를 실시하는 경우에서, 현재 널리 이용되고 있는 예측 부호화를 이용하여 영상 스트림의 부호화를 행하면, 영상 스트림에서의 임의의 데이터의 삭감 처리를 행함으로써, 수신 측에서 재생되는 영상 스트림의 화질이 크게 열화되게 된다. 또한, 예측 부호화를 이용하여 영상 스트림의 부호화를 행하면, 영상이 열화된 상태가 한동안 계속되어 화상이 재생되게 된다는 문제가 있다.
또한, 상이한 네트워크간의 대역의 차이를 흡수하기 위해, 부호화 데이터를 트랜스 코딩하는 방법을 생각할 수 있다. 그러나, 부호화 데이터를 트랜스 코딩하기 위한 처리량의 증가가 현저하여, 동일한 장치로 많은 스트림을 처리해야만 하는 경우에는 적절하지 않다.
또한, 특허문헌 1에 기재된 부호화 스트림 중계 장치에 의하면, 부호화 정보의 전달의 방법에 관계없이, 수신 단말에서 수신한 부호화 스트림을 정상적으로 디코딩할 수 있다. 그러나, 상이한 네트워크간의 전송로의 상태의 영향에 의해 수신 측에서 영상의 깨짐이 발생하는 것을 방지할 수는 없다.
그래서, 본 발명은 영상을 수반하는 통신을 행할 경우에, 수신 측에서 표시되는 영상이 전송로의 상태의 영향에 의해 열화되는 것을 저감할 수 있는 버퍼 제어 방법, 중계 장치, 통신 시스템을 제공하는 것을 목적으로 한다.
본 발명에 따른 버퍼 제어 방법은, 중계 장치(예를 들어, 중계 장치(101, 401))가 구비하는 버퍼(예를 들어, 영상 버퍼(208))를 제어하는 버퍼 제어 방법으로서, 송신 단말(예를 들어, 송신 단말(102))로부터 수신한 영상 스트림을, 중계 장치의 버퍼에 저장하는 저장 스텝과, 중계 장치의 버퍼가 저장하는 영상 스트림의 데이터량을 세그먼트(segment)(일부의 세그먼트가 로스 또는 에러에 의해 디코딩할 수 없는 경우일지라도 다른 세그먼트에 의해 독립적으로 디코딩할 수 있는 단위, 예를 들어 프레임이나 비디오 패킷, GOB, 슬라이스, NAL 유닛) 단위로 제어하는 버퍼 제어 스텝을 포함하는 것을 특징으로 한다.
또한, 본 발명에 따른 버퍼 제어 방법은, 중계 장치가 구비하는 버퍼를 제어하는 버퍼 제어 방법으로서, 송신 단말로부터 영상 스트림을 수신하는 수신 스텝과, 수신한 영상 스트림을, 중계 장치의 버퍼에 저장하는 저장 스텝과, 중계 장치의 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 버퍼 제어 스텝과, 중계 장치의 버퍼로부터 영상 스트림을 취출하여, 수신처의 수신 단말(예를 들어, 수신 단말(103))로 송신하는 송신 스텝을 포함하는 것일 수도 있다.
또한, 본 발명에 따른 버퍼 제어 방법은, 중계 장치가 구비하는 버퍼를 제어하는 버퍼 제어 방법으로서, 송신 단말로부터 영상 스트림을 수신하는 수신 스텝과, 수신한 영상 스트림을, 중계 장치의 버퍼에 저장하는 저장 스텝과, 중계 장치의 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 버퍼 제어 스텝과, 중계 장치의 버퍼로부터 영상 스트림을 취출하여, 수신처의 수신 단말로 송신하는 송신 스텝을 포함하고, 버퍼 제어 스텝에서, 중계 장치의 버퍼가 저장하는 영상 스트림의 소정의 데이터량을 솎아내는 솎아냄 처리를 실행하는 것일 수도 있다.
또한, 본 발명에 따른 버퍼 제어 방법은, 버퍼 제어 스텝에서, 중계 장치의 버퍼가 저장하는 영상 스트림을 파괴하고, 중계 장치의 버퍼로의 영상 스트림의 입력을 정지하고, 또는 중계 장치의 버퍼로부터 출력하는 영상 스트림의 출력 레이트를 높게 함으로써, 중계 장치의 버퍼가 저장하는 영상 스트림의 데이터량을 세그먼트 단위로 제어하는 것일 수도 있다.
또한, 본 발명에 따른 버퍼 제어 방법은, 버퍼 제어 스텝에서, 프레임, 비디오 패킷, GOB, 슬라이스 또는 NAL 유닛 중 적어도 하나를 소정의 단위로서 사용하여, 중계 장치의 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 것일 수도 있다.
또한, 본 발명에 따른 버퍼 제어 방법은, 소정의 방법에 의해 임계값을 설정하는 임계값 설정 스텝을 포함하고, 버퍼 제어 스텝에서, 설정한 임계값에 의거하여, 중계 장치의 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 것일 수도 있다.
또한, 본 발명에 따른 버퍼 제어 방법은, 버퍼 제어 스텝에서, 임계값에 의거하는 버퍼 제어로서,
(A) 상기 영상 스트림의 데이터량의 상한값을 임계값으로서 설정하고, 상기 중계 장치의 버퍼 내에 축적된 영상 스트림에 데이터량이 상기 상한값 이상으로 된 것을 조건으로 하여, 상기 중계 장치의 버퍼로의 입력을 정지하거나, 상기 중계 장치의 버퍼 내의 영상 스트림 중 적어도 일부를 폐기하거나, 또는 상기 중계 장치의 버퍼로부터의 영상 비트 스트림의 출력 비트 레이트를 높게 하는 제어;
(B) 상기 영상 스트림의 데이터량의 상한값과 하한값을 임계값으로서 설정하고, 상기 중계 장치의 버퍼 내에 축적된 영상 스트림에 데이터량이 상기 상한값 이상으로 된 것을 조건으로 하여 상기 중계 장치의 버퍼의 영상 스트림의 데이터량이 하한값에 도달하기까지 상기 중계 장치의 버퍼로의 입력을 정지하거나, 상기 중계 장치의 버퍼로부터의 영상 비트 스트림의 출력 비트 레이트를 높게 하는 제어를 행하는 제어;
(C) 상기 영상 스트림의 데이터량을 솎아내기 위한 솎아냄 임계값을 임계값으로서 설정하고, 상기 중계 장치의 버퍼의 영상 스트림의 데이터량이 솎아냄 임계값에 도달한 것을 조건으로 하여, 상기 중계 장치의 버퍼로의 소정의 데이터량의 데이터의 입력을 행하지 않는 제어;
중 적어도 하나의 제어를 사용하여, 상기 중계 장치의 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 것일 수도 있다.
또한, 본 발명에 따른 버퍼 제어 방법은, 버퍼 제어 스텝에서, 소정의 타이밍에 의거하여, 중계 장치의 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 것일 수도 있다.
또한, 본 발명에 따른 버퍼 제어 방법은, 버퍼 제어 스텝에서, 소정의 타이밍으로서, 일정 시간마다의 타이밍, 수신 패킷 수가 일정량에 도달한 타이밍, 수신 영상 스트림의 데이터량이 일정량에 도달한 타이밍, 영상 버퍼에 입력한 데이터량이 일정량에 도달한 타이밍, 또는 수신 세그먼트 수가 일정량에 도달한 타이밍 중 적어도 하나의 타이밍에 의거하여, 중계 장치의 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 것일 수도 있다.
또한, 본 발명에 따른 버퍼 제어 방법은, 버퍼 제어 스텝에서, 외부 장치(예를 들어, 외부 장치(104))로부터 수신한 제어 명령에 따라, 중계 장치의 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 것일 수도 있다.
또한, 본 발명에 따른 버퍼 제어 방법은, 영상 스트림에 포함되는 프레임의 프레임 타입을 판단하는 프레임 타입 판단 스텝으로 포함하고, 버퍼 제어 스텝에서, 판단한 프레임 타입을 사용하여, 중계 장치의 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 것일 수도 있다.
또한, 본 발명에 따른 버퍼 제어 방법은, 프레임 타입에 의거하여 다른 프레임으로부터 참조되고 있는 피(被)참조 프레임인지의 여부를 판단하는 피참조 유무 판단 스텝을 포함하고, 버퍼 제어 스텝에서, 프레임 타입을 사용한 버퍼 제어로서, 프레임이 피참조 프레임인지의 여부의 판단 결과를 사용하여, 중계 장치의 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 것일 수도 있다.
또한, 본 발명에 따른 버퍼 제어 방법은, 피참조 프레임으로부터의 거리에 따라 프레임의 우선도를 설정하는 스텝을 포함하고, 버퍼 제어 스텝에서, 프레임 타입을 사용한 버퍼 제어로서, 프레임의 우선도를 사용하여, 중계 장치의 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 것일 수도 있다.
또한, 본 발명에 따른 버퍼 제어 방법은, 영상 스트림에 포함되는 슬라이스의 슬라이스 타입을 판단하는 슬라이스 타입 판단 스텝을 포함하고, 버퍼 제어 스텝에서, 판단한 슬라이스 타입을 사용하여, 중계 장치의 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 것일 수도 있다.
또한, 본 발명에 따른 버퍼 제어 방법은, 영상 스트림 중에 포함되는 NAL 유닛의 종별을 판단하는 종별 판단 스텝을 포함하고, 버퍼 제어 스텝에서, 판단한 NAL 유닛의 종별을 사용하여, 중계 장치의 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 것일 수도 있다.
또한, 본 발명에 따른 버퍼 제어 방법은, 영상 스트림에 포함되는 NAL 유닛이 영상 스트림에 포함되는 다른 NAL 유닛에 의해 참조되고 있는 피참조 유닛인지의 여부를 판단하는 피참조 유무 판단 스텝을 포함하고, 버퍼 제어 스텝에서, NAL 유닛이 피참조 유닛인지의 여부의 판단 결과를 사용하여, 중계 장치의 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 것일 수도 있다.
또한, 본 발명에 따른 버퍼 제어 방법은, 영상 스트림에 포함되는 매크로 블록의 매크로 블록 타입을 판단하는 매크로 블록 타입 판단 스텝을 포함하고, 버퍼 제어 스텝에서, 판단한 매크로 블록 타입을 사용하여, 중계 장치의 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 것일 수도 있다.
본 발명에 따른 중계 장치는, 영상 스트림의 통신을 중계하는 중계 장치로서, 송신 단말로부터 수신한 영상 스트림을, 당해 중계 장치의 버퍼(예를 들어, 영상 버퍼(208))에 저장시키는 저장 제어 수단(예를 들어, 수신 데이터 분리부(202)에 의해 실현됨)과, 당해 중계 장치의 버퍼가 저장하는 영상 스트림의 데이터량을 세그먼트 단위로 제어하는 버퍼 제어 수단(예를 들어, 영상 버퍼 제어부(207, 407)에 의해 실현됨)을 구비한 것을 특징으로 한다.
또한, 본 발명에 따른 중계 장치는, 영상 스트림의 통신을 중계하는 중계 장치로서, 송신 단말로부터 영상 스트림을 수신하는 수신 수단(예를 들어, 수신부(201)에 의해 실현됨)과, 수신 수단이 수신한 영상 스트림을, 당해 중계 장치의 버퍼(예를 들어, 영상 버퍼(208))에 저장시키는 저장 제어 수단(예를 들어, 수신 데이터 분리부(202)에 의해 실현됨)과, 당해 중계 장치의 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 버퍼 제어 수단(예를 들어, 영상 버퍼 제어부(207, 407)에 의해 실현됨)과, 당해 중계 장치의 버퍼로부터 영상 스트림을 추출하는 추출 수단(예를 들어, 송신 데이터 작성부(209)에 의해 실현됨)과, 추출 수단이 추출한 영상 스트림을 수신처의 수신 단말로 송신하는 송신 수단(예를 들어, 송신부(210)에 의해 실현됨)을 구비한 것일 수도 있다.
또한, 본 발명에 따른 중계 장치는, 영상 스트림의 통신을 중계하는 중계 장치로서, 송신 단말로부터 영상 스트림을 수신하는 수신 수단과, 수신 수단이 수신한 영상 스트림을, 당해 중계 장치의 버퍼에 저장시키는 저장 제어 수단과, 당해 중계 장치의 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 버퍼 제어 수단과, 당해 중계 장치의 버퍼로부터 영상 스트림을 추출하는 추출 수단과, 추출 수단이 추출한 영상 스트림을 수신처의 수신 단말로 송신하는 송신 수단을 구비하고, 버퍼 제어 수단은, 중계 장치의 버퍼가 저장하는 영상 스트림의 소정의 데이터량을 솎아내는 솎아냄 처리를 실행하는 솎아냄 수단(예를 들어, 영상 버퍼 제어부(207, 407)에 의해 실현됨)을 포함하는 것일 수도 있다.
또한, 본 발명에 따른 중계 장치에서, 버퍼 제어 수단은, 중계 장치의 버퍼가 저장하는 영상 스트림을 폐기하고, 중계 장치의 버퍼로의 영상 스트림의 입력을 정지하고, 또는 중계 장치의 버퍼로부터 출력하는 영상 스트림의 출력 레이트를 높게 함으로써, 중계 장치의 버퍼가 저장하는 영상 스트림의 데이터량을 세그먼트 단위로 제어하는 것일 수도 있다.
또한, 본 발명에 따른 중계 장치에서, 버퍼 제어 수단은, 프레임, 비디오 패킷, GOB, 슬라이스 또는 NAL 유닛 중 적어도 하나를 소정의 단위로 사용하여, 중계 장치의 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 것일 수도 있다.
또한, 본 발명에 따른 중계 장치는, 소정의 방법에 의해 임계값을 설정하는 임계값 설정 수단(예를 들어, 임계값 설정부(204)에 의해 실현됨)을 구비하고, 버퍼 제어 수단은, 임계값 설정 수단이 설정한 임계값에 의거하여, 중계 장치의 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 것일 수도 있다.
또한, 본 발명에 따른 중계 장치에서, 버퍼 제어 수단은 임계값에 의거하는 버퍼 제어로서,
(A) 상기 영상 스트림의 데이터량의 상한값을 임계값으로서 설정하고, 상기 중계 장치의 버퍼 내에 축적된 영상 스트림에 데이터량이 상기 상한값 이상으로 된 것을 조건으로 하여, 상기 중계 장치의 버퍼로의 입력을 정지하거나, 상기 중계 장치의 버퍼 내의 영상 스트림 중 적어도 일부를 폐기하거나, 또는 상기 중계 장치의 버퍼로부터의 영상 비트 스트림의 출력 비트 레이트를 높게 하는 제어;
(B) 상기 영상 스트림의 데이터량의 상한값과 하한값을 임계값으로서 설정하고, 상기 중계 장치의 버퍼 내에 축적된 영상 스트림에 데이터량이 상기 상한값 이상으로 된 것을 조건으로 하여 상기 중계 장치의 버퍼의 영상 스트림의 데이터량이 하한값에 도달하기까지 상기 중계 장치의 버퍼로의 입력을 정지하거나, 상기 중계 장치의 버퍼로부터의 영상 비트 스트림의 출력 비트 레이트를 높게 하는 제어를 행하는 제어;
(C) 상기 영상 스트림의 데이터량을 솎아내기 위한 솎아냄 임계값을 임계값으로서 설정하고, 상기 중계 장치의 버퍼의 영상 스트림의 데이터량이 솎아냄 임계값에 도달한 것을 조건으로 하여, 상기 중계 장치의 버퍼로의 소정의 데이터량의 데이터의 입력을 행하지 않는 제어;
중 적어도 하나의 제어를 사용하여, 상기 중계 장치의 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 것일 수도 있다.
또한, 본 발명에 따른 중계 장치에서, 버퍼 제어 수단은 소정의 타이밍에 의거하여, 중계 장치의 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 것일 수도 있다.
또한, 본 발명에 따른 중계 장치에서, 버퍼 제어 수단은 소정의 타이밍으로서, 일정 시간마다의 타이밍, 수신 패킷 수가 일정량에 도달한 타이밍, 수신 영상 스트림의 데이터량이 일정량에 도달한 타이밍, 영상 버퍼로 입력한 데이터량이 일정량에 도달한 타이밍, 또는 수신 세그먼트 수가 일정량에 도달한 타이밍 중 적어도 하나의 타이밍에 의거하여, 중계 장치의 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 것일 수도 있다.
또한, 본 발명에 따른 중계 장치에서, 버퍼 제어 수단은 외부 장치로부터 수신한 제어 명령에 따라, 중계 장치의 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 것일 수도 있다.
또한, 본 발명에 따른 중계 장치는, 영상 스트림에 포함되는 프레임의 프레임 타입을 판단하는 프레임 타입 판단 수단(예를 들어, 세그먼트 해석부(206)에 의해 실현됨)을 구비하고, 버퍼 제어 수단은, 프레임 타입 판단 수단이 판단한 프레임 타입을 사용하여, 중계 장치의 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 것일 수도 있다.
또한, 본 발명에 따른 중계 장치는, 프레임 타입에 의거하여 다른 프레임으로부터 참조되고 있는 피참조 프레임인지의 여부를 판단하는 피참조 유무 판단 수단(예를 들어, 스트림 해석부(406)에 의해 실현됨)을 구비하고, 버퍼 제어 수단은, 프레임 타입을 사용한 버퍼 제어로서, 프레임이 피참조 프레임인지의 여부의 판단 결과를 사용하여, 중계 장치의 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 것일 수도 있다.
또한, 본 발명에 따른 중계 장치는, 피참조 프레임으로부터의 거리에 따라 프레임의 우선도를 설정하는 우선도 설정 수단(예를 들어, 스트림 해석부(406)에 의해 실현됨)을 구비하고, 버퍼 제어 수단은, 프레임 타입을 사용한 버퍼 제어로서, 프레임의 우선도를 사용하여, 중계 장치의 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 것일 수도 있다.
또한, 본 발명에 따른 중계 장치는, 영상 스트림에 포함되는 슬라이스의 슬라이스 타입을 판단하는 슬라이스 타입 판단 수단(예를 들어, 세그먼트 해석부(206)에 의해 실현됨)을 구비하고, 버퍼 제어 수단은, 슬라이스 타입 판단 수단이 판단한 슬라이스 타입을 사용하여, 중계 장치의 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 것일 수도 있다.
또한, 본 발명에 따른 중계 장치는, 영상 스트림 중에 포함되는 NAL 유닛의 종별을 판단하는 종별 판단 수단(예를 들어, 세그먼트 해석부(206)에 의해 실현됨)을 구비하고, 버퍼 제어 수단은, 종별 판단 수단이 판단한 NAL 유닛의 종별을 사용하여, 중계 장치의 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 것일 수도 있다.
또한, 본 발명에 따른 중계 장치는, 영상 스트림에 포함되는 NAL 유닛이 영상 스트림에 포함되는 다른 NAL 유닛에 의해 참조되고 있는 피참조 유닛인지의 여부를 판단하는 피참조 유무 판단 수단(예를 들어, 세그먼트 해석부(206)에 의해 실현됨)을 구비하고, 버퍼 제어 수단은, 피참조 유무 판단 수단에 의한 NAL 유닛이 피참조 유닛인지의 여부의 판단 결과를 사용하여, 중계 장치의 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 것일 수도 있다.
또한, 본 발명에 따른 중계 장치는, 영상 스트림에 포함되는 매크로 블록의 매크로 블록 타입을 판단하는 매크로 블록 타입 판단 수단(예를 들어, 세그먼트 해석부(206)에 의해 실현됨)을 구비하고, 버퍼 제어 수단은, 매크로 블록 타입 판단 수단이 판단한 매크로 블록 타입을 사용하여, 중계 장치의 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 것일 수도 있다.
본 발명에 따른 통신 시스템은, 영상 스트림의 통신을 행하는 통신 시스템으로서, 영상 스트림의 통신을 중계하는 중계 장치를 구비하고, 중계 장치는, 송신 단말로부터 수신한 영상 스트림을, 당해 중계 장치의 버퍼에 저장하는 저장 제어 수단과, 당해 중계 장치의 버퍼가 저장하는 영상 스트림의 데이터량을 세그먼트 단위로 제어하는 버퍼 제어 수단을 포함하는 것을 특징으로 한다.
또한, 본 발명에 따른 통신 시스템은, 영상 스트림의 통신을 행하는 통신 시스템으로서, 영상 스트림의 통신을 중계하는 중계 장치를 구비하고, 중계 장치는, 송신 단말로부터 영상 스트림을 수신하는 수신 수단과, 수신 수단이 수신한 영상 스트림을, 당해 중계 장치의 버퍼에 저장시키는 저장 제어 수단과, 당해 중계 장치의 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 버퍼 제어 수단과, 당해 중계 장치의 버퍼로부터 영상 스트림을 추출하는 추출 수단과, 추출 수단이 추출한 영상 스트림을 수신처의 수신 단말로 송신하는 송신 수단을 포함하는 것일 수도 있다.
본 발명에 따른 버퍼 제어 프로그램은, 중계 장치가 구비하는 버퍼를 제어하기 위한 버퍼 제어 프로그램으로서, 컴퓨터에, 송신 단말로부터 수신한 영상 스트림을, 중계 장치의 버퍼에 저장하는 처리와, 중계 장치의 버퍼가 저장하는 영상 스트림의 데이터량을 세그먼트 단위로 제어하는 처리를 실행시키기 위한 것이다.
또한, 본 발명에 따른 버퍼 제어 프로그램은, 중계 장치가 구비하는 버퍼를 제어하기 위한 버퍼 제어 프로그램으로서, 컴퓨터에, 송신 단말로부터 영상 스트림을 수신하는 처리와, 수신한 영상 스트림을, 중계 장치의 버퍼에 저장하는 처리와, 중계 장치의 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 처리와, 중계 장치의 버퍼로부터 영상 스트림을 취출하여, 수신처의 수신 단말로 송신하는 처리를 실행시키기 위한 것일 수도 있다.
[효과]
본 발명에 의하면, 송신 단말로부터 수신한 영상 스트림을, 중계 장치의 버퍼에 저장한다. 또한, 중계 장치의 버퍼가 저장하는 영상 스트림의 데이터량을 세그먼트 단위로 제어한다. 버퍼 제어를 세그먼트 단위로 행하기 때문에, 중계 장치가 본래 송신해야 할 영상 스트림의 일부를 파기(삭감)한 경우에, 수신 단말이 수신한 영상 스트림에 의거하여 영상을 재생할 때의 화질의 열화를 완화할 수 있다. 따라서, 영상을 수반하는 통신을 행할 경우에, 수신 측에서 표시되는 영상이 전송로의 상태의 영향에 의해 열화되는 것을 저감할 수 있다.
또한, 본 발명에 의하면, 버퍼 제어를 세그먼트 단위로 행하기 때문에, 전송로의 상태가 상이한 네트워크를 통하여 영상 스트림의 통신을 행하는 경우일지라도, 부호화 데이터를 트랜스 코딩하지 않고, 수신 측에서 표시되는 영상이 전송로의 상태의 영향에 의해 열화되는 것을 저감할 수 있다.
도 1은 버퍼 제어 방법을 사용한 통신 시스템의 구성의 일례를 나타내는 블록도.
도 2는 중계 장치의 구성의 일례를 나타내는 블록도.
도 3은 중계 장치가 중계하는 영상 스트림의 포맷의 예를 나타내는 설명도.
도 4는 중계 장치가 영상 버퍼를 제어하는 버퍼 제어 처리의 일례를 나타내는 흐름도.
도 5는 중계 장치의 구성의 다른 예를 나타내는 블록도.
도 6은 스트림 해석부의 구성의 일례를 나타내는 블록도.
도 7은 프레임 타입에 의거하여 데이터의 우선도를 결정하는 처리의 일례를 나타내는 흐름도.
도 8은 참조 픽처(picture)인지의 여부에 의거하여 데이터의 우선도를 결정하는 처리의 일례를 나타내는 흐름도.
도 9는 IntraMB인지의 여부에 의거하여 데이터의 우선도를 결정하는 처리의 일례를 나타내는 흐름도.
도면의 주요 부분에 대한 부호의 설명
101: 중계 장치 102: 송신 단말
103: 수신 단말 104: 외부 장치
105, 106, 107: 전송로 201: 수신부
202: 수신 데이터 분리부 203: 명령 수신부
204: 임계값 설정부 205: 타이밍 생성부
206: 세그먼트 해석부 207: 영상 버퍼 제어부
208: 영상 버퍼 209: 송신 데이터 작성부
210: 송신부
실시예 1.
이하, 본 발명의 제 1 실시예에 대해서 도면을 참조하여 설명한다. 본 발명에 의한 영상 버퍼 제어 방법(버퍼 제어 방법)은 단말로부터 송신되는 영상 스트림을 중계하는 중계 장치에 적용된다. 또한, 버퍼 제어 방법은 상이한 네트워크를 통한 통신을 중계 장치를 사용하여 중계하는 통신 시스템에 적용된다.
또한, 본 실시예에서, 단말로부터 송신되는 영상 스트림을 중계하는 중계 장치는 단말로부터 송신되는 영상 스트림을 수신하는 수단과, 수신한 영상 스트림을 영상 버퍼에 저장하는 수단과, 버퍼 내의 데이터량을 제어하는 수단을 구비한다.
또한, 중계 장치는 소정의 단위로 버퍼 내의 데이터량을 제어하는 수단을 구비할 수도 있다. 이 경우, 중계 장치는 소정의 단위로서, (1) 프레임, (2) 비디오 패킷, (3) GOB(Group Of Blocks), (4) 슬라이스, 또는 (5) NAL(Network Abstraction Layer) 유닛 등의 영상 스트림 고유의 세그먼트 중 적어도 하나를 사용하는 수단을 구비할 수도 있다.
또한, 중계 장치는 소정의 방법에 의해 임계값을 설정하는 수단과, 설정한 임계값에 의거하여 버퍼 내의 데이터량을 제어하는 수단을 구비할 수도 있다. 또한, 중계 장치는 소정의 타이밍에 의거하여 버퍼 내의 데이터량을 제어하는 수단을 구비할 수도 있다. 또한, 중계 장치는 외부 장치로부터의 명령에 따라 버퍼 내의 데이터량을 제어하는 수단을 구비할 수도 있고, 영상 버퍼로부터 영상 스트림을 취출하여 중계처의 단말로 송신한다.
또한, 버퍼 제어 방법을 사용한 통신 시스템의 구성을 도면을 참조하여 설명한다. 도 1은 버퍼 제어 방법을 사용한 통신 시스템의 구성의 일례를 나타내는 블록도이다. 도 1에 나타낸 바와 같이, 통신 시스템은 중계 장치(101)와, 영상 스트림을 송신하는 송신 단말(102)과, 송신 단말(102)로부터 송신된 영상 스트림을 수신하는 수신 단말(103)과, 영상 큐 제어 명령을 송신하는 외부 장치(104)를 포함한다.
또한, 도 1에 나타낸 바와 같이, 중계 장치(101)와 송신 단말(102)은 전송로(105)를 통하여 접속된다. 또한, 중계 장치(101)와 수신 단말(103)은 전송로(106)를 통하여 접속된다. 또한, 중계 장치(101)와 외부 장치(104)는 전송로(107)를 통하여 접속된다. 또한, 전송로(105~107)는 유선 또는 무선에 의한 IP(Internet Protocol)를 사용한 네트워크, 또는 회선 교환망에 의해 실현된다.
또한, 본 실시예에서는, 송신 단말(102)과 수신 단말(103)은 각각 전송로의 상태(대역이나 데이터 손실, 오류 특성)가 상이한 네트워크에 접속되어 있다. 예를 들어, 도 1에 나타낸 예에서는, 전송로(105)와 전송로(106)는 대역이나 데이터 손실, 오류 특성이 상이하다.
또한, 도 1에서는, 송신 단말(102)이 1대인 경우를 나타내고 있지만, 통신 시스템은 복수대의 송신 단말(102)을 포함할 수도 있다. 또한, 도 1에서는, 수신 단말(103)이 1대인 경우를 나타내고 있지만, 통신 시스템은 복수대의 수신 단말(103)을 포함할 수도 있다. 또한, 송신 단말(102)은 영상 스트림을 송신할 뿐만 아니라, 영상 스트림을 수신하는 기능을 구비할 수도 있다. 또한, 수신 단말(103)은 영상 스트림을 수신할 뿐만 아니라, 영상 스트림을 송신하는 기능을 구비할 수도 있다. 또한, 외부 장치(104)는 송신 단말(102) 또는 수신 단말(103)과 동일한 장치에 의해 실현될 수도 있다.
송신 단말(102)은 구체적으로는, 휴대 전화기나 PDA 등의 정보 처리 단말에 의해 실현된다. 또한, 송신 단말(102)은 예를 들어, 퍼스널 컴퓨터 등의 단말일 수도 있다. 송신 단말(102)은 전송로(105)를 통하여 영상 스트림을 송신하는 기능을 구비한다. 예를 들어, 송신 단말(102)은 텔레비전 전화나 텔레비전 회의를 행할 때에, 사용자의 조작에 따라, 전송로(105)를 통하여, 영상 스트림을 포함하는 데이터를 송신한다.
수신 단말(103)은 구체적으로는, 휴대 전화기나 PDA 등의 정보 처리 단말에 의해 실현된다. 또한, 수신 단말(103)은 예를 들어, 퍼스널 컴퓨터 등의 단말일 수도 있다. 수신 단말(103)은 전송로(106)를 통하여 영상 스트림을 수신하는 기능을 구비한다. 또한, 수신 단말(103)은 수신한 영상 스트림에 의거하여, 액정 표시부 등의 표시부에 영상을 표시하는 기능을 구비한다. 예를 들어, 수신 단말(103)은 텔레비전 전화나 텔레비전 회의를 행할 때에, 사용자의 조작에 따라, 전송로(106)를 통하여, 영상 스트림을 포함하는 데이터를 수신하고, 액정 표시부에서 영상을 재생한다.
외부 장치(104)는 구체적으로는, 워크스테이션이나 퍼스널 컴퓨터 등의 정보 처리 장치에 의해 실현된다. 외부 장치(104)는 예를 들어, 중계 장치(101)를 관리하는 통신 캐리어나 프로바이더에 의해 운영된다. 외부 장치(104)는 중계 장치(101)가 구비하는 버퍼를 제어하기 위한 제어 명령을, 전송로(107)를 통하여 중계 장치(101)로 송신하는 기능을 구비한다. 또한, 외부 장치(104)는 송신 단말(102) 또는 수신 단말(103)과 동일한 장치(예를 들어, 사용자 단말)에 의해 실현될 경우에는, 휴대 전화기나 PDA 등의 단말일 수도 있다.
중계 장치(101)는 구체적으로는, 게이트웨이 등의 통신 제어 장치에 의해 실현된다. 또한, 중계 장치(101)는 통신을 중계하기 위한 통신 중계 프로그램에 따라 처리를 실행하는 워크스테이션이나 퍼스널 컴퓨터 등의 정보 처리 장치일 수도 있다. 도 2는 중계 장치의 구성의 일례를 나타내는 블록도이다. 중계 장치(101)는, 도 2에 나타낸 바와 같이, 수신부(201), 수신 데이터 분리부(202), 명령 수신부(203), 임계값 설정부(204), 타이밍 생성부(205), 세그먼트 해석부(206), 영상 버퍼 제어부(207), 영상 버퍼(208), 송신 데이터 작성부(209) 및 송신부(210)를 포함한다.
수신부(201)는 송신 단말(102)로부터, 전송로(105)를 통하여, 영상 스트림을 포함하는 데이터를 수신하는 기능을 구비한다. 수신 데이터 분리부(202)는 수신 데이터로부터 영상 스트림을 분리하여, 영상 스트림을 추출하는 기능을 구비한다. 또한, 수신 데이터 분리부(202)는 분리한 영상 스트림을 영상 버퍼(208)에 저장시키는 기능을 구비한다.
명령 수신부(203)는 전송로(107)를 통하여, 외부 장치(104)로부터의 명령을 수신하는 기능을 구비한다. 임계값 설정부(204)는 버퍼 제어에 사용하는 임계값을 설정하는 기능을 구비한다. 타이밍 생성부(205)는 버퍼 제어를 하는 타이밍을 설정하고, 타이밍 정보를 생성하는 기능을 구비한다. 세그먼트 해석부(206)는 수신 데이터 분리부(202)로부터 영상 스트림을 수취하고, 영상 스트림 내의 세그먼트를 해석하는 기능을 구비한다.
영상 버퍼 제어부(207)는 영상 버퍼(208)의 제어를 행하는 기능을 구비한다. 본 실시예에서는, 영상 버퍼 제어부(207)는 영상 버퍼(208)가 저장하는 영상 스트림을 삭제하는 등의 처리를 행함으로써, 영상 버퍼(208)의 제어를 행한다. 이 경우, 영상 버퍼 제어부(207)는 명령 수신부(203)가 외부 장치(104)로부터 수신한 제어 명령에 의거하여, 영상 버퍼(208)의 제어를 행한다. 또한, 영상 버퍼 제어부(207)는 임계값 설정부(204)가 설정한 임계값에 의거하여, 영상 버퍼(208)의 제어를 행한다. 또한, 영상 버퍼 제어부(207)는 타이밍 생성부(205)가 설정한 타이밍에 의거하여, 영상 버퍼(208)의 제어를 행한다. 또한, 영상 버퍼 제어부(207)는 세그먼트 해석부(206)의 해석 결과에 의거하여, 영상 버퍼(208)의 제어를 행한다.
영상 버퍼(208)는 수신 데이터 분리부(202)가 분리하여 얻어진 영상 스트림을 저장하는 기능을 구비한다. 송신 데이터 작성부(209)는 영상 버퍼(208) 내의 영상 스트림에 의거하여, 전송로(106)를 사용하여 통신할 수 있는 형식의 송신 데이터를 작성하는 기능을 구비한다. 송신부(210)는 송신 데이터 작성부(209)가 작성한 송신 데이터를, 전송로(106)를 통하여 수신 단말(103)로 송신하는 기는을 구 비한다.
또한, 수신부(201)에서 수신한 데이터의 포맷은 전송로(105)에서 사용되는 통신 프로토콜에 의존한 전송 포맷으로 한다. 또한, 송신부(210)에서 송신하는 데이터의 포맷은 전송로(106)에서 사용되는 통신 프로토콜에 의존한 전송 포맷으로 한다. 여기서 가리키는 전송 포맷이라는 것은 예를 들어, IP망에서의 RTP 포맷이나, 회선 교환망에서의 H.223 포맷 등의 영상 스트림을 전송할 때에 사용되는 포맷이다.
또한, 상기에 나타낸 RTP 포맷은 예를 들어, 비특허문헌 1 「H.Schulzrinne, S.Casner, R.Frederick, V.Jacobson, "RTP: A Transport Protocol for Real-Time Applications", RFC 3550, July 2003, 인터넷<RUL: http://www.ietf.org/rfc/rfc3550.txt> 」에 기재되어 있다. 또한, 상기에 나타낸 H.223 포맷은 예를 들어, 비특허문헌 2 「TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU, "ITU-T Recommendation H.223", 03/1996」에 기재되어 있다.
또한, 중계 장치(101)가 정보 처리 장치에 의해 실현될 경우, 중계 장치(101)의 기억 장치는 상이한 네트워크를 통한 영상 스트림의 통신을 중계하기 위한 각종 프로그램을 기억하고 있다. 예를 들어, 중계 장치(101)의 기억 장치는 컴퓨터에, 송신 단말로부터 수신한 영상 스트림을, 중계 장치의 버퍼에 저장하는 처리와, 중계 장치의 버퍼가 저장하는 영상 스트림의 데이터량을 세그먼트 단위로 제어하는 처리를 실행시키기 위한 버퍼 제어 프로그램을 기억하고 있다.
다음으로, 중계 장치(101)에 의해 중계되는 영상 스트림의 포맷을 설명한다. 도 3은 중계 장치(101)가 중계하는 영상 스트림의 포맷의 예를 나타내는 설명도이다. 도 3에 나타낸 바와 같이, 영상 스트림은 복수의 프레임(30-1~30-n)으로 구성되는 것으로 한다. 도 3에 있어서, VP는 MPEG4에서의 비디오 패킷을 나타낸다. 도 3에 나타낸 바와 같이, 프레임(30-1)은 복수의 VP(31-1~31-m)로 구성된다. 또한, 프레임(30-1)은 복수의 VP(31-1~31-m)로 구성되는 것에 한정되지 않고, VP 단위로 구분되어 있지 않은 것일 수도 있다. 또한, 프레임(30-2~30-n)도 프레임(30-1)과 동일하게, 복수의 VP로 구성되어 있을 수도 있고, VP 단위로 구분되어 있지 않은 것일 수도 있다.
또한, 본 실시예에서는, MPEG4 방식으로 부호화한 영상 스트림을 통신하는 경우를 설명하지만, 버퍼 제어 방법은 특정한 부호화 방식으로 한정되지 않고, 예를 들어 MPEG1이나 MPEG2 등의 방식을 사용하여 부호화한 영상 스트림의 통신을 행하는 통신 시스템에 적용될 수도 있다. 또한, 영상 스트림에 포함되는 프레임은 VP 단위로 구분되는 경우에 한정되지 않고, 예를 들어, H.263에서의 GOB나 슬라이스 등의 영상 부호화 방식 고유의 단위로 구분될 수도 있다. 또한, 예를 들어 프레임은 H.264에서의 NAL 유닛이나 슬라이스 등의 영상 부호화 방식 고유의 단위로 구분될 수도 있다.
다음으로, 동작에 대해서 설명한다. 도 4는 중계 장치(101)가 영상 버퍼(208)를 제어하는 버퍼 제어 처리의 일례를 나타내는 흐름도이다. 송신 단말(102)의 사용자는 수신 단말(103)의 사용자와 텔레비전 전화나 텔레비전 회의를 행할 경우, 송신 단말(102)을 조작하여 영상 스트림의 송신의 지시 조작을 행한다. 송신 단말(102)은 사용자의 조작에 따라, 전송로(105)를 통하여, 영상 스트림을 포함하는 데이터를 중계 장치(101)로 송신한다.
우선, 중계 장치(101)가 영상 스트림을 수신하여 영상 버퍼(208)에 저장하기 까지의 동작을 설명한다. 중계 장치(101)의 수신부(201)는 송신 단말(102)로부터 전송로(105)를 통하여, 적어도 영상 스트림을 포함하는 수신 데이터를 수신한다(스텝 S11). 그러면, 수신 데이터 분리부(202)는 전송로(105)에서 사용되는 전송 포맷에 의거하여, 수신 데이터로부터 영상 스트림을 분리하여, 영상 스트림을 추출한다(스텝 S12). 또한, 수신 데이터 분리부(202)는 분리한 영상 스트림을 영상 버퍼(208)에 저장시킨다(스텝 S13). 이상의 처리에 따라, 중계 장치(101)의 영상 버퍼(208)에 영상 스트림이 차례로 저장된다.
다음으로, 중계 장치(101)가 영상 버퍼(208)를 제어하는 동작을 설명한다. 중계 장치(101)의 명령 수신부(203)는 소정의 타이밍에서, 외부 장치(104)로부터, 전송로(107)를 통하여 제어 명령을 수신한다(스텝 S14). 그리고, 영상 버퍼 제어부(207)는 명령 수신부(203)가 수신한 제어 명령에 따라, 영상 버퍼(208)가 저장하는 영상 스트림을 파기(삭제)한다(스텝 S15).
또한, 본 실시예에서는, 중계 장치(101)의 임계값 설정부(204)는 미리 소정의 임계값을 설정하고 있다. 이 경우, 영상 버퍼 제어부(207)는 스텝 S15에서, 임계값 설정부(204)가 설정한 임계값에 따라, 영상 버퍼(208)가 저장하는 영상 스트림을 파기(삭제)한다.
또한, 본 실시예에서는, 중계 장치(101)의 타이밍 생성부(205)는 미리 소정 의 타이밍을 설정하고 있다. 이 경우, 영상 버퍼 제어부(207)는 스텝 S15에서, 타이밍 생성부(205)가 설정한 타이밍에 따라, 영상 버퍼(208)가 저장할 영상 스트림을 파기(삭제)한다.
또한, 본 실시예에서는, 중계 장치(101)의 세그먼트 해석부(206)는 영상 스트림을 수신한 때에, 영상 스트림에 포함되는 세그먼트를 해석하고 있다. 이 경우, 영상 버퍼 제어부(207)는 스텝 S15에서, 세그먼트 해석부(206)가 해석한 세그먼트에 따라, 영상 버퍼(208) 내의 영상 스트림을 세그먼트 단위로 파기(삭제)한다.
또한, 영상 버퍼 제어부(207)는 외부 장치(104)로부터의 제어 명령, 임계값, 타이밍, 및 세그먼트의 해석 결과의 전부에 따라 영상 버퍼(208)를 제어하지 않고, 외부 장치(104)로부터의 제어 명령, 임계값, 타이밍, 및 세그먼트의 해석 결과 중 어느 하나 또는 복수에 따라, 영상 버퍼(208)를 제어할 수도 있다. 이 경우, 예를 들어 중계 장치(101)는 명령 수신부(203)를 포함하지 않고, 통신 시스템은 제어 명령을 송신하는 외부 장치(104)를 포함하지 않을 수도 있다. 또한, 예를 들어 중계 장치(101)는 임계값 설정부(204)를 포함하지 않을 수도 있다. 또한, 예를 들어 중계 장치(101)는 타이밍 생성부(205)를 포함하지 않을 수도 있다.
또한, 영상 버퍼 제어부(207)는 영상 버퍼(208)가 저장하는 영상 스트림 중 일부의 스트림을 파기할 수도 있고, 모든 영상 스트림을 파기할 수도 있다.
다음으로, 중계 장치(101)가 영상 버퍼(208)에 저장하는 영상 스트림을 송신하는 동작을 설명한다. 중계 장치(101)의 송신 데이터 작성부(209)는 영상 버 퍼(208)가 저장하는 영상 스트림(스텝 S15에서 파기되지 않고 영상 버퍼(208)에 남은 영상 스트림)을, 전송로(106)에서 사용할 수 있는 전송 포맷으로 가공하고, 송신 데이터를 작성한다(스텝 S16). 그리고, 송신부(210)는 송신 데이터 작성부(209)가 작성한 송신 데이터를, 전송로(106)를 통하여 수신 단말(103)로 송신한다(스텝 S17). 또한, 수신 단말(103)은 중계 장치(101)로부터 수신한 데이터에 포함되는 영상 스트림에 의거하여, 표시부에 영상을 표시한다.
또한, 영상 버퍼(208)에 영상 스트림을 저장하거나, 영상 버퍼(208) 내의 데이터를 파기하는 처리는 구체적으로는, 영상 버퍼(208)로의 입력을 정지하거나, 영상 버퍼(208)로부터 데이터를 출력하는 출력 비트 레이트를 높게 함으로써 실현할 수 있다.
다음으로, 외부 장치(104)로부터 송신되는 제어 명령에 대해서 설명한다. 외부 장치(104)로부터 송신되는 제어 명령은 중계 장치(101) 내의 영상 버퍼(208)를 외부로부터 조작한 때에, 외부 장치(104)로부터 중계 장치(101)로 송신된다. 그리고, 명령 수신부(203)를 통하여, 중계 장치(101) 내의 임계값 설정부(204), 타이밍 생성부(205), 세그먼트 해석부(206) 및 영상 버퍼 제어부(207)의 각각의 모듈로 전송된다.
예를 들어, 송신 단말(102)이 통신 시스템 내의 다른 송신 단말로 전환된 때에, 전환 전의 과거의 송신 단말(102)의 영상 스트림이 송신되지 않도록, 영상 버퍼(208)로부터 버퍼 내를 클리어하기(영상 스트림을 삭제하기) 위한 제어 명령이 외부 장치(104)로부터 송신된다. 그리고, 명령 수신부(203)를 통하여 영상 버퍼 제어부(207)로 전달된다. 또한, 예를 들어 전송에 의해 수신 단말(103)이 통신 시스템 내의 다른 수신 단말로 변경된 때에, 영상 버퍼(208)로부터 영상 스트림을 삭제하기 위한 제어 명령이 외부 장치(104)로부터 송신된다.
또한, 송신 단말(102)로부터 송신되는 영상 스트림의 비트 레이트나 프레임 레이트가 급격한 변화를 할 경우, 또는 이미 변화된 경우에, 그 비트 레이트나 프레임 레이트의 변화에 맞춰, 영상 버퍼 사이즈를 증감시키는 제어 명령이 외부 장치(104)로부터 송신될 수도 있다. 그리고, 명령 수신부(203)를 통하여 제어 명령이 영상 버퍼 제어부(207)로 전달될 수도 있다. 또한, 그 비트 레이트나 프레임 레이트의 변화에 맞춘 임계값으로 변경하는 제어 명령이 임계값 설정부(204)로 전달될 수도 있다. 또한, 그 비트 레이트나 프레임 레이트의 변화에 맞춘 버퍼 제어 타이밍으로 변경하는 제어 명령이 타이밍 생성부(205)로 전달될 수도 있다. 또한, 그 비트 레이트나 프레임 레이트의 변화에 맞춘 세그먼트로 제어 변경하는 명령이 세그먼트 해석부(206)로 전달될 수도 있다. 또한, 이들 4개의 제어 명령은 독립적으로 단독으로 송신될 수도 있고, 복수의 제어 명령이 동시에 발행될 수도 있다.
또한, 송신 단말(102)로부터 송신되는 영상 스트림이 MPEG4에 의해 부호화된 스트림으로부터 H.263에 의해 부호화된 스트림으로 바뀐 때에, 영상 버퍼(208) 내의 영상 스트림을 클리어(삭제)하는 제어 명령을 영상 버퍼 제어부(207)로 전달할 수도 있다. 그리고, 변경할 영상 스트림에 맞춘 세그먼트를 해석하도록 세그먼트 해석부(206)로 제어 명령이 전송될 수도 있다. 또한, MPEG4 및 H.263 이외의 방식에 의해 부호화된 스트림으로 변경하는 경우에도 동일하다.
다음으로, 임계값 설정부(204)가 설정하는 임계값에 대해서 설명한다. 임계값 설정부(204)는 미리 메모리 등의 기억 장치에 기억하는 설정 파일의 설정 내용에 따라, 임계값을 설정할 수도 있다. 또한, 임계값 설정부(204)는 중계 장치(101)에 접속된 소정의 설정 단말(예를 들어, 퍼스널 컴퓨터 등의 단말)로부터 입력되는 설정 정보에 따라, 임계값을 설정할 수도 있다.
임계값 설정부(204)는 예를 들어, 영상 버퍼(208) 내에 축적되는(축적 가능한) 영상 스트림의 데이터량의 상한값을 임계값으로서 설정한다. 이 경우, 상한값 이상의 영상 스트림이 버퍼(208) 내에 축적되었다고 판단되면, 영상 버퍼 제어부(207)는 영상 버퍼(208) 내의 영상 스트림의 일부 또는 전부를 파기(삭제)시킨다. 또한, 영상 버퍼 제어부(207)는 영상 버퍼(208)로의 입력을 정지하거나, 영상 버퍼(208)로부터의 출력 비트 레이트를 높게 한다.
또한, 임계값 설정부(204)는 예를 들어, 영상 버퍼(208) 내에 축적되는 영상 스트림의 데이터량의 상한값 및 하한값의 2값을 임계값으로서 설정할 수도 있다. 이 경우, 상한값 이상의 영상 스트림이 버퍼(208) 내에 축적되었다고 판단되면, 영상 버퍼 제어부(207)는 영상 버퍼(208)로의 영상 스트림의 입력을, 영상 버퍼(208)가 축적하는 영상 스트림의 데이터량이 하한값에 도달할 때까지 행하지 않도록 제어한다. 또한, 영상 버퍼 제어부(207)는 영상 버퍼(208)로부터의 영상 스트림의 출력 비트 레이트를, 영상 버퍼(208)가 축적하는 영상 스트림의 데이터량이 하한값에 도달할 때까지 높아지도록 제어할 수도 있다.
또한, 임계값 설정부(204)는 영상 스트림의 입력 비트 레이트나 프레임 레이 트를 독자적으로 계산하거나, 명령 수신부(203)를 통하여 외부 장치(104)로부터 수취함으로써, 입력 비트 레이트나 프레임 레이트를 취득할 수도 있다. 이 경우, 임계값 설정부(204)는 취득한 비트 레이트나 프레임 레이트가 순시적으로 높을 때에는, 일단 영상 버퍼(208)가 축적하는 영상 스트림의 데이터량의 상한값을 크게 할 수도 있다.
또한, 임계값 설정부(204)는 영상 버퍼(208)에 영상 스트림이 입력될 때에, 소정의 시간(예를 들어, 분, 초, 밀리 초 등)에 입력되는 영상 스트림의 데이터량, 또는 데이터량의 미분값을 계산할 수도 있다. 그리고, 임계값 설정부(204)는 그 구한 데이터량이나 미분값과 비교하기 위한 값을 임계값으로서 설정할 수도 있다. 이 경우, 예를 들어 입력 비트 레이트의 미분값이 클 경우, 임계값 설정부(204)는 영상 버퍼(208)의 상한값을 크게 할 수도 있다. 또는, 영상 버퍼(208)로부터 데이터가 넘치게 되는 것을 방지하기 위해, 버퍼량이 상한값에 도달하기 전에 영상 스트림의 입력을 정지하는 등의 제어를 행할 수도 있다.
예를 들어, 영상 버퍼(208) 내의 데이터를 솎아내기 위한 솎아냄 임계값을 설치하고, 버퍼량이 솎아냄 임계값에 도달한 때에 소정의 데이터량을 버퍼 제어(예를 들어, 영상 버퍼(208)로의 소정의 데이터량의 데이터의 입력을 행하지 않음)할 수도 있다. 즉, 영상 버퍼 제어부(207)는 영상 버퍼(208)가 저장하는 영상 스트림의 소정의 데이터량을 솎아내는 솎아냄 처리를 실행하도록 할 수도 있다. 또한, 이 솎아냄 임계값을 복수 설치할 수도 있고, 예를 들어 버퍼량의 1/3의 지점에서(제 1 솎아냄 임계값에 도달한 때에) 1프레임분의 데이터량을 버퍼 제어하고, 버퍼 량의 2/3의 지점에서(제 2 솎아냄 임계값에 도달한 때에) 2프레임분의 데이터량을 버퍼 제어할 수도 있다.
다음으로, 타이밍 생성부(205)가 소정의 타이밍(이하, 버퍼 제어 타이밍이라고 함)을 설정하고, 타이밍 정보를 생성하는 동작에 대해서 설명한다. 「버퍼 제어 타이밍」은 영상 버퍼 제어부(207)가 영상 버퍼(208)의 내부를 보러 가고(영상 버퍼(208)가 기억하는 영상 스트림을 확인하고), 버퍼 제어를 행하기 위한 타이밍이다.
타이밍 생성부(205)는 미리 메모리 등의 기억 장치에 기억하는 설정 파일의 설정 내용에 따라, 버퍼 제어 타이밍을 설정할 수도 있다. 또한, 타이밍 생성부(205)는 중계 장치(101)에 접속된 소정의 설정 단말로부터 입력되는 설정 정보에 따라, 어떤 일정한 타이밍을 버퍼 제어 타이밍으로 설정할 수도 있다.
또한, 타이밍 생성부(205)는 수신부(201)가 데이터 수신한 타이밍을, 버퍼 제어 타이밍으로 할 수도 있다. 또한, 타이밍 생성부(205)는 명령 수신부(203)로부터 제어 명령을 수신한 타이밍을, 버퍼 제어 타이밍으로 할 수도 있다.
또한, 타이밍 생성부(205)는 영상 버퍼(208)가 축적하는 데이터량에 비해, 수신 데이터 분리부(202)로부터의 영상 스트림의 데이터량이 적은 때나, 영상 스트림의 수신 빈도가 낮은 때에, 버퍼 제어 타이밍을 지연시키도록 설정할 수도 있다. 또한, 타이밍 생성부(205)는 반대로 수신 데이터 분리부(202)로부터의 영상 스트림의 데이터량이 많을 때나, 영상 스트림의 수신 빈도가 높을 때에, 버퍼 제어 타이밍을 서두르도록 설정할 수도 있다. 여기서의 타이밍이라는 것은 예를 들어, 일정 시간마다와 같은 시간 정보에 의한 타이밍일 수도 있고, 수신 패킷 수가 일정량에 도달한 타이밍이나, 수신 영상 스트림의 데이터량이 일정량에 도달한 타이밍, 영상 버퍼에 입력한 데이터량이 일정량에 도달한 타이밍일 수도 있다. 또한, 다음으로 나타내는 세그먼트 해석부(206)와 연동(連動)하고, 수신 프레임 수가 일정량에 도달한 타이밍이나 수신 영상 부호화 방식 고유의 세그먼트 수가 일정량에 도달한 타이밍 등일 수도 있다.
다음으로, 세그먼트 해석부(206)가 행하는 세그먼트 해석(영상 스트림에 포함되는 세그먼트의 해석 처리)에 대해서 설명한다. 본 실시예에서는, 해석 대상의 세그먼트로서, 프레임과, 프레임을 더 분할한 영상 부호화 방식 고유의 단위(예를 들어, 비디오 패킷이나 GOB, 슬라이스, NAL 유닛)의 2종류를 상정(想定)한다. 이 경우, 세그먼트 해석부(206)는 예를 들어, 세그먼트의 해석 처리를 행함으로써, 영상 스트림을 프레임 단위로 구획할 수 있는지, 영상 스트림을 영상 부호화 방식 고유의 단위로 구획할 수 있는지를 특정한다.
본 실시예에서는, 세그먼트로서의 영상 부호화 방식 고유의 단위는 프레임을 분할한 것으로서, 영상 스트림 중의 일부의 세그먼트가 패킷 로스나 비트 에러에 의해 디코딩할 수 없는 경우일지라도, 영상 스트림 중의 다른 세그먼트가 독립적으로 디코딩할 수 있는 단위이다.
세그먼트 해석부(206)는 세그먼트 해석의 방법으로서, 예를 들어 영상 스트림 중에서 세그먼트 구획을 나타내는 스타트 코드를 찾는 방법을 사용하여, 영상 스트림 중의 세그먼트를 특정한다. 또한, 세그먼트 해석부(206)는 예를 들어, 전 송 포맷으로부터 세그먼트 구획을 판별하는 방법을 사용하여, 영상 스트림 중의 세그먼트를 특정할 수도 있다. 또한, 세그먼트 해석부(206)는 예를 들어, 영상 스트림 고유의 세그먼트 해석 방법을 사용하여, 영상 스트림 중의 세그먼트를 특정할 수도 있다.
이하, 세그먼트의 단위로서 MPEG4에서의 비디오 패킷(VP)을 사용하는 경우를 설명한다. 또한, 세그먼트로서 다른 영상 부호화 방식 고유의 단위(예를 들어, GOB나 슬라이스, NAL 유닛)를 사용하는 경우도 마찬가지이다.
우선, 세그먼트 해석부(206)는 미리 설정된 초기값, 또는 명령 수신부(203)로부터 수신한 제어 명령에 따라, 모든 세그먼트(프레임 또는 비디오 패킷)를 해석할지를 결정한다. 중계 장치(101)는 여기서 세그먼트 해석부(206)가 해석한 세그먼트를, 영상 버퍼(208)로의 영상 스트림의 입력이나, 영상 버퍼(208) 내의 영상 스트림의 파기를 행할 때의 단위로서 사용한다.
프레임 단위로 버퍼 제어를 행하면, 수신 단말(103)에서 수신하는 영상의 프레임 수가 감소하고, 프레임 레이트가 저하된다. 예를 들어, 도 3에 나타낸 프레임(30-3)이 프레임간 예측을 행하여 송신 단말(102)로부터 송신된 경우, 하나 전의 프레임(30-2)이 버퍼 제어에 의해 파기되어 수신 단말(103)로 송신되지 않으면, 참조 프레임에 어긋남이 생기게 된다. 따라서, 프레임(30-3)의 디코딩 시에 참조되는 프레임이 2개 전의 프레임(30-1)이 되고, 수신 단말(103)에 의해 재생되는 화상의 화질 열화로 이어진다. 그러나, 움직임이 적은 영상(프레임 사이의 변화가 적은 영상)의 경우에는, 참조 프레임의 어긋남에 의한 화질 열화는 적다. 따라서, 움직임이 적은 영상의 경우에는, 세그먼트로서 프레임 단위로 버퍼 제어를 행함으로써, 수신 단말(103)에 의해 재생되는 화상의 화질 열화를 저감할 수 있다.
한편, VP 단위로 버퍼 제어를 행하면, 수신 단말(103)에서 수신하는 영상의 프레임 레이트는 변하지 않고, 수신할 수 있었던 VP는 정상적으로 디코딩할 수 있다. 예를 들어, 도 3에 나타낸 VP(31-2)가 버퍼 제어에 의해 파기되어 수신 단말(103)로 송신되지 않은 경우일지라도, 프레임(30-1)을 구성하는 다른 VP(31-1, 31-3~31-m)는 정상적으로 디코딩된다. 이 경우, 프레임 중의 VP(31-2) 부분의 디코딩 처리는 수신 단말(103)의 디코더의 정밀도에 의존한다. 따라서, 수신 단말(103)의 디코더의 정밀도에 의해, 세그먼트로서 비디오 패킷 단위로 버퍼 제어를 행함으로써, 수신 단말(103)에 의해 재생되는 화상의 화질 열화를 저감할 수 있다.
다음으로, 세그먼트 단위가 아니라, 어떤 일정한 바이트량의 단위로 버퍼 제어를 행하는 경우를 생각할 수 있다. 예를 들어, 버퍼 제어에 의해 프레임(30-1)의 말미 부근과 프레임(30-2)의 선두 부분을 파기했다고 한다. 이 경우, 수신 단말(103)은 프레임(30-1)에 대해서는, 선두 부분으로부터 파기되기 직전의 부분까지의 내용을 정상적으로 디코딩할 수 있다. 한편, 수신 단말(103)은 프레임(30-2)에 대해서는, 선두 부분이 파기되게 되어 있기 때문에(예를 들어, 헤더(header) 부분이 파기되게 되어 있기 때문에), 다음의 VP 또는 프레임의 부분까지 정상적으로 디코딩할 수 없다.
마찬가지로, 버퍼 제어에 의해 VP(31-5)의 말미 부근과 VP(31-6)의 선두 부근을 파기한 경우에도, 수신 단말(103)은 다음의 VP 또는 프레임의 부분까지 정상 적으로 디코딩할 수 없다. 이와 같이, 세그먼트 단위가 아니라 일정한 바이트량 단위로 버퍼 제어를 행하면, 수신해도 정상적으로 디코딩할 수 없는 데이터를 대량으로 수신 단말(103)로 송신함으로써, 수신 단말(103)에 의해 재생되는 화상의 화질 열화를 야기하는 원인으로 된다. 본 실시예에서는, 영상 버퍼 제어를 세그먼트 단위로 행함으로써, 수신 단말(103)에 의해 재생되는 화상의 화질 열화를 완화할 수 있다.
영상 버퍼 제어부(207)는 명령 수신부(203), 임계값 설정부(204), 타이밍 생성부(205), 및 세그먼트 해석부(206)로부터의 정보를 받아, 영상 버퍼(208) 내의 영상 스트림을 제어한다.
이상과 같이, 본 실시에에 의하면, 중계 장치(101)는 송신 단말(102)로부터 수신한 수신 데이터로부터 분리한 영상 스트림을, 영상 버퍼(208)에 저장한다. 또한, 중계 장치(101)는 영상 스트림에 포함되는 세그먼트를 해석하고, 세그먼트의 해석 결과에 의거하여, 영상 버퍼(208)가 저장하는 영상 스트림의 데이터량을 세그먼트 단위로 제어한다. 버퍼 제어를 세그먼트 단위로 행하기 때문에, 중계 장치(101)가 본래 송신해야 할 영상 스트림의 일부를 파기(삭제)한 경우에, 수신 단말(103)이 수신한 영상 스트림에 의거하여 영상을 재생할 때의 화질의 열화를 완화할 수 있다. 따라서, 영상을 수반하는 통신을 행할 경우에, 수신 측에서 표시되는 영상이 전송로의 상태의 영향에 의해 열화되는 것을 저감할 수 있다.
또한, 본 실시예에 의하면, 버퍼 제어를 세그먼트 단위로 행하기 때문에, 전송로의 상태가 상이한 네트워크를 통한 영상 스트림의 통신을 행하는 경우일지라 도, 부호화 데이터를 트랜스 코딩하지 않고, 수신 측에서 표시되는 영상이 전송로의 상태의 영향에 의해 열화되는 것을 저감할 수 있다.
실시예 2.
다음으로, 본 발명의 제 2 실시예를 도면을 참조하여 설명한다. 본 실시예에서는, 영상 버퍼 제어 방법(버퍼 제어 방법)을 사용한 중계 장치는 제 1 실시예에서 나타낸 구성요소에 더하여, 영상 스트림 중에 포함되는 영상 스트림 정보를 특정하는 수단을 구비한다.
또한, 중계 장치는 영상 스트림 정보로서, (1) 프레임 타입, (2) 슬라이스 타입, (3) NAL 유닛의 종별, (4) NAL 유닛의 피참조의 유무, 또는 (5) 매크로 블록 타입 중 적어도 하나를 사용하는 수단을 구비한다. 또한, 중계 장치는 특정한 영상 스트림 정보를 사용하여 데이터량을 제어하는 수단을 구비하고, 영상 버퍼로부터 영상 스트림을 취출하여 중계처의 단말로 송신한다.
우선, 버퍼 제어 방법을 사용한 통신 시스템의 구성을 도면을 참조하여 설명한다. 본 실시예에서, 통신 시스템의 기본적 구성은 제 1 실시예에서 나타낸 구성(도 1 참조)과 동일하다. 본 실시예에서는, 중계 장치(401)의 기능이 제 1 실시예에서 나타낸 중계 장치(101)의 기능과 상이하다.
도 5는 중계 장치의 구성의 다른 예를 나타내는 블록도이다. 도 5에 나타낸 바와 같이, 본 실시예에서는, 중계 장치(401)는 도 2에서 나타낸 중계 장치(101)의 세그먼트 해석부(206) 대신에 스트림 해석부(406)를 포함하는 점에서, 제 1 실시예와 상이하다. 또한, 본 실시예에서는, 영상 버퍼 제어부(407)의 기능이 도 2에서 나타낸 영상 버퍼 제어부(207)의 기능과 상이하다.
본 실시예에서, 중계 장치(401)는 제 1 실시예에서 나타낸 중계 장치(101)에, 영상 스트림 정보를 사용하여 버퍼 제어하는 수단(스트림 해석부(406) 및 영상 버퍼 제어부(407))을 추가한 것에 상당한다. 또한, 수신부(21), 수신 데이터 분리부(202), 명령 수신부(203), 임계값 설정부(204), 타이밍 생성부(205), 영상 버퍼(208), 송신 데이터 작성부(209) 및 송신부(210)의 기능은 제 1 실시예에서 나타낸 것들의 기능과 동일하다.
스트림 해석부(406)는 세그먼트 해석을 행하는 동시에, 영상 스트림으로부터 세그먼트 정보를 취득(추출)하는 기능을 구비한다.
영상 버퍼 제어부(407)는 영상 버퍼(208)의 제어를 행하는 기능을 구비한다. 이 경우, 영상 버퍼 제어부(407)는 제 1 실시예에서 나타낸 영상 버퍼 제어부(207)와 동일하게, 명령 수신부(203)가 외부 장치(104)로부터 수신한 제어 명령에 의거하여, 영상 버퍼(208)의 제어를 행한다. 또한, 영상 버퍼 제어부(407)는 제 1 실시예에서 나타낸 영상 버퍼 제어부(207)와 동일하게, 임계값 설정부(204)가 설정한 임계값에 의거하여, 영상 버퍼(208)의 제어를 행한다. 또한, 영상 버퍼 제어부(407)는 제 1 실시예에서 나타낸 영상 버퍼 제어부(207)와 동일하게, 타이밍 생성부(205)가 설정한 타이밍에 의거하여, 영상 버퍼(208)의 제어를 행한다. 또한, 영상 버퍼 제어부(407)는 제 1 실시예에서 나타낸 영상 버퍼 제어부(207)의 기능에 더하여, 스트림 해석부(406)가 해석한 세그먼트와, 스트림 해석부(406)가 추출한 세그먼트 정보를 수취하고, 영상 버퍼 제어부(207)의 버퍼 제어를 행한다.
도 6은 스트림 해석부(406)의 구성의 일례를 나타내는 블록도이다. 스트림 해석부(406)는, 도 6에 나타낸 바와 같이, 세그먼트 해석부(206) 및 세그먼트 정보 취득부(501)를 포함한다. 세그먼트 해석부(206)는 제 1 실시예에서 나타낸 중계 장치(101)가 포함하는 세그먼트 해석부(206)와 동일하게, 영상 스트림 내의 세그먼트를 해석하는 기능을 구비한다. 세그먼트 정보 취득부(501)는 세그먼트 해석부(206)가 해석한 세그먼트(영상 스트림에 포함되는 세그먼트)로부터, 세그먼트 고유의 정보(세그먼트 정보)를 취득(추출)하는 기능을 구비한다.
다음으로, 동작에 대해서 설명한다. 본 실시예에서, 중계 장치(401)는 도 4에 나타낸 버퍼 제어 처리와 동일한 처리에 따라, 송신 단말(102)로부터 영상 스트림을 수신하여 영상 버퍼(208)에 저장하고, 영상 버퍼(208)를 제어하며, 영상 버퍼(208)에 저장하는 영상 스트림을 수신 단말(103)로 송신한다.
또한, 스트림 해석부(406)의 세그먼트 해석부(206)는 영상 스트림을 수신한 때에, 수신 데이터 분리부(202)로부터 영상 스트림을 입력하면, 제 1 실시예에서 나타낸 세그먼트 해석부(206)와 동일하게, 프레임 단위, 또는 프레임을 분할한 영상 부호화 방식 고유의 단위로, 세그먼트를 해석한다. 또한, 세그먼트 해석부(206)는 해석한 세그먼트를, 세그먼트 정보 취득부(501)로 전송한다(출력한다).
세그먼트 정보 취득부(501)는 세그먼트 해석부(206)로부터의 세그먼트의 해석 결과에 의거하여, 세그먼트 정보를 취득(추출)한다. 또한, 세그먼트 정보 취득부(501)는 얻어진 세그먼트 정보를 영상 버퍼 제어부(407)로 출력한다. 그리고, 영상 버퍼 제어부(407)는 스트림 해석부(406)로부터 입력한 세그먼트 정보를, 버퍼 제어에 사용한다.
우선, 프레임 단위로 세그먼트를 해석한 경우를 생각할 수 있다. 이 경우, 세그먼트 정보 취득부(501)는 스트림의 선두의 헤더 부분을 해석하거나, 전송 포맷을 해석하는 것 등에 의해, 세그먼트 정보로서 프레임 타입을 얻는다(추출한다). 또한, 영상 버퍼 제어부(407)는 세그먼트 정보 취득부(501)가 판단한 프레임 타입을 사용하여, 영상 버퍼(208)를 제어한다. 따라서, 프레임 타입을 판단하기 위해 증가하는 처리량을, 작게 억제할 수 있다.
또한, 프레임 단위로 세그먼트를 해석한 경우, 스트림 해석부(406)는 추출한 프레임 타입에 의해 버퍼 제어에서의 데이터의 우선도를 정한다. 그리고, 영상 버퍼 제어부(407)는 스트림 해석부(406)가 정한 우선도에 따라 영상 버퍼(208)를 제어한다. 예를 들어, 영상 버퍼 제어부(407)는 우선도가 낮은 순서로, 영상 버퍼(208)가 저장하는 영상 스트림을 세그먼트 단위로 파기하도록 제어한다.
도 7은 프레임 타입에 의거하여 데이터의 우선도를 결정하는 처리의 일례를 나타내는 흐름도이다. 도 7에 나타낸 바와 같이, 스트림 해석부(406)는 세그먼트 정보 취득부(501)가 추출한 프레임 타입에 의거하여, 우선, 프레임 타입이 I프레임인지의 여부를 판정한다(스텝 S601). I프레임이라고 판단한 경우, 스트림 해석부(406)는 화면간 예측에 의해 단체(單體)로 디코딩할 수 있는 데이터이기 때문에, 그 프레임의 우선도를 상승시킨다(스텝 S602). 즉, 스트림 해석부(406)는 I프레임의 우선도가 높아지도록 설정한다.
스텝 S601에서 I프레임 이외의 프레임(예를 들어, B프레임)이라고 판단한 경 우, 스트림 해석부(406)는 화면간 예측에서 다른 프레임의 상황에 의해 디코딩 영상 품질이 의존하기 때문에, 그 프레임의 우선도를 저하시킨다(스텝 S603). 즉, 스트림 해석부(406)는 I프레임 이외의 프레임의 우선도가 낮아지도록 설정한다.
예를 들어, MPEG4의 Simple Profile 등, I프레임과 P프레임만 존재하는 영상 스트림에서, I프레임 직전의 P프레임은 어느 픽처로부터도 참조되고 있지 않다. 따라서, I프레임 직전의 P프레임을 파기해도, 비트 레이트나 프레임 레이트는 저하되지만, 출력하는 영상 스트림에 깨짐은 생기지 않는다. 또한, I프레임 직전의 P프레임을 파기한 때에, 그 파기한 P프레임의 직전의 P프레임도 어느 픽처로부터도 참조되지 않게 된다. 따라서, 파기한 P프레임의 직전의 P프레임을 파기해도, 출력하는 영상 스트림에 깨짐은 생기지 않는다. 즉, 피참조 프레임으로부터 가장 먼 프레임(I프레임 직전의 P프레임)의 우선도를 가장 낮게 설정하고, 피참조 프레임에 가까워짐에 따라 서서히 우선도를 높게 하도록 설정하는 것을 생각할 수 있다. 또한, 이 I프레임 직전의 P프레임의 경우에 한하지 않고, 다른 프레임으로부터 참조되고 있지 않은 프레임이라면, 동일하게 우선도를 대폭적으로 낮게 설정하도록 할 수도 있다. 예를 들어, B프레임은 다른 프레임으로부터 참조되고 있지 않고, B프레임을 파기해도, 출력하는 영상 스트림에 깨짐은 생기지 않는다. 따라서, B프레임의 우선도를 대폭적으로 낮게 설정하는 것을 생각할 수 있다.
상기한 처리가 실행됨으로써, 스트림 해석부(406)는 프레임 타입에 의거하여, 다른 프레임으로부터 참조되고 있는 피참조 프레임인지의 여부를 판단한다. 그리고, 영상 버퍼 제어부(407)는 그 판단 결과를 사용하여, 영상 버퍼(208)가 저 장하는 영상 스트림의 데이터량을 제어한다. 또한, 스트림 해석부(406)는 피참조 프레임으로부터의 거리에 따라 프레임의 우선도를 설정한다. 그리고, 영상 버퍼 제어부(407)는 설정한 프레임의 우선도를 사용하여, 영상 버퍼(208)가 저장하는 영상 스트림의 데이터량을 제어한다.
또한, H.264에서의 슬라이스 단위의 세그먼트로 해석한 경우, 도 7에 있어서, 프레임을 슬라이스로 전환하여 판독할 수도 있다. 이 경우, 세그먼트 정보 취득부(501)는 세그먼트 정보로서, 영상 스트림에 포함되는 슬라이스의 슬라이스 타입을 판단하여 추출한다. 그리고, 영상 버퍼 제어부(407)는 세그먼트 정보 취득부(501)가 판단한 슬라이스 타입을 사용하여, 영상 버퍼(208)를 제어한다.
또한, 세그먼트 정보 취득부(501)는 세그먼트 정보로서, 영상 스트림에 포함되는 매크로 블록의 매크로 블록 타입을 판단하여 추출할 수도 있다. 그리고, 영상 버퍼 제어부(407)는 세그먼트 정보 취득부(501)가 판단한 매크로 블록 타입을 사용하여, 영상 버퍼(208)를 제어할 수도 있다.
다음으로, NAL 유닛 단위로 세그먼트를 해석한 경우를 생각할 수 있다. 이 경우, 세그먼트 정보 취득부(501)는 영상 스트림에 포함되는 NAL 유닛이 영상 스트림에 포함되는 다른 NAL 유닛에 의해 참조되고 있는 피참조 유닛(참조 픽처)인지의 여부를 판단한다. 그리고, 영상 버퍼 제어부(407)는 NAL 유닛이 참조 픽처인지의 여부의 판단 결과를 사용하여, 영상 버퍼(208)를 제어한다.
NAL 유닛은 일반적으로, NAL 헤더라고 하는 참조 픽처인지의 여부를 나타내는 플래그와, NAL 유닛 종별을 나타내는 식별자를 포함하는 헤더를 갖는다. 이 경 우, 스트림 해석부(406)는 NAL 유닛에 포함되는 참조 픽처인지의 여부를 나타내는 플래그에 의해, 세그먼트(NAL 유닛)가 참조 픽처인지의 여부를 판단하고, 버퍼 제어에서의 데이터의 우선도를 정한다.
도 8은 참조 픽처인지의 여부에 의거하여 데이터의 우선도를 결정하는 처리의 일례를 나타내는 흐름도이다. 도 8에 나타낸 바와 같이, 스트림 해석부(406)는 우선, 세그먼트가 참조 픽처인지의 여부를 판정한다(스텝 S701). 참조 픽처라고 판단한 경우, 스트림 해석부(406)는 그 세그먼트가 다른 픽처에 참조되고 있는 데이터이기 때문에, 그 세그먼트의 우선도를 상승시킨다(스텝 S702). 즉, 스트림 해석부(406)는 참조 픽처의 우선도가 높아지도록 설정한다.
스텝 S701에서 참조 픽처가 아니라고 판단한 경우, 스트림 해석부(406)는 그 세그먼트의 픽처가 손실(파기)되도 다른 픽처에 영향이 없음을 알기 때문에, 그 세그먼트의 우선도를 저하시킨다(스텝 S703). 즉, 스트림 해석부(406)는 참조 픽처 이외의 픽처의 우선도가 낮아지도록 설정한다. 참조 픽처 이외의 픽처만을 파기한 경우에는, 비트 레이트나 프레임 레이트는 저하되지만, 출력되는 영상 스트림에 전혀 깨짐이 없는 영상으로 된다.
동일하게, NAL 유닛 종별을 사용해도, 버퍼 제어에 사용되는 우선도를 설정할 수 있다. 이 경우, 세그먼트 정보 취득부(501)는 영상 스트림 중에 포함되는 NAL 유닛의 종별을 판단한다. 그리고, 영상 버퍼 제어부(407)는 세그먼트 정보 취득부(501)가 판단한 NAL 유닛의 종별을 사용하여, 영상 버퍼(208)를 제어한다.
예를 들어, 스트림 해석부(406)는 NAL 유닛 종별이 시퀀스?파라미터?세 트(SPS)나 픽처?파라미터?세트(PPS)를 나타내고 있을 경우, 이들 정보는 이후의 영상 스트림의 디코딩 시에 필요한 파라미터로 되기 때문에, 우선도를 가장 높게 설정한다. 또한, 스트림 해석부(406)는 NAL 유닛 종별이 AU 디리미터(delimiter)를 나타내고 있을 경우, 프레임의 경계를 나타내는 중요한 값이기 때문에, 우선도를 두 번째로 높게 설정한다. 또한, 스트림 해석부(406)는 NAL 유닛 종별이 IDR 픽처의 슬라이스를 나타내고 있을 경우, 비트?스트림을 복합하기 위해 필요한 모든 상태가 리셋되는 것을 나타내고 있고 이후의 디코딩에 높은 영향을 미치기 때문에, 우선도를 세 번째로 높게 설정한다. 그리고, 스트림 해석부(406)는 상기에 나타낸 종별 이외의 NAL 유닛 종별인 경우에는, 우선도를 낮게 설정한다.
또한, 스트림 해석부(406)는 NAL 유닛은 아니지만, 예를 들어, MPEG4의 Decoder Config Info(DCI) 정보도, 동일하게 영상 스트림의 디코딩 시에 필요한 파라미터로 되기 때문에, 우선도를 높게 설정할 수도 있다. 또한, 스트림 해석부(406)는 전송로(106)가 신뢰성이 있는 에러 프리 전송로일 경우, 전회(前回)의 SPS나 PPS, DCI와 동일한 파라미터를 수신할 때에, 그 수신 데이터의 우선도를 낮게 설정하는 것도 생각할 수 있다.
다음으로, VP(비디오 패킷) 단위로 세그먼트를 해석하고, 또한, 1VP가 1매크로 블록(MB)으로 구성되어 있는 경우를 생각할 수 있다. 이 경우, 스트림 해석부(406)는 MB의 선두 부분을 해석함으로써, IntraMB인지의 여부를 판별할 수 있고, 버퍼 제어에서의 데이터의 우선도를 정한다. 또한, MB의 선두 부분만을 해석하면 되기 때문에, 처리량의 증가를 최저한으로 억제할 수 있다.
도 9는 IntraMB인지의 여부에 의거하여 데이터의 우선도를 결정하는 처리의 일례를 나타내는 흐름도이다. 도 9에 나타낸 바와 같이, 스트림 해석부(406)는 우선, 세그먼트가 I프레임인지의 여부를 판정한다(스텝 S801). 세그먼트가 I프레임이라고 판단한 경우, 스트림 해석부(406)는 MB 타입이 모두 IntraMB이고 세그먼트 사이에 차이가 없기 때문에, 그 세그먼트의 우선도를 변화시키지 않고, 그대로 처리를 종료한다.
세그먼트가 I프레임이 아니라고 판단한 경우, 스트림 해석부(406)는 세그먼트가 IntraMB인지의 여부를 판정한다(스텝 S802). 세그먼트가 IntraMB라고 판단한 경우, 스트림 해석부(406)는 I프레임 이외의 프레임에서 프레임간 예측을 행하지 않는 영상 부호화 방식을 채용하고 있을 경우에 그 MB 단체로 디코딩할 수 있기 때문에, 그 세그먼트의 우선도를 상승시킨다(스텝 S803). 즉, 스트림 해석부(406)는 IntraMB의 세그먼트의 우선도가 높아지도록 설정한다.
스텝 S802에서 IntraMB 이외의 MB라고 판단한 경우, 스트림 해석부(406)는 다른 데이터에 의거하는 예측을 사용하여 디코딩할 가능성이 있기 때문에, 그 세그먼트의 우선도를 저하시킨다(스텝 S804). 즉, 스트림 해석부(406)는 IntraMB 이외의 MB의 세그먼트의 우선도가 낮아지도록 설정한다.
또한, 도 9에 있어서, VP를 GOB나 슬라이스, NAL 유닛 등의 다른 영상 부호화 방식 고유의 세그먼트 단위로 전환하여 판독할 수도 있다.
또한, 도 7~도 9에서 나타낸 우선도의 부여법(우선도의 설정 방법)은 일례이고, 예를 들어 사용자의 설정 방침(policy)에 의해 변경해도, 동일한 효과를 얻을 수 있다.
영상 버퍼 제어부(407)는 버퍼 제어에서, 영상 버퍼(208) 내의 데이터 중, 우선도가 낮은 데이터(영상 스트림)를 세그먼트 단위로 파기하거나, 또는 우선도가 낮은 데이터의 영상 버퍼(208)로의 입력을 정지한다.
또한, 중계 장치(401)는 수신 단말(103)이 다소의 도착 순서를 흡수할 수 있는 버퍼를 구비할 경우, 의도적으로 우선도가 높은 데이터의 송신 순서를 교체하여 송신할 수도 있다. 또한, 중계 장치(401)는 H.264를 사용하는 경우와 같이, 슬라이스?헤더 내의 PPS에 의거하여 데이터가 어느 시퀀스에 속하여 있는지를 판단할 수 있고, 도착 순서에 관계없이 디코딩할 수 있는 영상 부호화 방식 등을 사용할 경우에는, 의도적으로 우선도가 높은 데이터의 송신 순서를 교체하여 송신할 수도 있다.
본 발명은 상이한 네트워크를 통한 영상 스트림의 통신을 중계하는 중계 장치에 적용할 수 있다. 또한, 상이한 네트워크간의 통신을 중계하는 중계 장치를 포함하는 통신 시스템에 적용할 수 있다.
Claims (24)
- 송신 단말로부터의 부호화된 영상 스트림을 수신 단말에 중계하는 중계 장치가 구비하는 버퍼를 제어하는 버퍼 제어 방법으로서,상기 송신 단말로부터 수신한 영상 스트림을, 상기 중계 장치의 버퍼에 저장하는 저장 스텝과,상기 중계 장치의 버퍼가 저장하는 영상 스트림의 데이터량을 상기 수신 단말에서 독립적으로 디코딩가능한 세그먼트(segment) 단위로 제어하는 버퍼 제어 스텝을 포함하고,상기 세그먼트 단위는 영상 프레임의 일부인 것을 특징으로 하는 버퍼 제어 방법.
- 제 1 항에 있어서,상기 중계 장치가 수신한 영상 스트림을 축적하는 상기 중계 장치의 버퍼의 데이터량의 제어로서,상기 중계 장치가 수신한 영상 스트림에 관한 세그먼트를 해석한 결과와 다른 설정의 조합에 의거하고, 상기 중계 장치의 버퍼 내의 영상 스트림의 데이터량을 세그먼트 단위로 제어하고,상기 다른 설정은,상기 중계 장치의 버퍼의 데이터량의 제어에 관하여 설정된 데이터량의 임계값,상기 중계 장치의 버퍼의 데이터량의 제어에 관하여 설정된 소정의 타이밍,상기 중계 장치에 접속하는 외부 장치로부터 상기 중계 장치에 입력된 제어 명령중 하나 또는 복수를 포함하고,상기 중계 장치는 상기 중계 장치의 버퍼에 축적된 영상 스트림을 추출하여, 수신 단말로 송신하는 것을 특징으로 하는 버퍼 제어 방법.
- 제 1 항에 있어서,상기 중계 장치가 수신한 영상 스트림을 축적하는 상기 중계 장치의 버퍼의 데이터량의 제어로서,(S1) 상기 영상 스트림에 포함되는 슬라이스의 슬라이스 타입을 판단하는 슬라이스 타입 판단 스텝을 포함하고, 상기 버퍼 제어 스텝에서, 상기 슬라이스 타입 판단 스텝에서 판단된 슬라이스 타입을 사용하여, 상기 중계 장치의 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 것,(S2) 상기 영상 스트림 중에 포함되는 NAL(Network Abstraction Layer) 유닛의 종별을 판단하는 종별 판단 스텝을 포함하고, 상기 버퍼 제어 스텝에서, 상기 종별 판단 스텝에서 판단된 NAL 유닛의 종별을 사용하여, 상기 중계 장치의 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 것,(S3) 상기 영상 스트림에 포함되는 매크로 블록의 매크로 블록 타입을 판단하는 매크로 블록 타입 판단 스텝을 포함하고, 상기 버퍼 제어 스텝에서, 상기 매크로 블록 타입 판단 스텝에서 판단된 매크로 블록 타입을 사용하여, 상기 중계 장치의 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 것중 어느 하나를 더 포함하는 것을 특징으로 하는 버퍼 제어 방법.
- 부호화된 영상 스트림의 통신을 중계하는 중계 장치로서,영상 스트림을 저장하기 위한 버퍼와,송신 단말로부터 수신한 영상 스트림을, 상기 버퍼에 저장하는 저장 제어 수단과,상기 버퍼가 저장하는 영상 스트림의 데이터량을 독립적으로 디코딩가능한 세그먼트 단위로 제어하는 버퍼 제어 수단을 구비하고,상기 세그먼트 단위는 영상 프레임의 일부인 것을 특징으로 하는 중계 장치.
- 제 4 항에 있어서,상기 송신 단말로부터 송신된 영상 스트림을 수신하는 수신 수단을 구비하고,상기 저장 제어 수단은 상기 수신 수단이 수신한 영상 스트림을, 상기 버퍼에 저장하고,상기 버퍼로부터 영상 스트림을 추출하는 추출 수단과,상기 추출 수단이 추출한 영상 스트림을, 수신처의 수신 단말로 송신하는 송 신 수단을 구비한 것을 특징으로 하는 중계 장치.
- 제 4 항에 있어서,상기 버퍼 제어 수단은,상기 버퍼가 저장하는 영상 스트림의 데이터량인 버퍼량 내의 소정의 값에서 소정의 데이터량을 삭제하는 처리,상기 버퍼가 저장하는 영상 스트림을 폐기하는 처리,상기 버퍼로의 영상 스트림의 입력을 정지하는 처리,상기 버퍼로부터 출력하는 영상 스트림의 출력 레이트를 높게 하는 처리중 적어도 하나를 행함으로써, 상기 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 것을 특징으로 하는 중계 장치.
- 제 4 항에 있어서,상기 버퍼 제어 수단은,비디오 패킷GOB(Group Of Blocks),슬라이스,NAL(Network Abstraction Layer) 유닛중 적어도 하나를 상기 세그먼트 단위로서 사용하여, 상기 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 것을 특징으로 하는 중계 장치.
- 제 4 항에 있어서,소정의 방법에 의해 데이터량의 임계값을 설정하는 임계값 설정 수단을 구비하고,상기 버퍼 제어 수단은 상기 임계값 설정 수단이 설정한 임계값에 의거하여, 상기 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 것을 특징으로 하는 중계 장치.
- 제 8 항에 있어서,상기 버퍼 제어 수단은,(A) 상기 영상 스트림의 데이터량의 상한값을 상기 임계값으로서 설정하고, 상기 버퍼 내에 축적된 영상 스트림에 데이터량이 상기 상한값 이상으로 된 것을 조건으로 하여, 상기 버퍼로의 입력을 정지하거나, 상기 버퍼 내의 영상 스트림 중 적어도 일부를 폐기하거나, 또는 상기 버퍼로부터의 영상 비트 스트림의 출력 비트 레이트를 높게 하는 제어,(B) 상기 영상 스트림의 데이터량의 상한값과 하한값을 상기 임계값으로서 설정하고, 상기 버퍼 내에 축적된 영상 스트림에 데이터량이 상기 상한값 이상으로 된 것을 조건으로 하여 상기 버퍼의 영상 스트림의 데이터량이 하한값에 도달할 때까지, 상기 버퍼로의 입력을 정지하거나, 상기 버퍼로부터의 영상 비트 스트림의 출력 비트 레이트를 높게 하는 제어를 행하는 제어,(C) 상기 버퍼가 저장하는 영상 스트림의 데이터량인 버퍼량 내의 소정의 값에서 데이터량을 삭제하기 위해 이용되는 솎아냄 임계값을 상기 임계값으로서 설정하고, 상기 버퍼의 영상 스트림의 데이터량이 솎아냄 임계값에 도달한 것을 조건으로 하여, 상기 버퍼로의 소정의 데이터량의 데이터의 입력을 행하지 않는 제어중 적어도 하나의 제어를 사용하여, 상기 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 것을 특징으로 하는 중계 장치.
- 제 9 항에 있어서,상기 버퍼 제어 수단은 소정의 타이밍에 의거하여, 상기 버퍼가 저장하는 영상 스트림의 데이터량을 제어하고,상기 소정의 타이밍으로서,일정 시간마다의 타이밍,수신 패킷 수가 일정량에 도달한 타이밍,수신 영상 스트림의 데이터량이 일정량에 도달한 타이밍,상기 버퍼에 입력한 데이터량이 일정량에 도달한 타이밍,수신 영상 스트림의 세그먼트 수가 일정량에 도달한 타이밍중 적어도 하나를 포함하는 것을 특징으로 하는 중계 장치.
- 제 4 항에 있어서,상기 버퍼 제어 수단은 외부 장치로부터 수신한 제어 명령에 따라, 상기 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 것을 특징으로 하는 중계 장치.
- 제 4 항에 있어서,상기 영상 스트림에 포함되는 슬라이스의 슬라이스 타입을 판단하는 슬라이스 타입 판단 수단,상기 영상 스트림 중에 포함되는 NAL 유닛의 종별을 판단하는 종별 판단 수단,상기 영상 스트림에 포함되는 매크로 블록의 매크로 블록 타입을 판단하는 매크로 블록 타입 판단 수단중 적어도 하나의 판단 수단을 구비하고,상기 버퍼 제어 수단은,상기 판단 수단에 의해 판단된,슬라이스 타입과,NAL 유닛의 종별과,매크로 블록 타입중 적어도 하나를 사용하여, 상기 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 것을 특징으로 하는 중계 장치.
- 삭제
- 삭제
- 제 4 항에 있어서,상기 영상 스트림 중에 포함되는 NAL 유닛의 종별을 판단하는 종별 판단 수단과,상기 영상 스트림에 포함되는 NAL 유닛이 상기 영상 스트림에 포함되는 다른 NAL 유닛에 의해 참조되고 있는 피참조 유닛인지의 여부를 판단하는 피참조 유무 판단 수단을 구비하고,상기 버퍼 제어 수단은 상기 피참조 유무 판단 수단에 의한 NAL 유닛이 피참조 유닛인지의 여부의 판단 결과를 사용하여, 상기 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 것을 특징으로 하는 중계 장치.
- 송신 단말로부터의 영상 스트림을, 제 4 항 내지 제 12 항 또는 제 15 항 중 어느 한 항에 기재된 중계 장치에서 중계하여 수신 단말로 송신하는 것을 특징으로 하는 통신 시스템.
- 제 16 항에 있어서,상기 중계 장치는,상기 영상 스트림에 관한 세그먼트를 해석하는 세그먼트 해석 수단을 구비하고,상기 버퍼의 데이터량의 제어에 관하여 데이터량의 임계값을 설정하는 임계값 설정 수단,상기 버퍼의 데이터량을 제어하는 소정의 타이밍을 생성하는 타이밍 생성 수단,상기 중계 장치에 접속하는 외부 장치로부터 상기 중계 장치에 입력된 제어 명령을 수신하는 명령 수신 수단중 하나 또는 복수의 수단을 더 구비하고,상기 버퍼 제어 수단은,(A) 상기 세그먼트의 해석 결과와,(B) 상기 세그먼트의 해석 결과 및 다른 설정의 조합중 어느 하나에 의거하여, 상기 버퍼 내의 영상 스트림의 데이터량을 세그먼트 단위로 제어하고,상기 (B)의 상기 다른 설정은,상기 데이터량의 임계값,상기 소정의 타이밍,상기 제어 명령중 하나 또는 복수를 포함하는 것을 특징으로 하는 통신 시스템.
- 제 16 항에 있어서,상기 중계 장치는,상기 영상 스트림의 세그먼트 해석을 행하는 동시에, 상기 영상 스트림으로부터 세그먼트 정보를 추출하는 스트림 해석 수단을 구비하고,상기 중계 장치에서는,(S1) 상기 스트림 해석 수단이 상기 영상 스트림에 포함되는 슬라이스의 슬라이스 타입을 판단하고, 상기 버퍼 제어 수단은 상기 판단된 슬라이스 타입을 사용하여, 상기 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 것,(S2) 상기 스트림 해석 수단이 상기 영상 스트림 중에 포함되는 NAL(Network Abstraction Layer) 유닛의 종별을 판단하고, 상기 버퍼 제어 수단은 상기 판단된 NAL 유닛의 종별을 사용하여, 상기 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 것,(S3) 상기 스트림 해석 수단이 상기 영상 스트림에 포함되는 매크로 블록의 매크로 블록 타입을 판단하고, 상기 버퍼 제어 수단은 상기 판단된 매크로 블록 타입을 사용하여, 상기 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 것중 어느 하나의 제어가 행해지는 것을 특징으로 하는 통신 시스템.
- 제 18 항에 있어서,상기 (S2)의 제어로서, 상기 스트림 해석 수단이 상기 영상 스트림에 포함되는 NAL 유닛이 상기 영상 스트림에 포함되는 다른 NAL 유닛에 의해 참조되고 있는 피참조 유닛인지의 여부를 판단하고, 상기 버퍼 제어 수단은 상기 피참조 유무 판단 수단에 의한 NAL 유닛이 피참조 유닛인지의 여부의 판단 결과를 사용하여, 상기 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 것을 특징으로 하는 통신 시스템.
- 삭제
- 제 1 항에 있어서,상기 송신 단말로부터 송신된 영상 스트림을 수신하는 수신 스텝과,상시 수신 스텝에 의해 수신된 상기 영상 스트림을 버퍼에 저장하는 저장 스텝과,상기 영상 스트림을 상기 버퍼로부터 추출하는 추출 스텝과,상기 추출 스텝에 의해 추출된 상기 영상 스트림을 수신처의 수신 단말에 송신하는 송신 스텝을 포함하는 것을 특징으로 하는 버퍼 제어 방법.
- 제 1 항 또는 제 21 항에 있어서,상기 버퍼 제어 스텝은,상기 버퍼가 저장하는 영상 스트림의 데이터량인 버퍼량 내의 소정의 값에서 소정의 데이터량을 삭제하는 스텝,상기 버퍼가 저장하는 영상 스트림을 폐기하는 스텝,상기 버퍼로의 영상 스트림의 입력을 정지하는 스텝,상기 버퍼로부터 출력하는 영상 스트림의 출력 레이트를 높게 하는 스텝중 적어도 하나를 행함으로써, 상기 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 것을 특징으로 하는 버퍼 제어 방법.
- 제 1 항 또는 제 21 항에 있어서,소정의 방법에 의해 데이터량의 임계값을 설정하는 임계값 설정 스텝을 포함하고,상기 버퍼 제어 스텝은 상기 임계값 설정 스텝에 의해 설정된 임계값에 의거하여, 상기 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 것을 특징으로 하는 버퍼 제어 방법.
- 제 1 항 내지 제 3 항, 제 21 항 중 어느 한 항에 있어서,상기 버퍼 제어 스텝은 외부 장치로부터 수신한 제어 명령에 따라, 상기 버퍼가 저장하는 영상 스트림의 데이터량을 제어하는 것을 특징으로 하는 버퍼 제어 방법.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006069261 | 2006-03-14 | ||
JPJP-P-2006-00069261 | 2006-03-14 | ||
JPJP-P-2006-00118335 | 2006-04-21 | ||
JP2006118335 | 2006-04-21 | ||
PCT/JP2007/054635 WO2007105618A1 (ja) | 2006-03-14 | 2007-03-09 | バッファ制御方法、中継装置、通信システム |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080102144A KR20080102144A (ko) | 2008-11-24 |
KR101166446B1 true KR101166446B1 (ko) | 2012-07-19 |
Family
ID=38509441
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR20087021364A KR101166446B1 (ko) | 2006-03-14 | 2007-03-09 | 버퍼 제어 방법, 중계 장치, 통신 시스템 |
Country Status (8)
Country | Link |
---|---|
US (1) | US8239901B2 (ko) |
EP (1) | EP1995920A4 (ko) |
JP (1) | JP4924605B2 (ko) |
KR (1) | KR101166446B1 (ko) |
BR (1) | BRPI0706826A2 (ko) |
MX (1) | MX2008011210A (ko) |
RU (1) | RU2008135839A (ko) |
WO (1) | WO2007105618A1 (ko) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7793317B2 (en) * | 2005-08-19 | 2010-09-07 | At&T Intellectual Property I, L.P. | System and method of managing video streams to a set top box |
JP4987760B2 (ja) * | 2008-03-05 | 2012-07-25 | 株式会社オートネットワーク技術研究所 | 中継装置、通信システム及び通信方法 |
WO2009154656A1 (en) * | 2008-06-17 | 2009-12-23 | Thomson Licensing | Network abstraction layer (nal)-aware multiplexer with feedback |
WO2010002420A1 (en) * | 2008-07-01 | 2010-01-07 | Thomson Licensing | Network abstraction layer (nal)-aware multiplexer |
JP5064564B2 (ja) * | 2008-08-28 | 2012-10-31 | 京セラ株式会社 | 無線端末及び通信端末 |
CN101466034A (zh) | 2008-12-25 | 2009-06-24 | 华为技术有限公司 | 发送、播放流媒体数据的方法和装置及流媒体点播*** |
US8401075B2 (en) * | 2008-12-31 | 2013-03-19 | General Instrument Corporation | Hybrid video encoder including real-time and off-line video encoders |
US8576714B2 (en) * | 2009-05-29 | 2013-11-05 | Futurewei Technologies, Inc. | System and method for relay node flow control in a wireless communications system |
EP2517519A1 (en) | 2009-12-22 | 2012-10-31 | Fujitsu Limited | Quality of service control in a relay |
US20110235709A1 (en) * | 2010-03-25 | 2011-09-29 | Apple Inc. | Frame dropping algorithm for fast adaptation of buffered compressed video to network condition changes |
US20130091528A1 (en) * | 2010-06-23 | 2013-04-11 | Mitsubishi Electric Corporation | Video reproduction system, receive terminal, home gateway device, and quality control system |
CN101951512B (zh) * | 2010-08-24 | 2012-11-28 | 中国科学院深圳先进技术研究院 | 一种直播视频和实时视频的分片转码方法和*** |
JP5187404B2 (ja) * | 2011-01-27 | 2013-04-24 | ブラザー工業株式会社 | 符号化装置、符号化方法、および符号化プログラム |
US20140118463A1 (en) * | 2011-06-10 | 2014-05-01 | Thomson Licensing | Video phone system |
CN103313122B (zh) * | 2012-03-09 | 2018-02-27 | 联想(北京)有限公司 | 一种数据处理方法及电子设备 |
US9445058B2 (en) * | 2012-05-14 | 2016-09-13 | Intuitive Surgical Operations, Inc | Method for video processing using a buffer |
JP5918030B2 (ja) * | 2012-05-28 | 2016-05-18 | 株式会社アイ・ディ・ケイ | データ中継装置、データ中継方法、データ伝送システムおよびプログラム |
KR101957282B1 (ko) * | 2012-08-29 | 2019-03-12 | 삼성전자주식회사 | 동영상 제어장치 및 방법 |
US9438652B2 (en) * | 2013-04-15 | 2016-09-06 | Opentv, Inc. | Tiered content streaming |
US10009628B2 (en) | 2013-06-07 | 2018-06-26 | Apple Inc. | Tuning video compression for high frame rate and variable frame rate capture |
KR102209292B1 (ko) | 2015-11-04 | 2021-01-29 | 삼성전자 주식회사 | 멀티미디어 시스템에서 데이터 제공 방법 및 장치 |
JP6168671B1 (ja) * | 2016-03-24 | 2017-07-26 | 株式会社日立国際電気 | 映像切替装置を備えた符号化装置および映像切替検知方法を含む符号化方法 |
US10638192B2 (en) * | 2017-06-19 | 2020-04-28 | Wangsu Science & Technology Co., Ltd. | Live streaming quick start method and system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1132207A (ja) * | 1997-07-10 | 1999-02-02 | Canon Inc | 画像処理装置及びその方法並びにメモリ媒体 |
JP2002217969A (ja) * | 2001-01-23 | 2002-08-02 | Mitsubishi Electric Corp | データ中継装置及びデータ中継方法 |
JP2004158929A (ja) * | 2002-11-01 | 2004-06-03 | Sharp Corp | 動画像処理方法および動画像処理装置ならびに動画像伝送装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR0152772B1 (ko) | 1991-10-10 | 1998-10-15 | 구자홍 | 영상압축에서의 버퍼 제어 방법 및 장치 |
US5758194A (en) * | 1993-11-30 | 1998-05-26 | Intel Corporation | Communication apparatus for handling networks with different transmission protocols by stripping or adding data to the data stream in the application layer |
JP4368482B2 (ja) * | 2000-02-25 | 2009-11-18 | 富士通株式会社 | データ通信システム |
US7133362B2 (en) * | 2001-11-14 | 2006-11-07 | Microsoft Corporation | Intelligent buffering process for network conference video |
JP2003244220A (ja) * | 2002-02-14 | 2003-08-29 | Nippon Telegr & Teleph Corp <Ntt> | 伝送レート制御装置並びに当該装置を含むネットワークシステム及び経路制御装置 |
US20040190607A1 (en) * | 2002-04-03 | 2004-09-30 | Koji Wakimoto | Video relay device, video distribution system, video relay method |
US7542435B2 (en) * | 2004-05-12 | 2009-06-02 | Nokia Corporation | Buffer level signaling for rate adaptation in multimedia streaming |
JP4252017B2 (ja) | 2004-06-22 | 2009-04-08 | 日本電信電話株式会社 | 符号化ストリーム中継装置、その方法及びプログラム |
-
2007
- 2007-03-09 EP EP07738120A patent/EP1995920A4/en not_active Withdrawn
- 2007-03-09 JP JP2008505102A patent/JP4924605B2/ja not_active Expired - Fee Related
- 2007-03-09 KR KR20087021364A patent/KR101166446B1/ko active IP Right Grant
- 2007-03-09 MX MX2008011210A patent/MX2008011210A/es not_active Application Discontinuation
- 2007-03-09 US US12/281,665 patent/US8239901B2/en active Active
- 2007-03-09 BR BRPI0706826-3A patent/BRPI0706826A2/pt not_active IP Right Cessation
- 2007-03-09 RU RU2008135839/09A patent/RU2008135839A/ru not_active Application Discontinuation
- 2007-03-09 WO PCT/JP2007/054635 patent/WO2007105618A1/ja active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1132207A (ja) * | 1997-07-10 | 1999-02-02 | Canon Inc | 画像処理装置及びその方法並びにメモリ媒体 |
JP2002217969A (ja) * | 2001-01-23 | 2002-08-02 | Mitsubishi Electric Corp | データ中継装置及びデータ中継方法 |
JP2004158929A (ja) * | 2002-11-01 | 2004-06-03 | Sharp Corp | 動画像処理方法および動画像処理装置ならびに動画像伝送装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2007105618A1 (ja) | 2007-09-20 |
EP1995920A4 (en) | 2011-11-09 |
BRPI0706826A2 (pt) | 2011-04-05 |
JPWO2007105618A1 (ja) | 2009-07-30 |
RU2008135839A (ru) | 2010-03-10 |
EP1995920A1 (en) | 2008-11-26 |
MX2008011210A (es) | 2008-09-11 |
KR20080102144A (ko) | 2008-11-24 |
US8239901B2 (en) | 2012-08-07 |
JP4924605B2 (ja) | 2012-04-25 |
US20090313676A1 (en) | 2009-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101166446B1 (ko) | 버퍼 제어 방법, 중계 장치, 통신 시스템 | |
US7237039B2 (en) | Method and apparatus for compressing a stream | |
US8837605B2 (en) | Method and apparatus for compressed video bitstream conversion with reduced-algorithmic-delay | |
US20120063462A1 (en) | Method, apparatus and system for forwarding video data | |
KR20070001134A (ko) | 영상 통신 에러를 처리하는 방법 및 장치 | |
KR20060111036A (ko) | 약전계 상황을 고려한 이동 통신 단말기에서의 화상 통화서비스 제공 방법 | |
EP1845691B1 (en) | Media stream relay device and method | |
US7818772B2 (en) | System and method for improving the quality of video communication over a packet-based network | |
US20080144505A1 (en) | Method and Apparatus for Bitrate Reduction | |
US8891539B2 (en) | Re-searching reference image for motion vector and converting resolution using image generated by applying motion vector to reference image | |
EP2308215B1 (en) | Thinning of packet-switched video data | |
CN101395871A (zh) | 缓冲器控制方法、中继装置、通信*** | |
JP4662085B2 (ja) | 動画像蓄積システム、動画像蓄積方法および動画像蓄積プログラム | |
WO2007091207A1 (en) | Providing and handling information on a state of a media stream | |
JP4252017B2 (ja) | 符号化ストリーム中継装置、その方法及びプログラム | |
JP2008187258A (ja) | 通信方法および通信装置 | |
EP1713277A1 (en) | Moving picture communication device, moving picture communication system, and moving picture communication method | |
EP2290978A1 (en) | Server device, communication method, and program | |
Paulsen et al. | MPEG-4/AVC versus MPEG-2 in IPTV. | |
JP2006074555A (ja) | マルチメディアゲートウェイにおける音声・動画調整方式 | |
Wu et al. | MPEG-4 video transport over the Internet: A summary | |
Brangoulo et al. | Video transmission over UMTS networks using UDP/IP | |
WO2007031924A2 (en) | Video telephone system, video telephone terminal, and method for video telephoning | |
KR20040064970A (ko) | 영상전화 시스템의 픽쳐타입 손실 대응 복호화 방법 |
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 | ||
B601 | Maintenance of original decision after re-examination before a trial | ||
E801 | Decision on dismissal of amendment | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20151103 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20160616 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20170616 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20190617 Year of fee payment: 8 |