miércoles, 7 de diciembre de 2011

CC SVC Structure Picture

This picture is provided with Creative Commons License. Feel free to use it if you need it :)

SVC Structure

Licencia de Creative Commons
SVC Structure by Jordi Ortiz is licensed under a Creative Commons Reconocimiento-CompartirIgual 3.0 Unported License.
Creado a partir de la obra en www.jordiortiz.es.

Ponencia y Entrevista en el CTVDI 2011

Los días 18 y 19 de noviembre participé en el congreso CTVDI organizado por el LTIM de la Universidad de las Islas Baleares. A continuación pongo la entrevista y la ponencia. Entre los asistentes había muchos estudiantes de ahí que me decidiese a darle un toque distendido a la presentación :)


Aquí podréis visitar el resto de ponencias. Muy recomendables todas. Enlace a vídeos del LTIM


Espero que os gusten.


miércoles, 30 de noviembre de 2011

jueves, 10 de noviembre de 2011

H264/SVC Video Demo

View video online at http://tv.um.es/serial/index/id/501


As the result of the last year work we have recorded a video showing the capabilities of SVC. For the first time one can see for real how SVC can be used in deployments. Pay attention to the term client instead of user which was used on purpose, probably a user will never know even if SVC is being used.


The Video is divided in 4 parts:


- DQT Selection


DQT makes reference to the group of three (DID,QID,TID) which point to a specific layer setting the spatial, quality and temporal scalability level respectively.


This part represents how a client could set the DQT values to be adapted on the server side with a low cost adaptation provided by an SVC filter.


- BW Selection


Here we try to show how a client signaling the available bandwidth which could be calculated or extracted from network devices, gets different adaptations.


- Screen Size


One of the most desired SVC capabilities is providing service to different devices such as those with different screen size. We show here how the same video with spacial scalability is provided in 3 sizes: 480x320, 640x480 and 1280x720.


- IDR Effect


This case is a reflection on how waiting for IDR pictures to adapt can influence on the User perception (QoE). On the other hand adapting too frequently could lead to a bad QoE, a compromise must be found.


Special credits go to VTT Finland (ADTE development) and Universität Klagenfurt (SVCFilter development)


 


Como resultado de este último año de trabajo hemos grabado un vídeo que muestra las capacidades de SVC. Por primera vez uno puede ver de verdad cómo SVC puede ser usado en implantaciones.


El vídeo está dividido en 4 partes:


- Selección DQT


El término DQT hace referencia a la tripla (DID,QID,TID) que hace referencia a una capa específica indicando el nivel de escalabilidad espacial, de calidad y temporal respectivamente.  Nótese que hacemos referencia a cliente y no a usuario, un usuario probablemente nunca sepa ni siquiera que utiliza SVC.


Esta parte representa cómo un cliente podría establecer unos valores DQT a los que el lado del servidor debe adaptarse con una adaptación de bajo coste provista con un filtro SVC.


- Selección del Ancho de Banda


En esta sección intentaremos mostrar cómo un cliente que señalice el ancho de banda disponible, el cual podría ser calculado o extraído del dispositivo de red directamente, recibe distintas adaptaciones.


- Tamaño de pantalla


Una de las características de SVC más deseadas es proveer servicio a diferentes dispositivos tales como aquellos con diferentes tamaños de pantalla. Mostraremos cómo el mismo vídeo con escalabilidad espacial es provisto en 3 tamaños: 480x320, 640x480 y 1280x720.


- Efecto de las IDR


Este caso es una reflexión sobre cómo esperar a imágenes IDR para adaptar puede influenciar la percepción del usuario (QoE). Por otro lado, adaptando demasiado frecuentemente puede llevar a una mala QoE, se debe encontrar un compromiso.


Agradecimientos a VTT Finlandia (ADTE) y la Universidad de Klagenfurt (Filtro SVC)


viernes, 16 de septiembre de 2011

Descargar videos del youtube en linux (cclive)

[caption id="" align="alignright" width="348" caption="Image Credits www.enriquedans.com"]Youtube image[/caption]

Durante un tiempo estuve empleando la herramienta youtube-dl para este menester. Cual fue mi sorpresa cuando fui a utilizarla y ZAS! no funciona. Mi gozo en un pozo. Así que me tocó volver a buscar una alternativa.


cclive


Es una herramienta de línea de comandos que nos permite descargar vídeos de más de 40 sitios distintos como por ejemplo youtube, megavideo, dailymotion, ... Esto es posible gracias a la librería libquvi. También puede resultar interesante la herramienta umph que permite emplear cclive con playlists, sin duda muy útil.


