end-to-end stereoscopıc vıdeo streamıng system
Transkript
end-to-end stereoscopıc vıdeo streamıng system
UÇTAN UCA DURAKSIZ STEREO VİDEO AKTARIM SİSTEMİ END-TO-END STEREOSCOPIC VIDEO STREAMING SYSTEM Selen Pehlivan1, Anıl Aksay2, Çağdaş Bilen2, Gözde Bozdağı Akar2, M. Reha Civanlar1 1 Mühendislik Fakültesi, Koç Üniversitesi, İstanbul, Türkiye 2 Elektrik Elektronik Mühendisliği Bölümü, Orta Doğu Teknik Üniversitesi Ankara, Türkiye {spehlivan, rcivanlar}@ku.edu.tr, {anil, cbilen, bozdagi}@eee.metu.edu.tr ÖZETÇE Günümüzde stereo video ve çok görüşlü video çoklu ortam araştırmaları arasında popüler bir yere sahiptir. Biz bu çalışmamızda stereo görüntü yakalama, gerçek zamanlı aktarım ve alıcı tarafta görüntüleme üzerine bir sistem tasarladık. Stereo videolar, stereo video kodlama teknikleri kullanılarak etkili bir şekilde sıkıştırılıp gerçek zamanlı ağ protokolü üzerinden duraksız aktarılmıştır. Görüntüleme safhasında, kullanıcılar polarize gözlükler yardımıyla videoları 3 boyutlu olarak görebildiği gibi sisteminin özelliklerine ve bant genişliğine bağlı olarak mono olarak da görebilmektedir. Tüm sistemde gerekli yerlerde mevcut açık kaynak kodları değiştirilerek sisteme uygulanmıştır. ABSTRACT Today, stereoscopic and multi-view video are among the popular research areas in the multimedia world. In this study, we have designed a platform consisting of stereo-view capturing, real time transmission and display. At the display stage, end users view video in 3D by using polarized glasses. Stereoscopic video is compressed in an efficient way by using stereoscopic video coding techniques and streamed using real time protocols on the sender side. Receiver can view the content of the video built from multiple channels as mono or stereo depending on its display and bandwidth capabilities. The entire system is built by modifying available open source systems whenever possible. 1.GİRİŞ Uçtan uca 3 boyutlu video sistemleri mono ve stereo video transferi için mevcut bant genişliği veya kullanıcının alıcı kapasitesine göre kendini ayarlamalıdır. Bunu başarabilmek için de iki kanalın bağımsız transferini sağlayan bir sistem kullanılabilir. Bunun yanında, böyle bir sistem bilinen video aktarım sistemlerinden oluşan platformların değiştirilmesi ve uyarlanmasıyla tekrar yapılabilir. Bu çalışmada varolan açık kaynak kodlu video aktarım platformlarının arasından, Darwin Streaming Server [1], GPAC [2] ve VideoLAN Client/Server [3] platformlarını inceledik. Bu platformları incelemekteki asıl amacımız bu sistemlerin mono aktarım özelliklerini bizim ihtiyacımız olan stereo aktarıma uyarlamaktır. Apple’ın QuickTime Streaming Server (QSS) ve onun açık kaynak kod versiyonu olan Darwin Streaming Server (DSS) H.264 [4] ile kodlanmış ve MPEG-4 [5] veya 3GPP [6] dosya formatlarıyla taşınan videoların İnternet üzerinden RTSP ve RTP protokolleri [7] kullanılarak aktarılmasını destekler. Bu sistemlerin videoyu duraksız aktarabilmesi için ortam dosyası hakkında özel bilgilere ihtiyacı vardır. Bu bilgiler örtük iz adı verilen izlerde taşınır ve bu örtük izler sadece RTP üzerinden duraksız aktarım yapılırken kullanılır. Diğer bir proje olan GPAC, MPEG-4 standardına dayanan çoklu ortam çerçevesi olarak geliştirilmiştir. Bu proje aynı zamanda H.264 ile kodlanmış ortam dosyalarının MPEG-4 dosya formatı ile aktarılmasını da destekler [2]. Bu platformların yanında VideoLAN Client(VLC) da duraksız aktarım desteğine sahiptir. VLC, H.264 videolarının yerel oynatmaları ve MPEG-TS dosya formatı kullanılarak da RTP üzerinden aktarımını destekler. DSS tarafından duraksız aktarılan MPEG-4 dosya formatlı H.264 ile kodlanmış videoları açabilir fakat RTP üzerinden MPEG-TS dışındaki bir dosya formatıyla aktarılmasına olanak vermez. Sözü edilen mono aktarım platformlarının yanında, MERL tarafından gerçek zamanlı görüntü yakalama, aktarma ve stereo video görüntüleme parçalarından oluşan 3 Boyutlu bir Televizyon prototipi sunulmuştur. Bu sistem 3 Boyutlu çoklu projektör ile görüntüleme, kamera dizilimi ve ağ bağlantılı PC’lerden oluşmaktadır. Video akışları bireysel kodlanır ve görüntü sistemine geniş bantlı ağ üzerinden gönderilir. 3 Boyutlu görüntüleme sistemi birçok faklı açıdan yüksek çözünürlüklü stereoscopic renkli imajları özel gözlükler kullanmadan gösterir. Sistem doğru sanal kamera pozisyonlarını sentezlemek için ışık-alanı görsel giydirme tekniğini kullanır[8]. Biz bu çalışmada güncel H.264 video kodlama standartları kullanarak ve gerçek zamanlı duraksız aktarım özellikleriyle birlikte bir stereo aktarım sistemi geliştirdik. H.264 video kodlayıcı-kodçözücüsü, düşük bit hızlı İnternet aktarım uygulamaları, yüksek çözünürlükte televizyon yayını ve dijital sinema uygulamaları da dahil olmak üzere çok geniş bir kullanım alanına sahiptir. Günümüz teknolojileriyle karşılaştırılınca, H.264 ün %50 veya daha fazla bit hızında kazanım sağladığı görülmüştür [9]. Kodlayıcı-kodçözücüsü tarifnamesi 2 kavramsal katman içerir, Video Kodlama Katmanı (VKK) ve Ağ Soyutlama Katmanı(ASK). VKK geleneksel video kodlama aşamalarını içerir ve ASK ağ için uygun transfer ve data formatını belirler. ASK, VKK’nın kesit çıkışlarını transfer için uygun olan Ağ Soyutlama Katman Birimlerine çevirir[4]. Bu çalışmada, RTP için tanımlanmış H.264 yararlı yük formatının tanımladığı yeni ASK birimlerini kullandık. Makalenin geri kalanı şu şekilde organize edilmiştir: Bölüm 2 de, sistemin geneli anlatılacaktır. Sistemin veri edinme, kodlama, transfer, video çözme ve görüntüleme kısımları ve sistem yapısı detaylı olarak bahsedilecektir. 3’üncü bölümde sonuçlar ve 4’üncü bölümde de vargılar ve gelecek çalışmalar sunulacaktır. Sol Girdi Sol (mono) Katar Sağ Girdi Sol Video Sol Çıktı ffmpeg stereo Çözücü Sağ Çıktı MMRG Kodlayıcı Sağ Video Sağ (ilave) Katar ffmpeg mono Çözücü Sol Girdi Edinim Kodlayıcı Transfer Sol Çıktı Kodçözücü Görüntüleme Şekil 1: Uçtan Uca Aktarım Sisteminin Genel Yapısı 2. SİSTEM YAPISI Sistem yapısının genel bir şeması Şekil 1 de görülebilir. Stereo kamera tarafından yakalanan stereo video, MMRG Çok Görüşlü Video Kodlayıcı-Kodçözücüsü tarafından kodlanır. Mevcut kodlayıcı-kodçözücüsü düşük kodlama hızına sahip olduğu için gerçek zamanlı kodlama henüz mümkün değildir. Sonuç olarak, canlı video yerine önceden kodlanmış videoların duraksız yayını yapılır. Kodlanan bit dizgileri internet üzerinden duraksız yayın sunucusu tarafından farklı kanallar üzerinden transfer edilir. Kullanıcılar geliştirilen oynatıcı yoluyla görüntü yeteneklerine göre duraksız yayını mono ya da stereo olarak izleyebilirler. Eğer alıcı taraftaki sistem stereo video görüntülemeyi destekliyorsa kodçözücü tarafından her iki kanal da kullanılır, eğer desteklemiyorsa sadece sol kanal alınarak gösterilir. Takip eden bölümde, bu sistemin parçaları detaylı olarak açıklanacaktır. birimlerinde tutulur. ASK birimi hem paket merkezli hem de bit dizgisi sistemlerinde kullanılmak üzere genel bir format belirler. ASK birimlerinin yapısı hem paket merkezli hem de bit dizgisi teslimi için aynıdır. Tek fark bit dizgisi merkezli transfer katmanında her bir ASK Biriminden önce başlangıç kod öntakısının gelmesidir[4]. Stereo kodlayıcının kodlama safhaları H.264 için geliştirilmiş MMRG Çok Görüşlü Video Kodlayıcı-Kodçözücüsü üzerine kurulmuştur[11]. Kodlayıcı yapısı Şekil 2 de verilmiştir. Kodlayıcı, standart uyum opsiyonu destekli olarak iki kamera seçeneği ile kullanılır. Bu seçenekle, sol çerçeveler sadece sol çerçevelerden tahmin edilir. Böylece sadece sol ASK Birimlerini kullanarak sol video, standart AVC kodçözücüsüyle çözümlenebilir. Buna rağmen, sağ çerçeveler bant genişliğini düşürmek için hem sağ hem sol çerçevelerden tahmin edilir. Bu sebeple, sağ videoları çözmek için hem sol hem sağ ASK Birimleri gerekmektedir. 2.1. EDİNİM Sistemimizde stereo video dizilerini yakalamak için Bumblebee Stereo Kamera kullanılmıştır[10]. Şekil 1 de görüldüğü gibi, kamera iki adet 640x480 çözünürlüklü Sony ICX424 1/3" aşamalı tarama CCD algılayıcılarından oluşur. Saniyede 30 çerçeve yakalama özelliğine sahiptir. Kamera kontrolü ve data transferi yüksek hızlı IEEE-1394 dijital iletişim vasıtasıyla yapılır. Sol Sağ Sol Zaman Zaman 2.2. KODLAYICI H.264/MPEG-4 dizaynı video içeriğini gösteren Video Kodlama Katmanını (VKK) ve videonun VKK gösterimini biçimleyen, belirli transfer katmanları( Gerçek Zamanlı Transfer Protokolleri gibi ) veya bellek ortamları tarafından transfer biçimine uygun olan başlık bilgisini saptayan Ağ Soyutlama Katmanınından(ASK) oluşur. Tüm data her biri belli tam sayıda bayt içeren ASK Sağ Girdi Birleştiricisi Değistilmiş DPB ile H.264 Kodlayıcısı Çıktı Ayrıştırıcısı Şekil 2: Stereo Video Kodlayıcı Paket kayıplarıyla başa çıkmak için sık olarak ana çerçevelerden yerleştirilir ve çerçeveler kesit biçiminde kodlanır. Sistem her bir çerçevenin bir kesit olarak kodlanmasıyla oluşturulan videolarla test edilmiş olsa da kesit sayısı artırılabilir veya kesit boyutu ağ durumuna göre sabitlenebilir. Videolar saniyede 25 çerçeve hızı olacak şekilde kodlanmıştır. a=görüş : mono a=görüş : stereo <Sol-Adres> <Sol-İskele> <Sağ-Adres> <Sağ-iskele> a=görüş : çoğul <Adres> < İskele > < Adres > < İskele >, < Adres > < İskele > < Adres > < İskele >, < Adres > < İskele > < Adres > < İskele >, … 2.3. AĞ ÜZERİNDEN GÖNDERME Geliştirilen sistemin gönderici ve alıcı kısımları ve bunların yapıları aşağıdaki bölümde anlatılmıştır. Burada “mono” tekli görüş için, “stereo” çift görüş (stereo video) için ve “çoğul” çok görüşlü video için kullanılır ve “<adres> <iskele> <adres> <iskele>” ikilisi çok görüşlü videonun alakalı iki görüntüsüne ulaşım bilgisini verir. 2.3.1. Gönderici 2.3.2. Alıcı MMRG Çok Görüşlü Video Kodlayıcı-kodçözücüsü tarafından kodlanan bit dizgileri hem sol hem de sağ görüş için ASK birimlerini içerir. Bu ASK birimleri farklı kanallar üzerinden aktarılmak üzere hazırlanmıştır. Birimler ağ üzerinden gönderilmeden önce paketlenir. Gönderici kısımdaki paket formatı RTP için tanımlanmış H.264 yararlı yük formatı baz alınarak oluşturulur[12]. Bu yararlı yük formatında 3 paketleme yolu tanımlanmıştır. Biz burada düşük gecikme isteyen uygulamalar için kullanılan Tek ASK Birim yolunu ve Serpiştirilmesiz yolu kullandık. Tek ASK Birim yolu Tek ASK Biriminin transfer edilmesine izin verdiği gibi, Serpiştirilmesiz yol Tek ASK Birim paketlerini, Kodçözme Sıra Numarasız Tek Zamanlı Yığışımların(TZB-A) ve Kodçözme Sıra Numarasız Parçalanmış Birimlerin(PB-A) taşınmasına olanak verir[12]. Bu çalışmada ağın maksimum transfer birim uzunluğunu geçen ASK birimleri için PB-A paketleme yapısı kullanılarak ASK birimlerini parçalama işlemini IP katmanı parçalanmasına güvenmeden uygulama katmanında gerçekleştirilmiştir. Boyutları küçük olan diğer paketler Tek ASK Birim paketi olarak gönderilmektedir. Her iki paketleme yolunda da dizi numarasıyla gösterilen RTP paket transfer sırası ASK birimlerinin kod çözme sırası olarak baz alınır. Mevcut kodlayıcımız B çerçevelerinin kodlanmasını desteklemediği için yukarıda bahsedilen Kodçözme Sıra Numarasız paket yapısı uygulamamız için uygundur. Bu durumda Kodçözme Sıra Numarası olarak RTP başlığında taşınan zaman damgası kullanılır. Çerçeveleri senkronize etmek için de RTP zaman damgası kullanılır. Alıcı kısımdaki uygulama, oynatma zamanını RTP zaman dalgası yoluyla yerleştirilen çerçevelerin birbirlerine göre düzenleri yoluyla ayarlar. Şu anda iki video dosyası yayınladığımız için sağ ve sol görüşün alakalı çerçevelerine 90 kHz saatli örnekleme frekansını destekleyen zaman damgasını veririz. Tüm bunlara ek olarak H.264 parametre kümeleri video kodlamanın ana temellerinden biridir. Bu kümelerin taşınması için daha güvenli transfer gereklidir ve alıcı bu kümeleri video kodlama işlemi başlamadan önce almış olmalıdır. Bu yüzden onları alıcı tarafa güvenli bir şekilde asıl RTP oturumu başlamadan bant dışı olarak göndermekteyiz. Stereo video sunucusunun ve alıcı taraftaki geliştirilmiş oynatıcının uyumlu çalışması acısından, oturum tanımlama protokolü kullandık[13]. Stereo görüntüyü ve hangi kanalın sol hangi kanalın sağ görüntüyü taşıdığını belirtmek için stereo data için ekstra bir oturum niteliği kullanılmıştır. Bunların yanında, gelecekte stereo aktarımın çok görüşlü aktarıma çevrilmesi durumunda da bu oturum niteliği kullanılabilir. Şu anda Videonun diğer ekstra görüntülerini yayınlayan oturum adresleri ve iskele bilgilerini veren yeni bir nitelik “görüş” tanımladık. Oynatıcı olarak kullanılmak üzere açık kaynak kodlu VideoLAN Client(VLC) değiştirilmiştir. VLC birçok çeşit ses ve video formatı (MPEG-1, MPEG-2, MPEG-4, DivX, mp3, ogg ...) ve bunların yanı sıra DVD, VCD ve farklı aktarım protokolleri için portatif olabilecek bir çoklu ortam oynatıcısıdır. VLC ham H.264 bit dizgilerini yerel disk üzerinden oynatabildiği halde, VLC sistemi ham H.264 bit dizgilerinin RTP üzerinden aktarımını desteklemez. Şu anda VLC sadece MPEG-TS dosya formatının RTP ile aktarılmasına izin verir. Bu sebepten, biz VLC yi oynatıcı olarak kullandık ve aktarım alıcısını uyarladık. Uyarlanmış VLC iki farklı izge kullanarak sol ve sağ görüntüleri kontrol eder. Sonra da H.264 olarak kodlanmış data için kullanılacak kodçözücüyü açar. Alınan data ham data formatında olduğu için ayrıştırma işlemine gerek kalmaz. RTP paketinin yararlı yük kısmından alınan ASK Birimlerini paket açma işleminden sonra direk kodçözücüye göndeririz. Kodçözücü olarak açık kaynak kodlu ffmpeg kütüphanesi içindeki H.264 Kodçözücü gerçekleştirmesi kullanıldı[14]. Oynatıcıda işlenen her bir ham datayı ana katar olarak isimlendirdik. Sağ ve sol görüntüler için iki adet ana katar kullanılır. Data kodçözücüye gönderilmeden önce alakalı sağ ve sol çerçeveleri senkronize etmek için arabellekte tutulur. Kodçözücü bu ana katarları çözer ve çözülmüş resmi video çıkış modülüne gönderir. Video çıkış birimleri sağ ve sol çerçeveleri RTP zaman damgalarındaki zaman bilgisini kullanarak senkronize bir şekilde gösterir. Aynı zamanda, RTP üzerinden H.264 ile kodlanmış çoklu görüntü aktarımı için tanımlanmış yeni bir dosya formatı üzerine de çalışmaktayız. Bu formatın kaç görüntü olduğuna dair bilgileri, bunlardan hangi ikisinin kullanıldığını ve çerçeve hızı gibi bilgileri içermesi planlanıyor. Bunlara ek olarak, diskten dosya okuma hızını artırarak aynı anda video aktarma hızını artırmayı umuyoruz. 2.4. KODÇÖZÜCÜ MMRG Çok Görüşlü Video Kodlayıcı-kodçözücüsü hız eniyilemesi olmayan H.264 JM Referans Yazılımı[15] baz alınarak geliştirilmiştir. Bu sebepten, gerçek zamanda alınan dizgilerin çözümlenmesi için uygun değildir. Sonuç olarak, FFMPEG [14] içindeki gerçek zamanlı olarak H.264 dizgilerini çözümleyen H.264 kodçözüçüsünü, sistemimizde stereo görüntüleri çözümleyebilmek için MMRG Çok Görüşlü Video Kodlayıcıkodçözücüsünün kodçözücü yapısı ile aynı yapıya getirdik. 4. BİTİŞ VE GELECEKTE YAPILACAKLAR 2.5. GÖRÜNTÜLEME Görüntüleme sistemi Şekil 3’te görülebileceği gibi iki adet Sharp MB-70X DLP projektör ve gümüş perdeden oluşur. Projektörlerden gelen ışık dairesel polarmış filtreler kullanılarak polarmış hale getirilir. Filtrelerden biri projektörlerin birinden gelen ışığı sağ dairesel yönde, bir diğeri de diğer projektörden gelen ışığı sol dairesel yönde polarmış hale getirir. Her iki projektör de görüntüyü gümüş ekrana yöneltir. Bu özel ekran projektörden gelen ışığın polarmasını bozmayan dielektrik madde ile kaplıdır. Ekrandaki görüntüyü görebilmek için kullanıcının projektör filtreleriyle uyumlu olan, sağ ve sol göze uygun sağ ve sol görüntüleri sağlayan gözlük takması gerekir. Projektör girdisi çift VGA’li grafik kartı olan yüksek performanslı PC’lerden alınır. İşletim sisteminin genişletilmiş masaüstü özelliği kullanılarak projektörlerin birine gönderilen sol görüntü masaüstünün sol yarısında, diğer projektöre gönderilen sağ görüntü ise diğer yarısında gösterilir. Her projektör genişletilmiş masaüstünün bir yarısını gösterir. Bu yolla kullanıcı tarafından 3 Boyutlu olarak görünen örtüşen çerçeveler elde etmiş oluruz. Bu çalışmada biz uçtan uca duraksız stereo video aktarımı sistemini açık kaynak kodlarını kullanarak tamamladık. Gelecekte, gerçek zamanlı kodlamayı ve canlı video aktarımını elde edebilmek için donanım kodlayıcısı kullanacağız. Kodlama verimliliğini artırarak, bant genişlik gerekliliklerini düşürerek ve sistemi ağ koşullarındaki paket kayıplarıyla deneyeceğiz. Bunların yanında, çok görüşlü video dosyaları için yeni bir dosya formatı tanımlayarak duraksız aktarım hızını artıracağız. Bu dosya formatı aynı zamanda çok görüşlü video belirtimlerini de tanımlayacak. Sistem için ses desteği de eklenmesi düşünülen özelliklerden biri. 5. EK BİLGİ Bu proje, 3DTV, 511568 ödeneği altındaki FP6 içindeki EC tarafından desteklenmektedir.MMRG H.264 Çok Görüşlü Video Kodlayıcı-kodçözücüsü http://mmrg.eee.metu.edu.tr/multiview adresinden indirilebilir. 6. REFERANSLAR [1] http://www.apple.com/ [2] http://gpac.sourceforge.net/ [3] http://www.videolan.org/vlc/ [4] ITU-T ISO/IEC 14496-10, "Recommendation H.264: Advanced video coding for generic audiovisual services," Mayıs 2003 [5] ISO/IEC International Standard 14496 (MPEG-4); "Information technology - Coding of audio-visual objects", Ocak 2000. [6] http://www.3gpp.org/ [7] Schulzrinne H., Casner S., Frederick R., Jacobson V., “RTP: A Transport Protocol for Real-Time Applications”, RFC 3550, Temmuz 2003. [8] Vetro, A.; Matusik, W.; Pfister, H.; Xin, J., "Coding Approaches for End-to-End 3D TV Systems", Picture Coding Symposium (PCS), Aralık 2004 [9] Luthra, A., Sullivan, G.J., and T. Wiegand(eds.), “Special Issue on H.264/AVC”, IEEE Transactions on Circuits and Systems on Video Technology, Temmuz 2003. Şekil 3: Stereo Video Görüntüleme Sistemi 3. SONUÇLAR Transfer ve görüntü işlemleri için gerekli bütün sistem parçaları tamamlanmış ve önceden kodlanmış videolar kullanılarak çalıştırılmıştır. Sistem üzerinde farklı videolar kullanılarak test edilmiş ve video kalitesi izleyiciler tarafından yeterli bulunmuştur. Sistem başlangıç olarak yerel alan ağı üzerinde denenmiştir. H.264 paket kayıp esneklik teknikleri ve kayıp kamuflaj teknikleri sisteme gerçek internet kullanımı için eklenecektir. Videonun H.264 ile kodlanması bant genişliğinin kullanımını daha verimli kılar ve aynı zamanda görüntü kalitesini de etkiler. Videoları saniyede 25 çerçeve olarak kodladık ve her 12 çerçevede bir ana çerçeve ekledik. İki farklı nicemleme değeri kullanıldı. Bu nicemlemelerle Y kanalında sırasıyla 38.37 dB ve 33.47 dB sinyalgürültü oranlarına ulaşıldı. Bunların 320x240’luk videolar için video bant genişlik kullanımı 744.665 ve 415.335 kbit/saniye idi. Sistem ölçeklenebilirliği sistem dizaynı açısından diğer bir faktördü. Data her hangi bir yerden çoğul gönderimle dağıtılabilir ve kullanıcılar bağlantı kapasiteleri ve görüntüleme sistemlerine bağlı olarak mono veya stereo olarak izleyebilirler. Bunun yanısıra oynatıcı işlevselliği ve bütünlüğü de sistemin ilerde eklenebilecek dosya formatları ve kodlayıcı-kodçözücü standartları ile birlikte kullanımını artırır. [10] http://www.ptgrey.com/products/bumblebee/index.html [11] C. Bilen, A.Aksay, G. Bozdagi Akar, “A Multi-View Video Codec Based on H.264”, ICIP 2006 (teslim edildi). [12] Wenger S., Hannuksela M. M., Stockhemmer T., Westerlund M., Singer D., “RTP Payload Format for H.264 Video”, RFC 3984, Şubat 2005. [13] Handley M., Jacobson V., “SDP: Session Description Protocol”, RFC 2327, Nisan 1998. [14] http://ffmpeg.sourceforge.net/ [15] http://iphome.hhi.de/suehring/tml
Benzer belgeler
DVB-H Üzerinden Stereo Video Yayını Stereo Video Broadcast Over
Flexible, End-to-End Multi-View Video Streaming
Architecture,” Packet Video Workshop 2007, Lausanne,
Switzerland
[4] S. Cho, N. Hur, J. Kim, K. Yun, and S-I. Lee, “Carriage
of 3D audio-visual servi...