Entre las opciones de cclive destacaré las que a mi me han parecido más interesantes:


--limit-rate Nos permitirá limitar el ancho de banda consumido por cclive durante la descarga. Muy interesante si tienes pensado seguir navegando mientras descargas o vas a descargar durante horas y quieres seguir usando el ordenador con normalidad.


--format Para poder seleccionar el formato del vídeo, i.e. la calidad del mismo. Para ver los distintos formatos disponibles para cada website podemos emplear la opción --hosts


--number-videos Introduce numeración como prefijo al nombre del vídeo descargado.


Que no te gusta el formato flv (como a  mí), no te preocupes


ffmpeg -i fichero.flv fichero.mpg


Que quieres solamente el sonido (por ejemplo para crearte un tono para el móvil, cuidadín con la propiedad intelectual eh!! )


ffmpeg -i fichero.flv fichero.mp3


No olvides instalar libmp3lame para poder convertir a mp3.


A disfrutar!


 


 

viernes, 2 de septiembre de 2011

Aprobado el GSoC

Aunque parezca increíble me han aprobado el GSoC. Realmente creo que se valora mucho el trabajo/esfuerzo y los conocimientos adquiridos a parte del resultado final (aunque también cuenta). Espero poder seguir echándole ratillos a la implementación de Dirac y sobretodo corregir los bugs que todavía tiene.
Para el que quiera echarle un vistazo la entrega está hecha en http://code.google.com/p/google-summer-of-code-2011-ffmpeg-libav/downloads/list

Realmente una experiencia muy aconsejable.

A ver cuánto tarda en llegarme mi camiseta friki ;)

viernes, 26 de agosto de 2011

Fin de GSoC

Bueno, parece que fue ayer cuando empecé a escribir sobre mi entrada en el Google Summer of Code y hacía la promesa de mantener informado por el blog, pero... a quién voy a engañar, soy un dejado.

Hoy son las evaluaciones finales y el lunes sabremos si finalmente he aprobado o no.

Al final el proyecto del codificador tuvo que ser "postergado". Había mucho código que faltaba y tenía que ir sacándolo del histórico del ffmpeg con palicos y cañicas.

Por otra parte el decodificador funciona bastante bien, la pena es que a última hora no haya podido integrarlo con los últimos cambios del avconv y se  me haya quedado un sabor agri-dulce, aunque seguro que este septiembre puedo echarle unos ratillos y solucionarlo. Parece que hay algunos problemillas de alineación de memoria en el código ensamblador encargado de agregar las imágenes cuando van siendo decodificadas, ahora me toca volver a ponerme con el x86, ¿Quién me lo iba a decir?

A final de cuentas ha sido una experiencia muy positiva. He aprendido muchísimo técnicamente y bastante a nivel teórico, ahora tengo una mejor idea de cómo funciona un codec por dentro. Lo malo, el mes de agosto delante del ordenador, tenía pensado cortar a mitad de Agosto pero la realidad finalmente ha sido otra :P

Pronto postearé si me aprueban o no ;)

lunes, 4 de julio de 2011

Calibre kde connection error

Today while trying to use my calibre I got the following error:
- ERROR: No internet connection: Cannot download news as no internet connection is active

Solution: I wasn't using Network-Manager and had the connection statically configured... UNINSTALL Network-Manager.
Take special care in not removing wpa_supplicant or any other needed package while removing Network-Manager.

lunes, 30 de mayo de 2011

Google Summer of Code

Parece que fue ayer cuando estaba escribiendo en este mismo blog que me habían aceptado en el Google Summer of Code y ya ha pasado casi un mes. En este tiempo he aprendido un montón de cosas, entre otras... todavía tengo mucho que aprender.

Me he tirado como dos semanas intentando entender como funciona git (el sistema de repositorios que emplean para el desarrollo de libav). La razón principal es que ya había un desarrollo de dirac nativo, aunque estaba sobre ffmpeg. Aquí empieza el problema, libav es un fork de ffmpeg y por tanto ha evolucionado en paralelo, así que para poder integrar los dos desarrollos (libav y la rama de dirac de ffmpeg) era necesario volver libav hacia atrás, aplicar los cambios, actualizar, rezar, seguir rezando y finalmente pelearte con todos los conflictos que salgan, realmente una experiencia interesante.

Ahora parece que tengo el decodificador "funcionando", pero... claro.... no todo iba a ser perfecto... resulta que el resultado no es el mismo que el del software de referencia (libdirac) y por tanto hay que ver en qué parte del código falla. Para ello primero tengo que ponerme al día con el código fuente y ver exactamente cada trozo de código a qué parte de la especificación pertenece. Me parece que las próximas semanas van a ser muyyyy entretenidas...

Por otra parte ya he empezado a recibir regalitos de Google. El primero, una suscripción al ACM para poder freakear papers de todo tipo!! toma!! quién tuviese tiempo libre... :D

El segundo, una VISA para "mis gastos". Ahora es el momento de dar el do de pecho.

viernes, 29 de abril de 2011

Aceptado en el Google Summer of Code 2011

Hace algo así como dos semanas envié un par de solicitudes a google para participar en el Google Summer of Code. ¿En qué consiste? Pues básicamente Google provee de fondos para que estudiantes de cualquier índole (universitarios, instituto, master, posgrado...) puedan participar de proyectos opensource recibiendo experiencia y dinero a cambio de echar el veranito.

GSoC2011Logo

Las dos propuestas por mi parte fueron para el proyecto libav. En particular propuse el soporte para H.264/SVC y la implementación nativa de Dirac, la primera fue desestimada por su complejidad y yo casi que me alegro porque no sé si hubiese estado a la altura. La segunda ha sido aceptada y por tanto paso a formar parte del grupo de afortunados que participarán este año en el GSoC. Mi mentor (que es como se denomina al encargado de tutelarme por parte del proyecto) será Luca Barbato. La verdad es que estoy ilusionado!

Intentaré mantener al día de mis peripecias en esto aunque todavía estoy pendiente de saber si mi beca de colaboración con la universidad es compatible con esto. En cualquier caso, el proyecto de dirac me lo he tomado como algo personal para mejorar, sobretodo profesionalmente.

viernes, 21 de enero de 2011

QoEMCS - Quality of Experience for Media Content Sharing

El año pasado asistí al workshop QoEMCS perteneciente a la conferencia EuroITV que se celebró en Tampere. La experiencia fue muy positiva y creo que los temas que se tocaron allí son muy interesantes. Todas las publicaciones del workshop del año pasado están disponibles on-line para su descarga en el siguiente enlace http://dcti.iscte.pt/events/qoemcs/qoemcs2010.htm .

All of us!

En el poster se puede ver claramente mi letruja! que horror!!! En cualquier caso, creo que lo que se expone en esta paginita es la dirección a seguir en temas de QoE.

Poster

También ha salido el call for papers para este año en Lisboa. Será el 31 de Marzo. CFP

lunes, 17 de enero de 2011

UMU en La Opinión

En "La opinión" de hoy aparece un reportaje sobre el grupo de Sistemas Inteligentes y Telemática de la UMU. La verdad es que hemos salido todos muy guapos. jejeje.
Grupo Sistemas Inteligentes y Telemática

http://www.laopiniondemurcia.es/comunidad/2011/01/17/superdotados-inteligencia-artificial/296724.html

viernes, 14 de enero de 2011

Revisando para MMEDIA2011

Hoy se cumplía el plazo para la entrega de las revisiones de los artículos de la conferencia MMEDIA 2011 de la cual soy parte del comité técnico. Realmente he llegado a esta situación un poco de rebote pero es de agradecer que piensen en uno para estas cosas. Inicialmente me ofrecieron ser revisor para MOBILITY 2011, contesté con un... "Eso no es mi campo" :p. Finalmente me ofrecieron ser revisor de MMEDIA 2011 y además con la suerte de haber recibido dos publicaciones que entran bastante en mi temática. Casualidades de la vida después he visto que había muchos integrantes de la Universidad de Klagenfurt en el comité, no sé si esto habrá tenido que ver :D.

La primera de la publicaciones hacía referencia a el uso de redes neuronales con back propagation para discernir la calidad de una transmisión de video acercándose a una valoración subjetiva. El tema era interesante aunque el artículo estaba regular.

La siguiente era una modificación a parámetros del decodificador H.264/AVC para ganar en velocidad de decodificación y reducir la necesidad de cálculo orientándose sobretodo a dispositivos móviles. Como solución se atacó al deblocking filter y a los vectores de movimiento. Por desgracia los datos eran escasos para decir si realmente su objetivo lo lograron porque los mejores resultados los obtenían al desactivar el filtro, claro, eso es fácil de hacer pero la calidad obtenida... no debe ser muy buena.

La verdad es que ha sido una buena experiencia y me ha hecho ponerme al día con temas que de otra forma quedan siempre un poco de lado.

La pena es no haber tenido tiempo para poder publicar algo en esta conferencia. Budapest tiene que ser bonito... jejejejeje.